Started by upstream project "pipeline-templates" build number 635
originally caused by:
Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-web-core/+/2025
Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on slave-openstack-gz1_1 (openstack) in workspace /home/jenkins/workspace/deploy-tf-ansible-os
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is disabled by the job configuration...
[WS-CLEANUP] Done
The recommended git tool is: git
No credentials specified
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/opensdn-io/tf-jenkins.git
> git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-jenkins # timeout=10
Fetching upstream changes from https://github.com/opensdn-io/tf-jenkins.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
> git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-jenkins.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/opensdn-io/tf-jenkins.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision 1bfc865eae1baf3809f6ffe4c76b6e38a3dc336f (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 1bfc865eae1baf3809f6ffe4c76b6e38a3dc336f # timeout=10
Commit message: "Merge "make build-24.1 non voting""
> git rev-list --no-walk 1bfc865eae1baf3809f6ffe4c76b6e38a3dc336f # timeout=10
The recommended git tool is: NONE
No credentials specified
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/opensdn-io/tf-devstack.git
> git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-devstack # timeout=10
Fetching upstream changes from https://github.com/opensdn-io/tf-devstack.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
> git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-devstack.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/opensdn-io/tf-devstack.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision d3c01d37713fef51920102f47298b4ba07ef0383 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10
Commit message: "Merge "fix issuue with nodetool command on rocky9""
> git rev-list --no-walk d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10
Copied 3 artifacts from "pipeline-templates" build number 635
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins16163337680731981048.sh
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-templates-635
++ PIPELINE_BUILD_TAG=jenkins-pipeline-templates-635
++ export SLAVE=openstack
++ SLAVE=openstack
++ export SLAVE_REGION=gz1
++ SLAVE_REGION=gz1
++ export LOGS_HOST=nexus.gz1.opensdn.io
++ LOGS_HOST=nexus.gz1.opensdn.io
++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
++ CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ export GERRIT_PIPELINE=templates
++ GERRIT_PIPELINE=templates
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=I746896435bb05e4929cebf99e43011d466dc7278
++ GERRIT_CHANGE_ID=I746896435bb05e4929cebf99e43011d466dc7278
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-web-core
++ GERRIT_PROJECT=opensdn-io/tf-web-core
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ desc='Pipeline: pipeline-templates-635 Random: 51930 Stream: ansible-os-rocky9'
+ desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635/ansible-os-rocky9'
+ echo 'DESCRIPTION Pipeline: pipeline-templates-635 Random: 51930 Stream: ansible-os-rocky9
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635/ansible-os-rocky9'
DESCRIPTION Pipeline: pipeline-templates-635 Random: 51930 Stream: ansible-os-rocky9
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635/ansible-os-rocky9
[description-setter] Description set: Pipeline: pipeline-templates-635 Random: 51930 Stream: ansible-os-rocky9
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635/ansible-os-rocky9'
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins3330650784188619777.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-templates-635
++ PIPELINE_BUILD_TAG=jenkins-pipeline-templates-635
++ export SLAVE=openstack
++ SLAVE=openstack
++ export SLAVE_REGION=gz1
++ SLAVE_REGION=gz1
++ export LOGS_HOST=nexus.gz1.opensdn.io
++ LOGS_HOST=nexus.gz1.opensdn.io
++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
++ CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ export GERRIT_PIPELINE=templates
++ GERRIT_PIPELINE=templates
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=I746896435bb05e4929cebf99e43011d466dc7278
++ GERRIT_CHANGE_ID=I746896435bb05e4929cebf99e43011d466dc7278
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-web-core
++ GERRIT_PROJECT=opensdn-io/tf-web-core
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-jenkins ./patchsets-info.json
+ ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-devstack ./patchsets-info.json
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins16278023468118944180.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-templates-635
++ PIPELINE_BUILD_TAG=jenkins-pipeline-templates-635
++ export SLAVE=openstack
++ SLAVE=openstack
++ export SLAVE_REGION=gz1
++ SLAVE_REGION=gz1
++ export LOGS_HOST=nexus.gz1.opensdn.io
++ LOGS_HOST=nexus.gz1.opensdn.io
++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2025/1/templates_635
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
++ CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_2_5-1
++ export GERRIT_PIPELINE=templates
++ GERRIT_PIPELINE=templates
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=I746896435bb05e4929cebf99e43011d466dc7278
++ GERRIT_CHANGE_ID=I746896435bb05e4929cebf99e43011d466dc7278
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-web-core
++ GERRIT_PROJECT=opensdn-io/tf-web-core
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ source ./src/opensdn-io/tf-jenkins/infra/openstack/definitions
++ export PROVIDER=openstack
++ PROVIDER=openstack
++ export OS_NETWORK=management
++ OS_NETWORK=management
++ export OS_DATA_NETWORK=data
++ OS_DATA_NETWORK=data
++ export OS_SG=default
++ OS_SG=default
++ export RESERVED_INSTANCES_COUNT=3
++ RESERVED_INSTANCES_COUNT=3
++ export RESERVED_CORES_COUNT=16
++ RESERVED_CORES_COUNT=16
++ export VM_BOOT_RETRIES=120
++ VM_BOOT_RETRIES=120
++ export VM_BOOT_DELAY=60
++ VM_BOOT_DELAY=60
++ export VOLUME_TYPE=ceph-ssd
++ VOLUME_TYPE=ceph-ssd
++ ENVIRONMENT_OS=rocky9
++ VM_TYPES=(['xsmall']='STD3-1-4' ['small']='STD3-2-8' ['medium']='STD3-4-16' ['large']='STD3-8-32')
++ declare -A VM_TYPES
++ VOLUME_SIZE=(['xsmall']='50' ['small']='50' ['medium']='80' ['large']='80')
++ declare -A VOLUME_SIZE
++ OS_IMAGES=(['CENTOS7']='prepared-centos7' ['CENTOS8']='prepared-centos8' ['UBUNTU20']='prepared-ubuntu20' ['UBUNTU22']='prepared-ubuntu22' ['UBUNTU24']='prepared-ubuntu24' ['ROCKY9']='prepared-rocky95')
++ declare -A OS_IMAGES
++ OS_IMAGE_USERS=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky')
++ declare -A OS_IMAGE_USERS
++ OS_IMAGES_UP=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky')
++ declare -A OS_IMAGES_UP
++ OS_IMAGES_DOWN=(['CENTOS7']='' ['CENTOS8']='' ['UBUNTU20']='' ['UBUNTU22']='' ['UBUNTU24']='' ['ROCKY9']='' ['ROCKY92']='' ['ROCKY95']='')
++ declare -A OS_IMAGES_DOWN
++ SSH_OPTIONS='-T -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PasswordAuthentication=no'
+ source /home/jenkins/workspace/deploy-tf-ansible-os/deps.deploy-tf-ansible-os.51930.env
++ export PROVIDER=openstack
++ PROVIDER=openstack
++ export ENVIRONMENT_OS=ubuntu22
++ ENVIRONMENT_OS=ubuntu22
++ export IMAGE=4744ca8a-852c-4f31-8cf0-48b97ea797c5
++ IMAGE=4744ca8a-852c-4f31-8cf0-48b97ea797c5
++ export IMAGE_SSH_USER=ubuntu
++ IMAGE_SSH_USER=ubuntu
++ export INSTANCE_IDS=7f9214b7-5816-4c34-89f9-0aacdc4c5c5c,
++ INSTANCE_IDS=7f9214b7-5816-4c34-89f9-0aacdc4c5c5c,
++ export instance_ip=10.0.0.254
++ instance_ip=10.0.0.254
++ export CONTROLLER_NODES=10.0.0.254,
++ CONTROLLER_NODES=10.0.0.254,
++ export ORCHESTRATOR=openstack
++ ORCHESTRATOR=openstack
++ export DEPLOYER=ansible
++ DEPLOYER=ansible
++ export JOB_LOGS_PATH=ansible-os-rocky9
++ JOB_LOGS_PATH=ansible-os-rocky9
+ source /home/jenkins/workspace/deploy-tf-ansible-os/vars.deploy-tf-ansible-os.51930.env
/tmp/jenkins16278023468118944180.sh: line 6: /home/jenkins/workspace/deploy-tf-ansible-os/vars.deploy-tf-ansible-os.51930.env: No such file or directory
+ /bin/true
+ export FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635/ansible-os-rocky9
+ FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2025/1/templates_635/ansible-os-rocky9
+ ./src/opensdn-io/tf-jenkins/jobs/devstack/ansible/deploy_tf.sh
INFO: Deploy ansible/ (deploy-tf-ansible-os)
Warning: Permanently added '10.0.0.254' (ECDSA) to the list of known hosts.
Warning: Permanently added '10.0.0.254' (ECDSA) to the list of known hosts.
INFO: =================== Wed Aug 20 16:02:30 UTC 2025 ===================
[there is no tf devenv configuration to load]
INFO: Applying stages machines k8s openstack tf wait
INFO: Running stage machines at Wed Aug 20 16:02:30 UTC 2025
Skipping stage machines because it's finished
INFO: Stage machines was run successfully Wed Aug 20 16:02:30 UTC 2025
INFO: Running stage k8s at Wed Aug 20 16:02:30 UTC 2025
Skipping stage k8s because it's finished
INFO: Stage k8s was run successfully Wed Aug 20 16:02:30 UTC 2025
INFO: Running stage openstack at Wed Aug 20 16:02:30 UTC 2025
Skipping stage openstack because it's finished
INFO: Stage openstack was run successfully Wed Aug 20 16:02:30 UTC 2025
INFO: Running stage tf at Wed Aug 20 16:02:30 UTC 2025
[WARNING]: log file at /var/log/ansible.log is not writeable and we cannot create it, aborting
Using /home/ubuntu/tf-ansible-deployer/ansible.cfg as config file
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [Create container host group and evaluate variables for opensdn] **********
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Expose instances] ********************************************************
ok: [localhost] => {"ansible_facts": {"instances": {"node_10_0_0_254": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}, "changed": false}
TASK [Expose global configuration] *********************************************
ok: [localhost] => {"ansible_facts": {"global_configuration": {"CONTAINER_REGISTRY": "nexus.gz1.opensdn.io:5101", "ENABLE_DESTROY": false, "K8S_YUM_REPO_URL": "http://tf-mirrors.gz1.opensdn.io/repos/yum7/latest/k8s/", "REGISTRY_PRIVATE_INSECURE": true}}, "changed": false}
TASK [Expose remote_locations configuration] ***********************************
ok: [localhost] => {"ansible_facts": {"remote_locations": {}}, "changed": false}
TASK [Expose provider config] **************************************************
ok: [localhost] => {"ansible_facts": {"provider_config": {"bms": {"domainsuffix": "", "ssh_private_key": "/home/ubuntu/.ssh/id_rsa", "ssh_pwd": null, "ssh_user": "ubuntu"}}}, "changed": false}
TASK [opensdn_deployer : create container host group] **************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/create_container_host_group.yml for localhost
TASK [opensdn_deployer : add bms container hosts] ******************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"add_host": {"groups": ["container_hosts"], "host_name": "10.0.0.254", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_254", "private_ip": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : add bms container hosts] ******************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"add_host": {"groups": ["container_hosts"], "host_name": "10.0.0.254", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_254", "private_ip": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : build node lists] *************************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/build_node_lists.yml for localhost
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"config_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add config nodes to the list] *************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"config_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"control_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add control nodes to the list] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"control_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"configdb_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add configdb nodes to the list] ***********************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"configdb_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analytics_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analytics nodes to the list] **********************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analytics_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analytics_snmp_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analytics snmp nodes to the list] *****************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analytics_snmp_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analytics_alarm_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analytics alarm nodes to the list] ****************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analytics_alarm_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analyticsdb_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analyticsdb nodes to the list] ********************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analyticsdb_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"webui_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add webui nodes to the list] **************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"webui_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"k8s_master_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"k8s_node_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"kubemanager_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"openstack_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add openstack nodes to the list] **********************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"openstack_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"vrouter_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add Vrouter Nodes to the list] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"vrouter_nodes_list": ["10.0.0.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"tsn_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set global variables] *********************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_global_variables.yml for localhost
TASK [opensdn_deployer : set container tag contrail version if defined] ********
ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "latest"}, "changed": false}
TASK [opensdn_deployer : add specific contrail version tag if defined] *********
ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "master-2_0_2_5-1"}, "changed": false}
TASK [opensdn_deployer : set registry if defined] ******************************
ok: [localhost] => {"ansible_facts": {"container_registry": "nexus.gz1.opensdn.io:5101"}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"roles": {}}, "changed": false}
TASK [opensdn_deployer : add roles if defined] *********************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"roles": {"node_10_0_0_254": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set vars for vanilla openstack deploy] ****************
ok: [localhost] => {"ansible_facts": {"analytics_api_port": 8081, "config_api_port": 8082, "keystone_auth_proto": "http", "keystone_auth_public_port": 5000, "opencontrail_api_server_ip": "10.0.0.254", "opencontrail_collector_ip": "10.0.0.254"}, "changed": false}
TASK [opensdn_deployer : set default variables] ********************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_default_variables.yml for localhost
TASK [opensdn_deployer : set orchestrator param] *******************************
ok: [localhost] => {"ansible_facts": {"default_configuration": {"VXLAN_VN_ID_MODE": "automatic"}}, "changed": false}
TASK [opensdn_deployer : set contrail variables] *******************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_contrail_variables.yml for localhost
TASK [opensdn_deployer : set stdin_open to true if it's not defined] ***********
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "VROUTER_ENCRYPTION": false}}, "changed": false}
TASK [opensdn_deployer : set tty to true if it's not defined] ******************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "changed": false}
TASK [opensdn_deployer : add nodes to contrail_configuration] ******************
ok: [localhost] => (item={'name': 'CONFIG_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIG_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONTROLLER_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIGDB_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_SNMP_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_ALARM_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICSDB_NODES", "nodes": ["10.0.0.254"]}}
ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.254"]}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "changed": false}
TASK [opensdn_deployer : check analyticsdb presence] ***************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "changed": false}
TASK [opensdn_deployer : check analytics alarm presence] ***********************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "changed": false}
TASK [opensdn_deployer : check analytics snmp presence] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_0_2_5-1", "CONTROLLER_NODES": "10.0.0.254", "CONTROL_NODES": "10.0.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : explicitly set OpenStack variables for Contrail] ******
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
TASK [opensdn_deployer : get the internal VIP from openstack node if haproxy is disabled] ***
ok: [localhost] => {"ansible_facts": {"openstack_internal_vip": "10.0.0.254"}, "changed": false}
TASK [opensdn_deployer : set OpenStack endpoints from kolla_config.kolla_globals] ***
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
TASK [opensdn_deployer : combine contrail configuration defaults with contrail configuration] ***
ok: [localhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
TASK [opensdn_deployer : build cluster node role lists] ************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/cluster_node_role_lists.yml for localhost
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"cluster_roles_dict": {}}, "changed": false}
TASK [opensdn_deployer : Calculate Existing Roles] *****************************
ok: [localhost] => {"ansible_facts": {"cluster_roles_dict": {"api_server_ip": null, "deleted_nodes_dict": {}, "node_roles_dict": {}}}, "changed": false}
TASK [opensdn_deployer : Calculate node roles Dict] ****************************
ok: [localhost] => {"ansible_facts": {"node_roles_dict": {}}, "changed": false}
TASK [opensdn_deployer : Calculate deleted role Dict] **************************
ok: [localhost] => {"ansible_facts": {"deleted_nodes_dict": {}}, "changed": false}
TASK [opensdn_deployer : set api_server as validated active API server] ********
ok: [localhost] => {"ansible_facts": {"api_server": ""}, "changed": false}
TASK [k8s_deployer : init master_ip list] **************************************
ok: [localhost] => {"ansible_facts": {"k8s_master_ip_list": []}, "changed": false}
TASK [k8s_deployer : init master_name list] ************************************
ok: [localhost] => {"ansible_facts": {"k8s_master_name_list": []}, "changed": false}
TASK [k8s_deployer : show master_ip list] **************************************
ok: [localhost] => {
"msg": []
}
TASK [k8s_deployer : show master_name list] ************************************
ok: [localhost] => {
"msg": []
}
PLAY [Remove opensdn from Deleted Nodes ( Deregister )] ************************
TASK [Gathering Facts] *********************************************************
ok: [10.0.0.254]
PLAY [Remove opensdn from Deleted Nodes ( Cleanup )] ***************************
skipping: no hosts matched
[WARNING]: Found variable using reserved name: roles
PLAY [Install opensdn] *********************************************************
TASK [Gathering Facts] *********************************************************
ok: [10.0.0.254]
TASK [opensdn : set instance data] *********************************************
ok: [10.0.0.254] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}, "changed": false}
TASK [opensdn : set instance name] *********************************************
ok: [10.0.0.254] => {"ansible_facts": {"instance_name": "node_10_0_0_254"}, "changed": false}
TASK [opensdn : run common tasks] **********************************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.254
TASK [opensdn : create /var/log/contrail] **************************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/var/log/contrail", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn : create /etc/contrail/compose] **********************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/compose", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn : populate common.env] *******************************************
changed: [10.0.0.254] => {"changed": true, "checksum": "186c0bcc7b37bbe4bd2bd4f8066659e861b0b947", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "d43c73fc6236f53bdfe771e0663e18ae", "mode": "0640", "owner": "root", "size": 1035, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705767.395454-52614-86540174122767/source", "state": "file", "uid": 0}
TASK [opensdn : populate defaults.env] *****************************************
changed: [10.0.0.254] => {"changed": true, "checksum": "d0ec2d02b27484bcf9f59ef41e7b993311d55516", "dest": "/etc/contrail/defaults.env", "gid": 0, "group": "root", "md5sum": "4a16eb30253a69c955c1d715f6fef5a6", "mode": "0644", "owner": "root", "size": 27, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705768.2657735-52667-49619921287133/source", "state": "file", "uid": 0}
TASK [create redis] ************************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_redis : update contrail redis image] *****************************
changed: [10.0.0.254] => (item=opensdn-external-redis) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_2_5-1", "delta": "0:00:01.498615", "end": "2025-08-20 16:02:50.958399", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-08-20 16:02:49.459784", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-redis\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n05e66035a9a6: Pulling fs layer\nb44a1eb2675b: Pulling fs layer\nefb29ec53f02: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Waiting\nefb29ec53f02: Verifying Checksum\nefb29ec53f02: Download complete\n05e66035a9a6: Verifying Checksum\n05e66035a9a6: Download complete\n05e66035a9a6: Pull complete\n4f4fb700ef54: Download complete\nb44a1eb2675b: Verifying Checksum\nb44a1eb2675b: Download complete\nb44a1eb2675b: Pull complete\nefb29ec53f02: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:88b0379a1445640fd74021c40f9408548a94ca9f7f3671cc60a95729a618f184\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-redis", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "05e66035a9a6: Pulling fs layer", "b44a1eb2675b: Pulling fs layer", "efb29ec53f02: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Waiting", "efb29ec53f02: Verifying Checksum", "efb29ec53f02: Download complete", "05e66035a9a6: Verifying Checksum", "05e66035a9a6: Download complete", "05e66035a9a6: Pull complete", "4f4fb700ef54: Download complete", "b44a1eb2675b: Verifying Checksum", "b44a1eb2675b: Download complete", "b44a1eb2675b: Pull complete", "efb29ec53f02: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:88b0379a1445640fd74021c40f9408548a94ca9f7f3671cc60a95729a618f184", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-external-stunnel) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_2_5-1", "delta": "0:00:01.102591", "end": "2025-08-20 16:02:52.508729", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-08-20 16:02:51.406138", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n648573cb17b1: Pulling fs layer\nff8950c8fe7c: Pulling fs layer\n648573cb17b1: Download complete\n648573cb17b1: Pull complete\nff8950c8fe7c: Verifying Checksum\nff8950c8fe7c: Download complete\nff8950c8fe7c: Pull complete\nDigest: sha256:4e1bede367c0d41d5032f2805fc28e1340147c1bc0dd51b3c4c811bde9572787\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "648573cb17b1: Pulling fs layer", "ff8950c8fe7c: Pulling fs layer", "648573cb17b1: Download complete", "648573cb17b1: Pull complete", "ff8950c8fe7c: Verifying Checksum", "ff8950c8fe7c: Download complete", "ff8950c8fe7c: Pull complete", "Digest: sha256:4e1bede367c0d41d5032f2805fc28e1340147c1bc0dd51b3c4c811bde9572787", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_2_5-1"]}
TASK [opensdn_redis : create /etc/contrail/redis] ******************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/redis", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_redis : Set variables for Stunnel] *******************************
ok: [10.0.0.254] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false}
TASK [opensdn_redis : create redis compose file] *******************************
changed: [10.0.0.254] => {"changed": true, "checksum": "f4fde50237825ef7673eb4038ea0a3ee36c9918b", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "be45c6dfd3f60764e78e267997d2cf1c", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705773.4884126-52928-71413847309775/source", "state": "file", "uid": 0}
TASK [opensdn_redis : start redis] *********************************************
changed: [10.0.0.254] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "87efeb7c6477c94e405cb6ac1699c5bfafff7ee26f3c34959fc282278d6035be", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "redis", "com.docker.compose.project.config_files": "/etc/contrail/redis/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/redis", "com.docker.compose.service": "redis", "com.docker.compose.version": "1.29.2", "description": "Contrail Redis server supports query engine.", "io.opensdn.container.name": "opensdn-external-redis", "io.opensdn.service": "redis", "name": "opensdn-external-redis", "release": "5.1.0", "summary": "Contrail Redis", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail config database] *****************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config_database : update contrail config_database image] *********
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:04.189285", "end": "2025-08-20 16:03:00.290412", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:02:56.101127", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\nf24e4fc3cbf1: Pulling fs layer\n84ca77e017bb: Pulling fs layer\n540578aa0f67: Pulling fs layer\n540578aa0f67: Download complete\n84ca77e017bb: Download complete\nf24e4fc3cbf1: Verifying Checksum\nf24e4fc3cbf1: Download complete\nf24e4fc3cbf1: Pull complete\n84ca77e017bb: Pull complete\n540578aa0f67: Pull complete\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "f24e4fc3cbf1: Pulling fs layer", "84ca77e017bb: Pulling fs layer", "540578aa0f67: Pulling fs layer", "540578aa0f67: Download complete", "84ca77e017bb: Download complete", "f24e4fc3cbf1: Verifying Checksum", "f24e4fc3cbf1: Download complete", "f24e4fc3cbf1: Pull complete", "84ca77e017bb: Pull complete", "540578aa0f67: Pull complete", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:02.181188", "end": "2025-08-20 16:03:02.901680", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:03:00.720492", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\nf24e4fc3cbf1: Already exists\n84ca77e017bb: Already exists\n30b58c83cefc: Pulling fs layer\n3bf6340fb5b3: Pulling fs layer\n3bf6340fb5b3: Download complete\n30b58c83cefc: Verifying Checksum\n30b58c83cefc: Download complete\n30b58c83cefc: Pull complete\n3bf6340fb5b3: Pull complete\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "f24e4fc3cbf1: Already exists", "84ca77e017bb: Already exists", "30b58c83cefc: Pulling fs layer", "3bf6340fb5b3: Pulling fs layer", "3bf6340fb5b3: Download complete", "30b58c83cefc: Verifying Checksum", "30b58c83cefc: Download complete", "30b58c83cefc: Pull complete", "3bf6340fb5b3: Pull complete", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "delta": "0:00:05.013695", "end": "2025-08-20 16:03:08.340222", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-08-20 16:03:03.326527", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\nd7bd98f2a840: Pulling fs layer\n84bcec380665: Pulling fs layer\nd7bd98f2a840: Verifying Checksum\nd7bd98f2a840: Download complete\nd7bd98f2a840: Pull complete\n84bcec380665: Verifying Checksum\n84bcec380665: Download complete\n84bcec380665: Pull complete\nDigest: sha256:947c13069e2d4062c2e3c21f352edfbf4c629190aafa0c2aae0564b1617e8bb1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "d7bd98f2a840: Pulling fs layer", "84bcec380665: Pulling fs layer", "d7bd98f2a840: Verifying Checksum", "d7bd98f2a840: Download complete", "d7bd98f2a840: Pull complete", "84bcec380665: Verifying Checksum", "84bcec380665: Download complete", "84bcec380665: Pull complete", "Digest: sha256:947c13069e2d4062c2e3c21f352edfbf4c629190aafa0c2aae0564b1617e8bb1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-external-zookeeper) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_2_5-1", "delta": "0:00:04.528576", "end": "2025-08-20 16:03:13.273093", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-08-20 16:03:08.744517", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-zookeeper\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n7dda6a1fd6a5: Pulling fs layer\n77e6b2f37692: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n7dda6a1fd6a5: Verifying Checksum\n7dda6a1fd6a5: Download complete\n7dda6a1fd6a5: Pull complete\n77e6b2f37692: Verifying Checksum\n77e6b2f37692: Download complete\n77e6b2f37692: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:d6f8430084be79f0d21a727749e7f7d0e056bf0f0b14f4e0c9e5039fff117a48\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-zookeeper", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "7dda6a1fd6a5: Pulling fs layer", "77e6b2f37692: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "7dda6a1fd6a5: Verifying Checksum", "7dda6a1fd6a5: Download complete", "7dda6a1fd6a5: Pull complete", "77e6b2f37692: Verifying Checksum", "77e6b2f37692: Download complete", "77e6b2f37692: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:d6f8430084be79f0d21a727749e7f7d0e056bf0f0b14f4e0c9e5039fff117a48", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-external-rabbitmq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_2_5-1", "delta": "0:00:04.573444", "end": "2025-08-20 16:03:18.276332", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-08-20 16:03:13.702888", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-rabbitmq\n675920708c8b: Pulling fs layer\ne08fdafa88ce: Pulling fs layer\n92e5ca28c20e: Pulling fs layer\ne7add638ac41: Pulling fs layer\nc47c3bedb477: Pulling fs layer\n2d0a461f4591: Pulling fs layer\n027715895e8b: Pulling fs layer\n78c707bc7c70: Pulling fs layer\n6e8aae77390d: Pulling fs layer\na49b9cb023b6: Pulling fs layer\n0de440505030: Pulling fs layer\nf9636c55c5d7: Pulling fs layer\nee96f085fc51: Pulling fs layer\n0baec0501b27: Pulling fs layer\ne7add638ac41: Waiting\nc47c3bedb477: Waiting\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\nee96f085fc51: Waiting\n0baec0501b27: Waiting\na49b9cb023b6: Waiting\n0de440505030: Waiting\nf9636c55c5d7: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\n2d0a461f4591: Verifying Checksum\n2d0a461f4591: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n0de440505030: Verifying Checksum\n0de440505030: Download complete\nf9636c55c5d7: Verifying Checksum\nf9636c55c5d7: Download complete\nee96f085fc51: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\n675920708c8b: Pull complete\n0baec0501b27: Verifying Checksum\n0baec0501b27: Download complete\ne08fdafa88ce: Pull complete\n92e5ca28c20e: Pull complete\ne7add638ac41: Pull complete\nc47c3bedb477: Pull complete\n2d0a461f4591: Pull complete\n027715895e8b: Pull complete\n78c707bc7c70: Pull complete\n6e8aae77390d: Pull complete\na49b9cb023b6: Pull complete\n0de440505030: Pull complete\nf9636c55c5d7: Pull complete\nee96f085fc51: Pull complete\n0baec0501b27: Pull complete\nDigest: sha256:66561c07e0436ff3d38c6ea5a799af46000ce1171776ab3d20f8060c93bd2e53\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-rabbitmq", "675920708c8b: Pulling fs layer", "e08fdafa88ce: Pulling fs layer", "92e5ca28c20e: Pulling fs layer", "e7add638ac41: Pulling fs layer", "c47c3bedb477: Pulling fs layer", "2d0a461f4591: Pulling fs layer", "027715895e8b: Pulling fs layer", "78c707bc7c70: Pulling fs layer", "6e8aae77390d: Pulling fs layer", "a49b9cb023b6: Pulling fs layer", "0de440505030: Pulling fs layer", "f9636c55c5d7: Pulling fs layer", "ee96f085fc51: Pulling fs layer", "0baec0501b27: Pulling fs layer", "e7add638ac41: Waiting", "c47c3bedb477: Waiting", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "ee96f085fc51: Waiting", "0baec0501b27: Waiting", "a49b9cb023b6: Waiting", "0de440505030: Waiting", "f9636c55c5d7: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "2d0a461f4591: Verifying Checksum", "2d0a461f4591: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "0de440505030: Verifying Checksum", "0de440505030: Download complete", "f9636c55c5d7: Verifying Checksum", "f9636c55c5d7: Download complete", "ee96f085fc51: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "675920708c8b: Pull complete", "0baec0501b27: Verifying Checksum", "0baec0501b27: Download complete", "e08fdafa88ce: Pull complete", "92e5ca28c20e: Pull complete", "e7add638ac41: Pull complete", "c47c3bedb477: Pull complete", "2d0a461f4591: Pull complete", "027715895e8b: Pull complete", "78c707bc7c70: Pull complete", "6e8aae77390d: Pull complete", "a49b9cb023b6: Pull complete", "0de440505030: Pull complete", "f9636c55c5d7: Pull complete", "ee96f085fc51: Pull complete", "0baec0501b27: Pull complete", "Digest: sha256:66561c07e0436ff3d38c6ea5a799af46000ce1171776ab3d20f8060c93bd2e53", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.252273", "end": "2025-08-20 16:03:18.941927", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:03:18.689654", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\nf24e4fc3cbf1: Already exists\n84ca77e017bb: Already exists\ne135adacf752: Pulling fs layer\ne135adacf752: Verifying Checksum\ne135adacf752: Download complete\ne135adacf752: Pull complete\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "f24e4fc3cbf1: Already exists", "84ca77e017bb: Already exists", "e135adacf752: Pulling fs layer", "e135adacf752: Verifying Checksum", "e135adacf752: Download complete", "e135adacf752: Pull complete", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_config_database : create /etc/contrail/config_database] **********
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/config_database", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_config_database : set cassandra seeds to CONFIGDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"cassandra_seeds": "10.0.0.254"}, "changed": false}
TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.254"}, "changed": false}
TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.254"}, "changed": false}
TASK [opensdn_config_database : Set variables for reaper tool] *****************
ok: [10.0.0.254] => {"ansible_facts": {"reaper_enabled": "contrail_configuration.CASSANDRA_REAPER_ENABLED | default(false)"}, "changed": false}
TASK [opensdn_config_database : get /etc/contrail/common_config_database.env stat] ***
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] ***
changed: [10.0.0.254] => {"changed": true, "dest": "/etc/contrail/common_config_database.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config_database : populate global common_config_database.env] ****
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_config_database : populate pod specific common_config_database.env] ***
fatal: [10.0.0.254]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_config_database : create contrail config database compose file] ***
changed: [10.0.0.254] => {"changed": true, "checksum": "f01aa6b7968b30e33a703bfd6ad10a20dbcb0dc6", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "63807a6ee2a6edd31ee91da352495e6c", "mode": "0644", "owner": "root", "size": 4022, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705817.0580683-55772-256092118458409/source", "state": "file", "uid": 0}
TASK [opensdn_config_database : start contrail config database] ****************
changed: [10.0.0.254] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "95d5684af488579b9da11dd57166cbc46844fb6cabef90f6791c448c4ff349c6", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "7749d8b25e4c5ddab2bb85a1136418c3c091d6ffbb9cb81c7d584466bd309a6b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "ecf1285654bea2a1076a26ce267d223bd3c974caef6b11d0768da1500d748f58", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "cbcc14ec3a2f3418c92a4544f5df5a9e988284469e01f8535aadf1681adbd7ca", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "rabbitmq", "com.docker.compose.version": "1.29.2", "description": "Contrail Rabbitmq is the message bus that different Contrail processes subscribe to.", "io.opensdn.container.name": "opensdn-external-rabbitmq", "io.opensdn.service": "rabbitmq", "name": "opensdn-external-rabbitmq", "release": "5.1.0", "summary": "Contrail RabbitMQ", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "d924689189e3bcd80a64d93e21c7112fc2c1638abc9593eb61a3ce738c41281c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "zookeeper", "com.docker.compose.version": "1.29.2", "description": "Contrail uses the Apache ZooKeeper process to maintain synchronization of Contrail configuration, analytics and database running on the different instances of controllers.", "io.opensdn.container.name": "opensdn-external-zookeeper", "io.opensdn.service": "zookeeper", "name": "opensdn-external-zookeeper", "release": "5.1.0", "summary": "Contrail Zookeeper", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail config] **************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config : update contrail config image] ***************************
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.115662", "end": "2025-08-20 16:03:41.679782", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:03:41.564120", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.104524", "end": "2025-08-20 16:03:42.228074", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:03:42.123550", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_2_5-1", "delta": "0:00:08.311792", "end": "2025-08-20 16:03:50.959190", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-08-20 16:03:42.647398", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n12a2e9009455: Pulling fs layer\n0a0408c9a7cc: Pulling fs layer\n1ca7aff5f2e6: Pulling fs layer\n5d8c33570e79: Pulling fs layer\nfb666d3e2f2e: Pulling fs layer\n3f6054f022f0: Pulling fs layer\n2b24f3205277: Pulling fs layer\na233bdae83bd: Pulling fs layer\nf7f1b72c76c8: Pulling fs layer\n798da488675b: Pulling fs layer\n5d8c33570e79: Waiting\nfb666d3e2f2e: Waiting\n3f6054f022f0: Waiting\n2b24f3205277: Waiting\na233bdae83bd: Waiting\nf7f1b72c76c8: Waiting\n798da488675b: Waiting\n1ca7aff5f2e6: Verifying Checksum\n1ca7aff5f2e6: Download complete\n0a0408c9a7cc: Download complete\n12a2e9009455: Download complete\n12a2e9009455: Pull complete\n0a0408c9a7cc: Pull complete\nfb666d3e2f2e: Download complete\n5d8c33570e79: Verifying Checksum\n5d8c33570e79: Download complete\n1ca7aff5f2e6: Pull complete\na233bdae83bd: Verifying Checksum\na233bdae83bd: Download complete\n5d8c33570e79: Pull complete\nf7f1b72c76c8: Verifying Checksum\nf7f1b72c76c8: Download complete\nfb666d3e2f2e: Pull complete\n3f6054f022f0: Verifying Checksum\n3f6054f022f0: Download complete\n798da488675b: Verifying Checksum\n798da488675b: Download complete\n2b24f3205277: Download complete\n3f6054f022f0: Pull complete\n2b24f3205277: Pull complete\na233bdae83bd: Pull complete\nf7f1b72c76c8: Pull complete\n798da488675b: Pull complete\nDigest: sha256:8a2f49de44d7d9706fa0a0074137203e42144ae223b60779586ec121e3e1b550\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "12a2e9009455: Pulling fs layer", "0a0408c9a7cc: Pulling fs layer", "1ca7aff5f2e6: Pulling fs layer", "5d8c33570e79: Pulling fs layer", "fb666d3e2f2e: Pulling fs layer", "3f6054f022f0: Pulling fs layer", "2b24f3205277: Pulling fs layer", "a233bdae83bd: Pulling fs layer", "f7f1b72c76c8: Pulling fs layer", "798da488675b: Pulling fs layer", "5d8c33570e79: Waiting", "fb666d3e2f2e: Waiting", "3f6054f022f0: Waiting", "2b24f3205277: Waiting", "a233bdae83bd: Waiting", "f7f1b72c76c8: Waiting", "798da488675b: Waiting", "1ca7aff5f2e6: Verifying Checksum", "1ca7aff5f2e6: Download complete", "0a0408c9a7cc: Download complete", "12a2e9009455: Download complete", "12a2e9009455: Pull complete", "0a0408c9a7cc: Pull complete", "fb666d3e2f2e: Download complete", "5d8c33570e79: Verifying Checksum", "5d8c33570e79: Download complete", "1ca7aff5f2e6: Pull complete", "a233bdae83bd: Verifying Checksum", "a233bdae83bd: Download complete", "5d8c33570e79: Pull complete", "f7f1b72c76c8: Verifying Checksum", "f7f1b72c76c8: Download complete", "fb666d3e2f2e: Pull complete", "3f6054f022f0: Verifying Checksum", "3f6054f022f0: Download complete", "798da488675b: Verifying Checksum", "798da488675b: Download complete", "2b24f3205277: Download complete", "3f6054f022f0: Pull complete", "2b24f3205277: Pull complete", "a233bdae83bd: Pull complete", "f7f1b72c76c8: Pull complete", "798da488675b: Pull complete", "Digest: sha256:8a2f49de44d7d9706fa0a0074137203e42144ae223b60779586ec121e3e1b550", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-svcmonitor) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_2_5-1", "delta": "0:00:00.478883", "end": "2025-08-20 16:03:51.843600", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-08-20 16:03:51.364717", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n637622e62ec5: Pulling fs layer\n6da3c8622c08: Pulling fs layer\n637622e62ec5: Verifying Checksum\n637622e62ec5: Download complete\n637622e62ec5: Pull complete\n6da3c8622c08: Verifying Checksum\n6da3c8622c08: Download complete\n6da3c8622c08: Pull complete\nDigest: sha256:f14e874e8adf2760858e797d08bce0e705f7d203b1ba6476cb271448a6e80640\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "637622e62ec5: Pulling fs layer", "6da3c8622c08: Pulling fs layer", "637622e62ec5: Verifying Checksum", "637622e62ec5: Download complete", "637622e62ec5: Pull complete", "6da3c8622c08: Verifying Checksum", "6da3c8622c08: Download complete", "6da3c8622c08: Pull complete", "Digest: sha256:f14e874e8adf2760858e797d08bce0e705f7d203b1ba6476cb271448a6e80640", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-schema) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_2_5-1", "delta": "0:00:00.316029", "end": "2025-08-20 16:03:52.579967", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-08-20 16:03:52.263938", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n2b5948ebe587: Pulling fs layer\n1c552ed8df5e: Pulling fs layer\n1c552ed8df5e: Download complete\n2b5948ebe587: Verifying Checksum\n2b5948ebe587: Download complete\n2b5948ebe587: Pull complete\n1c552ed8df5e: Pull complete\nDigest: sha256:1012360f66ec970834aa37d5f43b22c9fee4cafee1f09964ddfbe6824bb7b2aa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "2b5948ebe587: Pulling fs layer", "1c552ed8df5e: Pulling fs layer", "1c552ed8df5e: Download complete", "2b5948ebe587: Verifying Checksum", "2b5948ebe587: Download complete", "2b5948ebe587: Pull complete", "1c552ed8df5e: Pull complete", "Digest: sha256:1012360f66ec970834aa37d5f43b22c9fee4cafee1f09964ddfbe6824bb7b2aa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-devicemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_2_5-1", "delta": "0:00:06.555735", "end": "2025-08-20 16:03:59.544051", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:03:52.988316", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n1888135af30d: Pulling fs layer\n7ffa45a50c40: Pulling fs layer\n7ffa45a50c40: Verifying Checksum\n7ffa45a50c40: Download complete\n1888135af30d: Verifying Checksum\n1888135af30d: Download complete\n1888135af30d: Pull complete\n7ffa45a50c40: Pull complete\nDigest: sha256:2db6eeeb30af03f904b24f92bf25aa11bd190add291c0f1b5f9fd8fcfe810d91\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "1888135af30d: Pulling fs layer", "7ffa45a50c40: Pulling fs layer", "7ffa45a50c40: Verifying Checksum", "7ffa45a50c40: Download complete", "1888135af30d: Verifying Checksum", "1888135af30d: Download complete", "1888135af30d: Pull complete", "7ffa45a50c40: Pull complete", "Digest: sha256:2db6eeeb30af03f904b24f92bf25aa11bd190add291c0f1b5f9fd8fcfe810d91", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-dnsmasq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_2_5-1", "delta": "0:00:00.507039", "end": "2025-08-20 16:04:00.450048", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-08-20 16:03:59.943009", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\nf24e4fc3cbf1: Already exists\n84ca77e017bb: Already exists\nde6eefd11858: Pulling fs layer\nc4c08c3b83dc: Pulling fs layer\ncb12f076dfe9: Pulling fs layer\n8ec78e08f03d: Pulling fs layer\n8ec78e08f03d: Waiting\nde6eefd11858: Verifying Checksum\nde6eefd11858: Download complete\nc4c08c3b83dc: Verifying Checksum\nc4c08c3b83dc: Download complete\ncb12f076dfe9: Verifying Checksum\ncb12f076dfe9: Download complete\nde6eefd11858: Pull complete\nc4c08c3b83dc: Pull complete\n8ec78e08f03d: Verifying Checksum\n8ec78e08f03d: Download complete\ncb12f076dfe9: Pull complete\n8ec78e08f03d: Pull complete\nDigest: sha256:fc9864faac1c81bc5fd4c37238d8f8fe7d390d2ad792dd47b7d6aab9e5a7c964\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "f24e4fc3cbf1: Already exists", "84ca77e017bb: Already exists", "de6eefd11858: Pulling fs layer", "c4c08c3b83dc: Pulling fs layer", "cb12f076dfe9: Pulling fs layer", "8ec78e08f03d: Pulling fs layer", "8ec78e08f03d: Waiting", "de6eefd11858: Verifying Checksum", "de6eefd11858: Download complete", "c4c08c3b83dc: Verifying Checksum", "c4c08c3b83dc: Download complete", "cb12f076dfe9: Verifying Checksum", "cb12f076dfe9: Download complete", "de6eefd11858: Pull complete", "c4c08c3b83dc: Pull complete", "8ec78e08f03d: Verifying Checksum", "8ec78e08f03d: Download complete", "cb12f076dfe9: Pull complete", "8ec78e08f03d: Pull complete", "Digest: sha256:fc9864faac1c81bc5fd4c37238d8f8fe7d390d2ad792dd47b7d6aab9e5a7c964", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.107999", "end": "2025-08-20 16:04:00.951004", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:04:00.843005", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_config : create /etc/contrail/config] ****************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/config", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_config : get /etc/contrail/common_config.env stat] ***************
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config : create /etc/contrail/common_config.env] *****************
changed: [10.0.0.254] => {"changed": true, "dest": "/etc/contrail/common_config.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config : populate global common_config.env] **********************
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_config : populate pod specific common_config.env] ****************
fatal: [10.0.0.254]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_config : initialize use_external_tftp variable] ******************
ok: [10.0.0.254] => {"ansible_facts": {"use_external_tftp": false}, "changed": false}
TASK [opensdn_config : check if ironic_pxe is deployed on node] ****************
fatal: [10.0.0.254]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.022407", "end": "2025-08-20 16:04:17.814239", "msg": "non-zero return code", "rc": 1, "start": "2025-08-20 16:04:17.791832", "stderr": "Error: No such object: ironic_pxe", "stderr_lines": ["Error: No such object: ironic_pxe"], "stdout": "[]", "stdout_lines": ["[]"]}
...ignoring
TASK [opensdn_config : create contrail config compose file] ********************
changed: [10.0.0.254] => {"changed": true, "checksum": "c02df7a57f3871376ce35ce1c1698d754daf12d4", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "e83016524344881a16f515fbffdea9f4", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705858.141538-61221-88978163368508/source", "state": "file", "uid": 0}
TASK [opensdn_config : start contrail config] **********************************
changed: [10.0.0.254] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "a692d9ed81755c44a67c973f2c3a3aeb999e5c7cce2e23d609d79eb9a33f0d90", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Controller Configuration API provides a REST API to an orchestration system.", "io.opensdn.container.name": "opensdn-controller-config-api", "io.opensdn.pod": "config", "io.opensdn.service": "api", "name": "opensdn-controller-config-api", "release": "5.1.0", "summary": "Contrail Controller Configuration API", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "0ed7e85e207adda43ea07f4be868f75e0c737c60512c4d63bee366743ff16c1e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "devicemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Device Manager is used to manage network devices in the Contrail system.", "io.opensdn.container.name": "opensdn-controller-config-devicemgr", "io.opensdn.pod": "config", "io.opensdn.service": "device-manager", "name": "opensdn-controller-config-devicemgr", "release": "5.1.0", "summary": "Contrail Device Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "4c7c32fea075cbffe7b7354fe49107278a43008228249189930cc94e047908e5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "dnsmasq", "com.docker.compose.version": "1.29.2", "description": "Contrail Dnsmasq provides network infrastructure: DNS, DHCP, router advertisement and network boot.", "io.opensdn.container.name": "opensdn-controller-config-dnsmasq", "io.opensdn.pod": "config", "io.opensdn.service": "dnsmasq", "name": "opensdn-controller-config-dnsmasq", "release": "5.1.0", "summary": "Contrail Dnsmasq", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "46a5a7ecd435f58f56b290bd47d5a5692dc7f4377b6af2c8eae49807e0991bc2", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "2f4620f5934d4ded5d4544a6caf2d959f249d3594315c43d307f3e6372464cd5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "f65b3e59e845867512f915ec77890515e59a1343bf876579fa84ebc282c37234", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "schema", "com.docker.compose.version": "1.29.2", "description": "Contrail Schema Transformer compiles the high level, intent based data model into a low level configuration data model.", "io.opensdn.container.name": "opensdn-controller-config-schema", "io.opensdn.pod": "config", "io.opensdn.service": "schema", "name": "opensdn-controller-config-schema", "release": "5.1.0", "summary": "Contrail VNC Configuration Schema Transformer", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "bf6e427a451ddfbe48c8965ae96a48133a9f0f5b11891c5b8f0058b11458e55b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "svcmonitor", "com.docker.compose.version": "1.29.2", "description": "Contrail Service Monitor brings up and monitors any service instance that are spawned.", "io.opensdn.container.name": "opensdn-controller-config-svcmonitor", "io.opensdn.pod": "config", "io.opensdn.service": "svc-monitor", "name": "opensdn-controller-config-svcmonitor", "release": "5.1.0", "summary": "Contrail Service Monitor", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail webui] ***************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_webui : update contrail webui image] *****************************
changed: [10.0.0.254] => (item=opensdn-controller-webui-web) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_2_5-1", "delta": "0:00:06.870957", "end": "2025-08-20 16:04:29.933367", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-08-20 16:04:23.062410", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n05624b41117a: Pulling fs layer\ndee6fd32bb07: Pulling fs layer\nafd6be25308a: Pulling fs layer\n64a3bbb26fe0: Pulling fs layer\na47ef037fbc5: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n64a3bbb26fe0: Waiting\na47ef037fbc5: Waiting\n4f4fb700ef54: Waiting\ndee6fd32bb07: Verifying Checksum\ndee6fd32bb07: Download complete\nafd6be25308a: Verifying Checksum\nafd6be25308a: Download complete\n64a3bbb26fe0: Verifying Checksum\n64a3bbb26fe0: Download complete\na47ef037fbc5: Verifying Checksum\na47ef037fbc5: Download complete\n4f4fb700ef54: Download complete\n05624b41117a: Verifying Checksum\n05624b41117a: Download complete\n05624b41117a: Pull complete\ndee6fd32bb07: Pull complete\nafd6be25308a: Pull complete\n64a3bbb26fe0: Pull complete\na47ef037fbc5: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:bd8c8c4e97eac4a785cf2409057ec4f80c04a3b8a7861956e16cc20c44771705\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "05624b41117a: Pulling fs layer", "dee6fd32bb07: Pulling fs layer", "afd6be25308a: Pulling fs layer", "64a3bbb26fe0: Pulling fs layer", "a47ef037fbc5: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "64a3bbb26fe0: Waiting", "a47ef037fbc5: Waiting", "4f4fb700ef54: Waiting", "dee6fd32bb07: Verifying Checksum", "dee6fd32bb07: Download complete", "afd6be25308a: Verifying Checksum", "afd6be25308a: Download complete", "64a3bbb26fe0: Verifying Checksum", "64a3bbb26fe0: Download complete", "a47ef037fbc5: Verifying Checksum", "a47ef037fbc5: Download complete", "4f4fb700ef54: Download complete", "05624b41117a: Verifying Checksum", "05624b41117a: Download complete", "05624b41117a: Pull complete", "dee6fd32bb07: Pull complete", "afd6be25308a: Pull complete", "64a3bbb26fe0: Pull complete", "a47ef037fbc5: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:bd8c8c4e97eac4a785cf2409057ec4f80c04a3b8a7861956e16cc20c44771705", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-webui-job) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_2_5-1", "delta": "0:00:00.227624", "end": "2025-08-20 16:04:30.563004", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-08-20 16:04:30.335380", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n05624b41117a: Already exists\ndee6fd32bb07: Already exists\nafd6be25308a: Already exists\n64a3bbb26fe0: Already exists\na47ef037fbc5: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:a30b13d5bafe0cfe874137292e5024c90dedb99a0e502aeb786c69ce39de390f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "05624b41117a: Already exists", "dee6fd32bb07: Already exists", "afd6be25308a: Already exists", "64a3bbb26fe0: Already exists", "a47ef037fbc5: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:a30b13d5bafe0cfe874137292e5024c90dedb99a0e502aeb786c69ce39de390f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_2_5-1"]}
TASK [opensdn_webui : create /etc/contrail/webui] ******************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/webui", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_webui : get /etc/contrail/common_webui.env stat] *****************
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_webui : create /etc/contrail/common_webui.env] *******************
changed: [10.0.0.254] => {"changed": true, "dest": "/etc/contrail/common_webui.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_webui : populate cluster wide common_webui.env] ******************
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_webui : populate pod specific common_webui.env] ******************
fatal: [10.0.0.254]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_webui : create contrail webui compose file] **********************
changed: [10.0.0.254] => {"changed": true, "checksum": "79a55abfd1bfa1d86bc97efca831b60236c9a310", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "88fafc672092183d0dfab82f1a6f31db", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705887.2914681-65060-177834509587694/source", "state": "file", "uid": 0}
TASK [opensdn_webui : start contrail webui] ************************************
changed: [10.0.0.254] => {"changed": true, "services": {"job": {"webui_job_1": {"cmd": ["/usr/bin/node", "jobServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "54c681a539fbeb4aa5deabc724ddea36432644820d54a528dc9c8dfc27656903", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "job", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI Job middleware handles jobs from the WebUI service and contacts other Contrail services to execute them.", "io.opensdn.container.name": "opensdn-controller-webui-job", "io.opensdn.pod": "webui", "io.opensdn.service": "job", "name": "opensdn-controller-webui-job", "release": "5.1.0", "summary": "Contrail WEB UI Job", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "web": {"webui_web_1": {"cmd": ["/usr/bin/node", "webServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "5aa76892f604649bdf07bc4ba2001448ed9cb09952c47a981d2f5627e7b9c064", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "web", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI provides the Web UI service to end user.", "io.opensdn.container.name": "opensdn-controller-webui-web", "io.opensdn.pod": "webui", "io.opensdn.service": "web", "name": "opensdn-controller-webui-web", "release": "5.1.0", "summary": "Contrail WEB UI", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail control] *************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_control : update contrail control image] *************************
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.106796", "end": "2025-08-20 16:04:51.003227", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:04:50.896431", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.102703", "end": "2025-08-20 16:04:51.514837", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:04:51.412134", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-control-control) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_2_5-1", "delta": "0:00:05.602162", "end": "2025-08-20 16:04:57.532145", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-08-20 16:04:51.929983", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n98fc9486c34f: Pulling fs layer\necedd18a9f43: Pulling fs layer\n8ecbc8a3c7de: Pulling fs layer\necedd18a9f43: Verifying Checksum\necedd18a9f43: Download complete\n8ecbc8a3c7de: Verifying Checksum\n8ecbc8a3c7de: Download complete\n98fc9486c34f: Download complete\n98fc9486c34f: Pull complete\necedd18a9f43: Pull complete\n8ecbc8a3c7de: Pull complete\nDigest: sha256:08784db265d0defdea8aaa7e1138e02f759bbc932ca65b20c175b78e9d1bece9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "98fc9486c34f: Pulling fs layer", "ecedd18a9f43: Pulling fs layer", "8ecbc8a3c7de: Pulling fs layer", "ecedd18a9f43: Verifying Checksum", "ecedd18a9f43: Download complete", "8ecbc8a3c7de: Verifying Checksum", "8ecbc8a3c7de: Download complete", "98fc9486c34f: Download complete", "98fc9486c34f: Pull complete", "ecedd18a9f43: Pull complete", "8ecbc8a3c7de: Pull complete", "Digest: sha256:08784db265d0defdea8aaa7e1138e02f759bbc932ca65b20c175b78e9d1bece9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-control-named) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_2_5-1", "delta": "0:00:00.269775", "end": "2025-08-20 16:04:58.229554", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-08-20 16:04:57.959779", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n98fc9486c34f: Already exists\nf6e7bb47eb22: Pulling fs layer\nf6e7bb47eb22: Download complete\nf6e7bb47eb22: Pull complete\nDigest: sha256:7f9cf848852749bb3b0b096824f9d3245a4e71d635d41ea3afb3a0dc483f8635\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "98fc9486c34f: Already exists", "f6e7bb47eb22: Pulling fs layer", "f6e7bb47eb22: Download complete", "f6e7bb47eb22: Pull complete", "Digest: sha256:7f9cf848852749bb3b0b096824f9d3245a4e71d635d41ea3afb3a0dc483f8635", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-controller-control-dns) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_2_5-1", "delta": "0:00:00.253223", "end": "2025-08-20 16:04:58.883556", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-08-20 16:04:58.630333", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n98fc9486c34f: Already exists\n50ab14cbe980: Pulling fs layer\n50ab14cbe980: Verifying Checksum\n50ab14cbe980: Download complete\n50ab14cbe980: Pull complete\nDigest: sha256:302568a068031386537b025ef0240ef01c93366cfd88b770f97efdb2345356dd\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "98fc9486c34f: Already exists", "50ab14cbe980: Pulling fs layer", "50ab14cbe980: Verifying Checksum", "50ab14cbe980: Download complete", "50ab14cbe980: Pull complete", "Digest: sha256:302568a068031386537b025ef0240ef01c93366cfd88b770f97efdb2345356dd", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.095663", "end": "2025-08-20 16:04:59.400354", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:04:59.304691", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_control : create /etc/contrail/control] **************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/control", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_control : get /etc/contrail/common_control.env stat] *************
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_control : create /etc/contrail/common_control.env] ***************
changed: [10.0.0.254] => {"changed": true, "dest": "/etc/contrail/common_control.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_control : populate global common_control.env] ********************
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_control : populate pod specific common_control.env] **************
fatal: [10.0.0.254]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_control : create contrail control compose file] ******************
changed: [10.0.0.254] => {"changed": true, "checksum": "802260326a7d2784b24c9d71e7a568ccaa309eee", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "a303e693dba01c5327ac2010b200630f", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705916.1597059-68476-198831240246707/source", "state": "file", "uid": 0}
TASK [opensdn_control : start contrail control] ********************************
changed: [10.0.0.254] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "37c52063c3c1b15ed81785e9cbd1108f6f5dec426781567362ab3497503640d7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "control", "com.docker.compose.version": "1.29.2", "description": "Contrail Control is xmpp/bgp based routing engine for Contrail.", "io.opensdn.container.name": "opensdn-controller-control-control", "io.opensdn.pod": "control", "io.opensdn.service": "control", "name": "opensdn-controller-control-control", "release": "5.1.0", "summary": "Contrail Controller", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "61fdafad1c87cc144695edeee107250fdd7962cd2f7547881569bbbdd0cb9b3d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "dns", "com.docker.compose.version": "1.29.2", "description": "Contrail DNS provides DNS service to the VMs spawned on compute nodes.", "io.opensdn.container.name": "opensdn-controller-control-dns", "io.opensdn.pod": "control", "io.opensdn.service": "dns", "name": "opensdn-controller-control-dns", "release": "5.1.0", "summary": "Contrail DNS", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "d95067b98699ac3527409823b2a77842f37cf8b3c8debf2ca9905e04f50ef3fa", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "named", "com.docker.compose.version": "1.29.2", "description": "Contrail Named complements Contrail DNS service.", "io.opensdn.container.name": "opensdn-controller-control-named", "io.opensdn.pod": "control", "io.opensdn.service": "named", "name": "opensdn-controller-control-named", "release": "5.1.0", "summary": "Contrail Named", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "e99c64f37d1c5aa37cf85671d891225ec9097a719ce6eebd4f5692c4107a4923", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "63905c96b25d5f85c2b3a5683a208dfe742eb6da00fdaa699f5cc6e7abbf8b80", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics database] **************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_database : update contrail analytics database image] ***
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.113460", "end": "2025-08-20 16:05:20.334174", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:05:20.220714", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.105077", "end": "2025-08-20 16:05:20.864356", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:05:20.759279", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-analytics-query-engine) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_2_5-1", "delta": "0:00:05.367742", "end": "2025-08-20 16:05:26.645456", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-08-20 16:05:21.277714", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n787b4539f124: Pulling fs layer\n6b4d3e1519ef: Pulling fs layer\n787b4539f124: Verifying Checksum\n787b4539f124: Download complete\n787b4539f124: Pull complete\n6b4d3e1519ef: Verifying Checksum\n6b4d3e1519ef: Download complete\n6b4d3e1519ef: Pull complete\nDigest: sha256:3322774fcc1fd8a9f10eaa92932c338f3de01991fc8abe8088bf419f41d47c8a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "787b4539f124: Pulling fs layer", "6b4d3e1519ef: Pulling fs layer", "787b4539f124: Verifying Checksum", "787b4539f124: Download complete", "787b4539f124: Pull complete", "6b4d3e1519ef: Verifying Checksum", "6b4d3e1519ef: Download complete", "6b4d3e1519ef: Pull complete", "Digest: sha256:3322774fcc1fd8a9f10eaa92932c338f3de01991fc8abe8088bf419f41d47c8a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "delta": "0:00:00.103072", "end": "2025-08-20 16:05:27.195898", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-08-20 16:05:27.092826", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-cassandra\nDigest: sha256:947c13069e2d4062c2e3c21f352edfbf4c629190aafa0c2aae0564b1617e8bb1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-cassandra", "Digest: sha256:947c13069e2d4062c2e3c21f352edfbf4c629190aafa0c2aae0564b1617e8bb1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.110236", "end": "2025-08-20 16:05:27.735507", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:05:27.625271", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] ****
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics_database", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics_database : set cassandra seeds to ANALYTICSDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"cassandra_seeds": "10.0.0.254"}, "changed": false}
TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] ***
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] ***
changed: [10.0.0.254] => {"changed": true, "dest": "/etc/contrail/common_analytics_database.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_database : populate global common_analytics_database.env] ***
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_analytics_database : populate pod specific common_analytics_database.env] ***
fatal: [10.0.0.254]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_analytics_database : create contrail analytics database compose file] ***
changed: [10.0.0.254] => {"changed": true, "checksum": "9438185a12bb1dbc0705e64e5f920475a6a1d774", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1d92293ee390591e9828e3b89bb65cda", "mode": "0644", "owner": "root", "size": 3014, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705944.2180784-72185-31427230822875/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_database : start contrail analyticsdb] *****************
changed: [10.0.0.254] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "5f893caca37bb2f2df72506a9b04e1b0786b6f1a3c6d2d46ee20f1bc0fa2dcc7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "651a37bf1f3cd11c3fff97be1d68d79f0928f8c6e1e920904c5272a02e953725", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "b129ec9b6ebcd3c9b22b036cb0ed84ab33f1a6db3cbeeef1c0589f969f199954", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "6c66d9a7674af834929408a44839b8b27ff8d20379252d63869d4e16e2a85c49", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "query-engine", "com.docker.compose.version": "1.29.2", "description": "Contrail Query Engine handles the queries to access data from Analytics DB.", "io.opensdn.container.name": "opensdn-analytics-query-engine", "io.opensdn.pod": "database", "io.opensdn.service": "query-engine", "name": "opensdn-analytics-query-engine", "release": "5.1.0", "summary": "Contrail Query Engine", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics] ***********************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics : update contrail analytics images] ********************
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.104191", "end": "2025-08-20 16:05:48.095564", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:05:47.991373", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.108223", "end": "2025-08-20 16:05:48.620848", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:05:48.512625", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-analytics-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_2_5-1", "delta": "0:00:02.732311", "end": "2025-08-20 16:05:51.761872", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-08-20 16:05:49.029561", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\nc68c48eebb84: Pulling fs layer\n8929a6c10a2a: Pulling fs layer\nc68c48eebb84: Verifying Checksum\nc68c48eebb84: Download complete\n8929a6c10a2a: Verifying Checksum\nc68c48eebb84: Pull complete\n8929a6c10a2a: Pull complete\nDigest: sha256:c82aa45ead96faa89905a603004f2686c48697a9361709f9ae8ed6e6f322bf6d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "c68c48eebb84: Pulling fs layer", "8929a6c10a2a: Pulling fs layer", "c68c48eebb84: Verifying Checksum", "c68c48eebb84: Download complete", "8929a6c10a2a: Verifying Checksum", "c68c48eebb84: Pull complete", "8929a6c10a2a: Pull complete", "Digest: sha256:c82aa45ead96faa89905a603004f2686c48697a9361709f9ae8ed6e6f322bf6d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-analytics-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_2_5-1", "delta": "0:00:05.163165", "end": "2025-08-20 16:05:57.346983", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-08-20 16:05:52.183818", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n6e5586eda8f2: Pulling fs layer\nc14510658532: Pulling fs layer\n6e5586eda8f2: Verifying Checksum\n6e5586eda8f2: Download complete\n6e5586eda8f2: Pull complete\nc14510658532: Verifying Checksum\nc14510658532: Download complete\nc14510658532: Pull complete\nDigest: sha256:b0d7b870681619878a0eaa76189a56eaf49fe051ce13d5372ae4082db77d0940\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "6e5586eda8f2: Pulling fs layer", "c14510658532: Pulling fs layer", "6e5586eda8f2: Verifying Checksum", "6e5586eda8f2: Download complete", "6e5586eda8f2: Pull complete", "c14510658532: Verifying Checksum", "c14510658532: Download complete", "c14510658532: Pull complete", "Digest: sha256:b0d7b870681619878a0eaa76189a56eaf49fe051ce13d5372ae4082db77d0940", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.103715", "end": "2025-08-20 16:05:57.859884", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:05:57.756169", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_analytics : create /etc/contrail/analytics] **********************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics : get /etc/contrail/common_analytics.env stat] *********
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] ***********
changed: [10.0.0.254] => {"changed": true, "dest": "/etc/contrail/common_analytics.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics : populate global common_analytics.env] ****************
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_analytics : populate pod specific common_analytics.env] **********
fatal: [10.0.0.254]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_analytics : create contrail analytics file] **********************
changed: [10.0.0.254] => {"changed": true, "checksum": "a36c6582c0f40447eba4931ebd3aa56e6eaa9691", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "8b48342c786f1451fcd9c6157a76cfc2", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705974.1405294-76235-92377732913616/source", "state": "file", "uid": 0}
TASK [opensdn_analytics : start contrail analytics] ****************************
changed: [10.0.0.254] => {"changed": true, "services": {"api": {"analytics_api_1": {"cmd": ["/usr/local/bin/contrail-analytics-api", "-c", "/etc/contrail/contrail-analytics-api.conf", "-c", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "e5c1da47da2cc855caa54f93a9b0d9f90f7e498ea9263b266bd6c81dac021d60", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics API provides REST API to access collected analytics data.", "io.opensdn.container.name": "opensdn-analytics-api", "io.opensdn.pod": "analytics", "io.opensdn.service": "api", "name": "opensdn-analytics-api", "release": "5.1.0", "summary": "Contrail Analytics API", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "2e64f76f480a23a2b22937b348ba8938597e5e7e78a336c5d427448b94cdacf4", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "collector", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics Collector collects the running state of different processes sent by other nodes.", "io.opensdn.container.name": "opensdn-analytics-collector", "io.opensdn.pod": "analytics", "io.opensdn.service": "collector", "name": "opensdn-analytics-collector", "release": "5.1.0", "summary": "Contrail Analytics Collector", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "3fc2df6043e86fc2283f2db7f0fb390b55c21ba74d4541ec5da4aed1baad8156", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "bb14dcf3822c719fd1ec3713621185c06509f0e030ed8e7f81af588cbca98a72", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics alarm] *****************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_alarm : update alarm, external-kafka image] ************
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.119119", "end": "2025-08-20 16:06:18.062564", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:06:17.943445", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.116909", "end": "2025-08-20 16:06:18.606516", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:06:18.489607", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-analytics-alarm-gen) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_2_5-1", "delta": "0:00:00.585323", "end": "2025-08-20 16:06:19.603944", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-08-20 16:06:19.018621", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\nc2ccdb7b6901: Pulling fs layer\n9793085a5ab5: Pulling fs layer\nc2ccdb7b6901: Verifying Checksum\nc2ccdb7b6901: Download complete\nc2ccdb7b6901: Pull complete\n9793085a5ab5: Verifying Checksum\n9793085a5ab5: Download complete\n9793085a5ab5: Pull complete\nDigest: sha256:7f60a4f6c0bd386e3aa2ae2f091da531eff7828aec0f31fafc383c4264dbdf16\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "c2ccdb7b6901: Pulling fs layer", "9793085a5ab5: Pulling fs layer", "c2ccdb7b6901: Verifying Checksum", "c2ccdb7b6901: Download complete", "c2ccdb7b6901: Pull complete", "9793085a5ab5: Verifying Checksum", "9793085a5ab5: Download complete", "9793085a5ab5: Pull complete", "Digest: sha256:7f60a4f6c0bd386e3aa2ae2f091da531eff7828aec0f31fafc383c4264dbdf16", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-external-kafka) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_2_5-1", "delta": "0:00:07.537593", "end": "2025-08-20 16:06:27.592017", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-08-20 16:06:20.054424", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n17152e552f11: Pulling fs layer\nf5138b05b7a8: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n17152e552f11: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n17152e552f11: Pull complete\nf5138b05b7a8: Verifying Checksum\nf5138b05b7a8: Download complete\nf5138b05b7a8: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:5b9efffdc5bb0f23ccf9bf9549c3f8e3b66fc75b7bb4eaa2656c9f38f37a59c2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "17152e552f11: Pulling fs layer", "f5138b05b7a8: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "17152e552f11: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "17152e552f11: Pull complete", "f5138b05b7a8: Verifying Checksum", "f5138b05b7a8: Download complete", "f5138b05b7a8: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:5b9efffdc5bb0f23ccf9bf9549c3f8e3b66fc75b7bb4eaa2656c9f38f37a59c2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.105403", "end": "2025-08-20 16:06:28.129344", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:06:28.023941", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] **********
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics_alarm", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics_alarm : set zookeeper nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.254"}, "changed": false}
TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] ***
changed: [10.0.0.254] => {"changed": true, "checksum": "829555a962b6255f862513021af4bdd7b44c5ca6", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "5f2e7200c4de3ffd3080479731d895ab", "mode": "0644", "owner": "root", "size": 2476, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755705989.2746296-78337-228713422478019/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_alarm : start contrail analytics_alarm] ****************
changed: [10.0.0.254] => {"changed": true, "services": {"alarm-gen": {"analytics_alarm_alarm-gen_1": {"cmd": ["/usr/local/bin/contrail-alarm-gen", "-c", "/etc/contrail/contrail-alarm-gen.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "058796a0a8dbb1192d14c1f4468ed5d6c0ca90b8416e2dee595d1c8d6368d624", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "alarm-gen", "com.docker.compose.version": "1.29.2", "description": "Contrail Alarm Generator generates alerts (alarms) which highlight unusual conditions that may require more urgent administrator attention and action.", "io.opensdn.container.name": "opensdn-analytics-alarm-gen", "io.opensdn.pod": "analytics-alarm", "io.opensdn.service": "alarm-gen", "name": "opensdn-analytics-alarm-gen", "release": "5.1.0", "summary": "Contrail Alarm Generator", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["bin/kafka-server-start.sh", "config/server.properties"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "2be3428569d330a9e95998b5c1f2f81fd5d664ca7b4b4ab42b11e2ad903fa4da", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "kafka", "com.docker.compose.version": "1.29.2", "description": "Contrail Kafka is used for streaming data in Analytics DB.", "io.opensdn.container.name": "opensdn-external-kafka", "io.opensdn.service": "kafka", "name": "opensdn-external-kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "e79d5a2eb48a09b73153b51d7dcadb6dcddb77febc9fd73bf519d3716c506acc", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "78153f7068d05d4077acd9c96d4cea14423dd33b7061c95dae934112511817aa", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics snmp] ******************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_snmp : update contrail-snmp-collector and contrail-analytics-snmp-topology image] ***
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.106259", "end": "2025-08-20 16:06:33.213861", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:06:33.107602", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.115614", "end": "2025-08-20 16:06:33.753102", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:06:33.637488", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-analytics-snmp-topology) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_2_5-1", "delta": "0:00:04.172270", "end": "2025-08-20 16:06:38.346196", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-08-20 16:06:34.173926", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\nf0dcf49e4761: Pulling fs layer\nc3b024b387b1: Pulling fs layer\nc6930dcbd4c6: Pulling fs layer\nc6930dcbd4c6: Verifying Checksum\nc6930dcbd4c6: Download complete\nc3b024b387b1: Verifying Checksum\nc3b024b387b1: Download complete\nf0dcf49e4761: Verifying Checksum\nf0dcf49e4761: Download complete\nf0dcf49e4761: Pull complete\nc3b024b387b1: Pull complete\nc6930dcbd4c6: Pull complete\nDigest: sha256:0b678888135ecd93346454b9c0c63264900030000a5ac07e582d3c56a69fbe7e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "f0dcf49e4761: Pulling fs layer", "c3b024b387b1: Pulling fs layer", "c6930dcbd4c6: Pulling fs layer", "c6930dcbd4c6: Verifying Checksum", "c6930dcbd4c6: Download complete", "c3b024b387b1: Verifying Checksum", "c3b024b387b1: Download complete", "f0dcf49e4761: Verifying Checksum", "f0dcf49e4761: Download complete", "f0dcf49e4761: Pull complete", "c3b024b387b1: Pull complete", "c6930dcbd4c6: Pull complete", "Digest: sha256:0b678888135ecd93346454b9c0c63264900030000a5ac07e582d3c56a69fbe7e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-analytics-snmp-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_2_5-1", "delta": "0:00:00.400144", "end": "2025-08-20 16:06:39.213890", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-08-20 16:06:38.813746", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\nf0dcf49e4761: Already exists\nbc27427adc9f: Pulling fs layer\ne3d2a0606582: Pulling fs layer\nbc27427adc9f: Verifying Checksum\nbc27427adc9f: Download complete\ne3d2a0606582: Verifying Checksum\ne3d2a0606582: Download complete\nbc27427adc9f: Pull complete\ne3d2a0606582: Pull complete\nDigest: sha256:037a1094509f4c3b83cab90916b5ce81229aad2cd7062efe049a9f5ae59332a4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "f0dcf49e4761: Already exists", "bc27427adc9f: Pulling fs layer", "e3d2a0606582: Pulling fs layer", "bc27427adc9f: Verifying Checksum", "bc27427adc9f: Download complete", "e3d2a0606582: Verifying Checksum", "e3d2a0606582: Download complete", "bc27427adc9f: Pull complete", "e3d2a0606582: Pull complete", "Digest: sha256:037a1094509f4c3b83cab90916b5ce81229aad2cd7062efe049a9f5ae59332a4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.121672", "end": "2025-08-20 16:06:39.758599", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:06:39.636927", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics_snmp", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics_snmp : create contrail analytics_snmp docker-compose file] ***
changed: [10.0.0.254] => {"changed": true, "checksum": "5f1f9f408d3abd788fe77c1c830ffcd95796e7e4", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "835785df455fc411e2a5ebd6e34eab4a", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755706000.524236-80350-62222025199457/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ******************
changed: [10.0.0.254] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "06738991e8c69f8a040cf4fa6acfc7eaa861496acf9e2c721bdd693f378c4930", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "5c1eb90a5f0e7d80a2594ee6791d72c23e7be3dcd56d3bc5187a202aed90910c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "b7247f8f558d2f97ce4299e683d410e0e6ec597823207b653a3130d449cb1a17", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "snmp-collector", "com.docker.compose.version": "1.29.2", "description": "SNMP Collector collects data from switches(Spine/Leaf).", "io.opensdn.container.name": "opensdn-analytics-snmp-collector", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "snmp-collector", "name": "opensdn-analytics-snmp-collector", "release": "5.1.0", "summary": "SNMP Collector", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "44fb9b0042f952f51aff4ac5f2db3ed95f2f4b6846cbb50376009eaefcff9ee5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "topology", "com.docker.compose.version": "1.29.2", "description": "SNMP Topology periodically updates topology table, which is used by UI to draw maps.", "io.opensdn.container.name": "opensdn-analytics-snmp-topology", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "topology", "name": "opensdn-analytics-snmp-topology", "release": "5.1.0", "summary": "SNMP Topology", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail rsyslogd for Linux] **************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_rsyslogd : update contrail rsyslogd image] ***********************
changed: [10.0.0.254] => (item=opensdn-external-rsyslogd) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_2_5-1", "delta": "0:00:00.491808", "end": "2025-08-20 16:06:44.750039", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-08-20 16:06:44.258231", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n3204328dcb11: Already exists\n6e592550347f: Already exists\n6dcc70b50501: Already exists\nfd457a3c3349: Already exists\nc4970d8a8e11: Already exists\nc040585f006c: Already exists\n2b83a5529cc6: Pulling fs layer\n50e3446847f6: Pulling fs layer\n6fc501f136f8: Pulling fs layer\nb2d3c1240f1b: Pulling fs layer\nb2d3c1240f1b: Waiting\n2b83a5529cc6: Download complete\n6fc501f136f8: Verifying Checksum\n6fc501f136f8: Download complete\n2b83a5529cc6: Pull complete\nb2d3c1240f1b: Verifying Checksum\nb2d3c1240f1b: Download complete\n50e3446847f6: Verifying Checksum\n50e3446847f6: Download complete\n50e3446847f6: Pull complete\n6fc501f136f8: Pull complete\nb2d3c1240f1b: Pull complete\nDigest: sha256:ef768fffc07dbdd1812da4a8550abbcd7e2d222d6a33b6af984d2f2b55db8048\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "3204328dcb11: Already exists", "6e592550347f: Already exists", "6dcc70b50501: Already exists", "fd457a3c3349: Already exists", "c4970d8a8e11: Already exists", "c040585f006c: Already exists", "2b83a5529cc6: Pulling fs layer", "50e3446847f6: Pulling fs layer", "6fc501f136f8: Pulling fs layer", "b2d3c1240f1b: Pulling fs layer", "b2d3c1240f1b: Waiting", "2b83a5529cc6: Download complete", "6fc501f136f8: Verifying Checksum", "6fc501f136f8: Download complete", "2b83a5529cc6: Pull complete", "b2d3c1240f1b: Verifying Checksum", "b2d3c1240f1b: Download complete", "50e3446847f6: Verifying Checksum", "50e3446847f6: Download complete", "50e3446847f6: Pull complete", "6fc501f136f8: Pull complete", "b2d3c1240f1b: Pull complete", "Digest: sha256:ef768fffc07dbdd1812da4a8550abbcd7e2d222d6a33b6af984d2f2b55db8048", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_2_5-1"]}
TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/rsyslogd", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_rsyslogd : create rsyslogd compose file] *************************
changed: [10.0.0.254] => {"changed": true, "checksum": "80f85b7a18ec036d9810243c359d6b467f9a18fd", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "3679619d5c0a285078b5365d0d837311", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755706005.6170397-81761-34504519566109/source", "state": "file", "uid": 0}
TASK [opensdn_rsyslogd : start rsyslogd] ***************************************
changed: [10.0.0.254] => {"changed": true, "services": {"rsyslogd": {"rsyslogd_rsyslogd_1": {"cmd": ["/bin/sh", "-c", "rsyslogd -n -f /etc/rsyslog.conf -i $RSYSLOGD_PIDFILE"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "957c8a318f8b33b5259b890ca6fb902b07df1b365b58c254c63ee4e13256b27d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "rsyslogd", "com.docker.compose.project.config_files": "/etc/contrail/rsyslogd/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/rsyslogd", "com.docker.compose.service": "rsyslogd", "com.docker.compose.version": "1.29.2", "description": "Contrail rsyslogd support", "io.opensdn.container.name": "", "io.opensdn.service": "rsyslogd", "name": "", "release": "5.1.0", "summary": "Contrail rsyslogd", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail vrouter for Linux] ***************************************
TASK [opensdn_vrouter : set vrouter kernel init image name] ********************
ok: [10.0.0.254] => {"ansible_facts": {"vrouter_kernel_init_img_name": "opensdn-vrouter-kernel-build-init"}, "changed": false}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_vrouter : update image] ******************************************
changed: [10.0.0.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "delta": "0:00:00.111853", "end": "2025-08-20 16:06:48.294830", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-08-20 16:06:48.182977", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:dc53a8b4fbb047ae45badfe0d1c985acede3167e9e0ef0256082ec824aa8276f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "delta": "0:00:00.132152", "end": "2025-08-20 16:06:48.870263", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-08-20 16:06:48.738111", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:8523fa6f8520c27f140ee37bb880c327744e0163a191f3dfe5028227440d98bc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "delta": "0:00:00.117409", "end": "2025-08-20 16:06:49.410219", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-08-20 16:06:49.292810", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:f6323736d965d0dac030fe665b4a4a41a5b52f3b59c649b29a569a59bb42adf1", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-vrouter-kernel-build-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_2_5-1", "delta": "0:00:06.602026", "end": "2025-08-20 16:06:56.420904", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-08-20 16:06:49.818878", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-vrouter-kernel-build-init\nbaa9e71a063a: Pulling fs layer\n4147b9f11a93: Pulling fs layer\n40d640216fbe: Pulling fs layer\nfdc3be33f4e0: Pulling fs layer\n6c83d39fccb0: Pulling fs layer\ndd3febc8c455: Pulling fs layer\n104359a6c92f: Pulling fs layer\n40368b953bd3: Pulling fs layer\n6c83d39fccb0: Waiting\ndd3febc8c455: Waiting\n104359a6c92f: Waiting\n40368b953bd3: Waiting\nfdc3be33f4e0: Waiting\n40d640216fbe: Verifying Checksum\n40d640216fbe: Download complete\n4147b9f11a93: Verifying Checksum\n4147b9f11a93: Download complete\n6c83d39fccb0: Verifying Checksum\n6c83d39fccb0: Download complete\nfdc3be33f4e0: Download complete\n104359a6c92f: Verifying Checksum\n104359a6c92f: Download complete\n40368b953bd3: Verifying Checksum\n40368b953bd3: Download complete\nbaa9e71a063a: Verifying Checksum\nbaa9e71a063a: Download complete\nbaa9e71a063a: Pull complete\n4147b9f11a93: Pull complete\n40d640216fbe: Pull complete\nfdc3be33f4e0: Pull complete\ndd3febc8c455: Verifying Checksum\ndd3febc8c455: Download complete\n6c83d39fccb0: Pull complete\ndd3febc8c455: Pull complete\n104359a6c92f: Pull complete\n40368b953bd3: Pull complete\nDigest: sha256:97e4e8a41716d90876b35be1243d84e3850c120ae1479661f115a961daec5c5e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-vrouter-kernel-build-init", "baa9e71a063a: Pulling fs layer", "4147b9f11a93: Pulling fs layer", "40d640216fbe: Pulling fs layer", "fdc3be33f4e0: Pulling fs layer", "6c83d39fccb0: Pulling fs layer", "dd3febc8c455: Pulling fs layer", "104359a6c92f: Pulling fs layer", "40368b953bd3: Pulling fs layer", "6c83d39fccb0: Waiting", "dd3febc8c455: Waiting", "104359a6c92f: Waiting", "40368b953bd3: Waiting", "fdc3be33f4e0: Waiting", "40d640216fbe: Verifying Checksum", "40d640216fbe: Download complete", "4147b9f11a93: Verifying Checksum", "4147b9f11a93: Download complete", "6c83d39fccb0: Verifying Checksum", "6c83d39fccb0: Download complete", "fdc3be33f4e0: Download complete", "104359a6c92f: Verifying Checksum", "104359a6c92f: Download complete", "40368b953bd3: Verifying Checksum", "40368b953bd3: Download complete", "baa9e71a063a: Verifying Checksum", "baa9e71a063a: Download complete", "baa9e71a063a: Pull complete", "4147b9f11a93: Pull complete", "40d640216fbe: Pull complete", "fdc3be33f4e0: Pull complete", "dd3febc8c455: Verifying Checksum", "dd3febc8c455: Download complete", "6c83d39fccb0: Pull complete", "dd3febc8c455: Pull complete", "104359a6c92f: Pull complete", "40368b953bd3: Pull complete", "Digest: sha256:97e4e8a41716d90876b35be1243d84e3850c120ae1479661f115a961daec5c5e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_2_5-1"]}
changed: [10.0.0.254] => (item=opensdn-vrouter-agent) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_2_5-1", "delta": "0:00:07.181082", "end": "2025-08-20 16:07:04.035832", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-08-20 16:06:56.854750", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_2_5-1: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n12a2e9009455: Already exists\n0a0408c9a7cc: Already exists\n1ca7aff5f2e6: Already exists\n5d8c33570e79: Already exists\nfb666d3e2f2e: Already exists\n3f6054f022f0: Already exists\n2b24f3205277: Already exists\na233bdae83bd: Already exists\n525027f86a68: Pulling fs layer\n49435c010c98: Pulling fs layer\n6c427365648e: Pulling fs layer\nc6a237f772ed: Pulling fs layer\n39bb05d07e35: Pulling fs layer\nc6cbbad19703: Pulling fs layer\nc6a237f772ed: Waiting\n39bb05d07e35: Waiting\nc6cbbad19703: Waiting\n49435c010c98: Download complete\nc6a237f772ed: Verifying Checksum\nc6a237f772ed: Download complete\n39bb05d07e35: Download complete\nc6cbbad19703: Verifying Checksum\nc6cbbad19703: Download complete\n525027f86a68: Verifying Checksum\n525027f86a68: Download complete\n6c427365648e: Verifying Checksum\n6c427365648e: Download complete\n525027f86a68: Pull complete\n49435c010c98: Pull complete\n6c427365648e: Pull complete\nc6a237f772ed: Pull complete\n39bb05d07e35: Pull complete\nc6cbbad19703: Pull complete\nDigest: sha256:5f9d06bf2beee993df7682d8d54833a0b987273db9c397e53d80320acacafea9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_2_5-1", "stdout_lines": ["master-2_0_2_5-1: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "12a2e9009455: Already exists", "0a0408c9a7cc: Already exists", "1ca7aff5f2e6: Already exists", "5d8c33570e79: Already exists", "fb666d3e2f2e: Already exists", "3f6054f022f0: Already exists", "2b24f3205277: Already exists", "a233bdae83bd: Already exists", "525027f86a68: Pulling fs layer", "49435c010c98: Pulling fs layer", "6c427365648e: Pulling fs layer", "c6a237f772ed: Pulling fs layer", "39bb05d07e35: Pulling fs layer", "c6cbbad19703: Pulling fs layer", "c6a237f772ed: Waiting", "39bb05d07e35: Waiting", "c6cbbad19703: Waiting", "49435c010c98: Download complete", "c6a237f772ed: Verifying Checksum", "c6a237f772ed: Download complete", "39bb05d07e35: Download complete", "c6cbbad19703: Verifying Checksum", "c6cbbad19703: Download complete", "525027f86a68: Verifying Checksum", "525027f86a68: Download complete", "6c427365648e: Verifying Checksum", "6c427365648e: Download complete", "525027f86a68: Pull complete", "49435c010c98: Pull complete", "6c427365648e: Pull complete", "c6a237f772ed: Pull complete", "39bb05d07e35: Pull complete", "c6cbbad19703: Pull complete", "Digest: sha256:5f9d06bf2beee993df7682d8d54833a0b987273db9c397e53d80320acacafea9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_2_5-1"]}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_vrouter : create /etc/contrail/vrouter] **************************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/vrouter", "size": 4096, "state": "directory", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_vrouter : populate common_vrouter.env] ***************************
changed: [10.0.0.254] => {"changed": true, "checksum": "99428b15463bf08271f92326250544ec023c10d3", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "e4718f2bb0573da0c36b66343612e1f2", "mode": "0640", "owner": "root", "size": 1038, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755706025.1942356-83320-254177145268475/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : set vrouter kernel init image name] ********************
ok: [10.0.0.254] => {"ansible_facts": {"vrouter_kernel_init_img_name": "opensdn-vrouter-kernel-build-init"}, "changed": false}
TASK [opensdn_vrouter : check /etc/contrail/vrouter/docker-compose.yaml] *******
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_vrouter : create contrail vrouter compose file] ******************
changed: [10.0.0.254] => {"changed": true, "checksum": "767cbb0e7761448eb4e26df90e61a3c0ec510748", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1d055728a8b02e7451a740e503e6cd33", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1755706026.8642712-83427-160453495800858/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] *****************
changed: [10.0.0.254] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/var/run/contrail/loadbalancer", "size": 40, "state": "directory", "uid": 0}
TASK [opensdn_vrouter : start contrail vrouter] ********************************
changed: [10.0.0.254] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "160b77dace73cf4705d5e4747b326ca1411d8368e74d1246522f518bb7a3b9ef", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "e26cf73f9f272331915969feb0b1110235b38c667a6c2800a34c10ce84c70ddf", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "65556cb3c384b481ef9de3ed1c9337c1b4fb56d554f78b9a9f9883f2d82c6678", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "58e1a1752ff8aaab6bb597b6297ac204d47260004375eb8b751c605a243c2677", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-agent", "com.docker.compose.version": "1.29.2", "description": "The vRouter agent is a user space process running inside Linux. It acts as the local, lightweight control plane.", "io.opensdn.container.name": "opensdn-vrouter-agent", "io.opensdn.pod": "vrouter", "io.opensdn.service": "agent", "name": "opensdn-vrouter-agent", "release": "5.1.0", "summary": "Contrail Vrouter Agent", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_2_5-1", "labels": {"com.docker.compose.config-hash": "e67b7280bac2923f4a29f5a0a866fd66fdb1d3a04c18b87be0bce33190693ea3", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-kernel-init", "com.docker.compose.version": "1.29.2", "description": "This image is used to build vrouter.ko for current ubuntu operating system that it's running on.", "io.opensdn.container.name": "opensdn-vrouter-kernel-build-init", "name": "opensdn-vrouter-kernel-build-init", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "24.04", "release": "5.1.0", "summary": "Contrail vrouter kernel module for ubuntu", "vendor": "OpenSDN-IO", "version": "master-2_0_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [opensdn_vrouter : Set variables for DPDK plugins] ************************
ok: [10.0.0.254] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false}
PLAY RECAP *********************************************************************
10.0.0.254 : ok=92 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7
localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0
INFO: done in 0s
INFO: check time sync on nodes and force sync Wed Aug 20 16:08:15 UTC 2025
INFO: controller nodes - 10.0.0.254
INFO: agent nodes - 10.0.0.254
INFO: openstack controller nodes -
INFO: sync time on machine ubuntu@10.0.0.254
Warning: Permanently added '10.0.0.254' (ED25519) to the list of known hosts.
Warning: Permanently added '10.0.0.254' (ED25519) to the list of known hosts.
INFO: Wed Aug 20 16:08:16 UTC 2025: ensure time is synced (chronyd)
INFO: Wed Aug 20 16:08:16 UTC 2025: time is synced
TF Web UI must be available at https://10.0.0.254:8143
OpenStack UI must be avaiable at http://10.0.0.254
Use admin/contrail123 to log in
INFO: Stage tf was run successfully Wed Aug 20 16:08:16 UTC 2025
INFO: Running stage wait at Wed Aug 20 16:08:16 UTC 2025
INFO: done in 0s
INFO: Stage wait was run successfully Wed Aug 20 16:08:27 UTC 2025
[update tf stack configuration]
tf setup profile /home/ubuntu/.tf/stack.env
DEPLOYER=ansible
CONTRAIL_CONTAINER_TAG=master-2_0_2_5-1
CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_2_5-1
CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
ORCHESTRATOR=openstack
OPENSTACK_VERSION="yoga"
CONTROLLER_NODES="10.0.0.254 "
AGENT_NODES="10.0.0.254"
CONTROL_NODES="10.0.0.254 "
SSL_ENABLE="false"
LEGACY_ANALYTICS_ENABLE="true"
HUGE_PAGES_1G=
CONTAINER_RUNTIME=docker
K8S_CA=
DEPLOY_IPA_SERVER=
IPA_PASSWORD=
OPENSTACK_CONTROLLER_NODES='10.0.0.254'
OS_AUTH_URL='http://10.0.0.254:5000/v3'
AUTH_PASSWORD='contrail123'
AUTH_URL=''
INFO: Successful deployment Wed Aug 20 16:08:27 UTC 2025
DEBUG: kill running child jobs:
INFO: Deploy finished
+ exit
Archiving artifacts
Finished: SUCCESS