Started by upstream project "pipeline-check" build number 3658 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-controller/+/2452 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 24e5e75ac9fdb67bf86f8aabcbd4b94d5e23b889 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 24e5e75ac9fdb67bf86f8aabcbd4b94d5e23b889 # timeout=10 Commit message: "add build-r25.1 and ansible-os-r25.1 jobs" > git rev-list --no-walk 24e5e75ac9fdb67bf86f8aabcbd4b94d5e23b889 # 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 2bc95190e286588db9dd53fbdd8df748fe6ea3fa (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 2bc95190e286588db9dd53fbdd8df748fe6ea3fa # timeout=10 Commit message: "enable debug logs for openstack" > git rev-list --no-walk 2bc95190e286588db9dd53fbdd8df748fe6ea3fa # timeout=10 Copied 4 artifacts from "pipeline-check" build number 3658 [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins9509593340432842216.sh + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3658 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3658 ++ 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/52/2452/2/check_3658 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/52/2452/2/check_3658 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658 ++ 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_4_5_2-2 ++ CONTRAIL_CONTAINER_TAG=master-2_4_5_2-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 ++ 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_4_5_2-2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=Ideacf1fe835f6bb2a4f84b287dbec872436587f3 ++ GERRIT_CHANGE_ID=Ideacf1fe835f6bb2a4f84b287dbec872436587f3 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-controller ++ GERRIT_PROJECT=opensdn-io/tf-controller ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + desc='Pipeline: pipeline-check-3658 Random: 68169 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-check-3658 Random: 68169 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658/ansible-os' DESCRIPTION Pipeline: pipeline-check-3658 Random: 68169 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658/ansible-os [description-setter] Description set: Pipeline: pipeline-check-3658 Random: 68169 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658/ansible-os' [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins3468619032747405721.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3658 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3658 ++ 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/52/2452/2/check_3658 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/52/2452/2/check_3658 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658 ++ 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_4_5_2-2 ++ CONTRAIL_CONTAINER_TAG=master-2_4_5_2-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 ++ 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_4_5_2-2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=Ideacf1fe835f6bb2a4f84b287dbec872436587f3 ++ GERRIT_CHANGE_ID=Ideacf1fe835f6bb2a4f84b287dbec872436587f3 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-controller ++ GERRIT_PROJECT=opensdn-io/tf-controller ++ 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/jenkins6345269004749815429.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3658 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3658 ++ 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/52/2452/2/check_3658 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/52/2452/2/check_3658 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/52/2452/2/check_3658 ++ 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_4_5_2-2 ++ CONTRAIL_CONTAINER_TAG=master-2_4_5_2-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 ++ 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_4_5_2-2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_5_2-2 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=Ideacf1fe835f6bb2a4f84b287dbec872436587f3 ++ GERRIT_CHANGE_ID=Ideacf1fe835f6bb2a4f84b287dbec872436587f3 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-controller ++ GERRIT_PROJECT=opensdn-io/tf-controller ++ 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.68169.env ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export ENVIRONMENT_OS=ubuntu22 ++ ENVIRONMENT_OS=ubuntu22 ++ export DATA_NETWORK=10.20.0.0/24 ++ DATA_NETWORK=10.20.0.0/24 ++ head -1 ++ export VROUTER_GATEWAY=10.20.0.1 ++ VROUTER_GATEWAY=10.20.0.1 ++ 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=7ee69c47-6f4e-4566-a35e-bc53cf4384e1, ++ INSTANCE_IDS=7ee69c47-6f4e-4566-a35e-bc53cf4384e1, ++ export instance_ip=10.0.0.38 ++ instance_ip=10.0.0.38 ++ export CONTROLLER_NODES=10.0.0.38, ++ CONTROLLER_NODES=10.0.0.38, ++ export CONTROL_NODES=10.20.0.254, ++ CONTROL_NODES=10.20.0.254, ++ export ORCHESTRATOR=openstack ++ ORCHESTRATOR=openstack ++ export DEPLOYER=ansible ++ DEPLOYER=ansible ++ export JOB_LOGS_PATH=ansible-os ++ JOB_LOGS_PATH=ansible-os + source /home/jenkins/workspace/deploy-tf-ansible-os/vars.deploy-tf-ansible-os.68169.env ++ export MONITORING_DEPLOY_TARGET=AIO ++ MONITORING_DEPLOY_TARGET=AIO ++ export MONITORING_DEPLOYER=ansible ++ MONITORING_DEPLOYER=ansible ++ export MONITORING_ORCHESTRATOR=os ++ MONITORING_ORCHESTRATOR=os ++ export USE_DATAPLANE_NETWORK=true ++ USE_DATAPLANE_NETWORK=true + export FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/52/2452/2/check_3658/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/52/2452/2/check_3658/ansible-os + ./src/opensdn-io/tf-jenkins/jobs/devstack/ansible/deploy_tf.sh INFO: Deploy ansible/ (deploy-tf-ansible-os) Warning: Permanently added '10.0.0.38' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.38' (ECDSA) to the list of known hosts. INFO: =================== Tue Jan 20 09:38:35 UTC 2026 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Tue Jan 20 09:38:35 UTC 2026 Skipping stage machines because it's finished INFO: Stage machines was run successfully Tue Jan 20 09:38:35 UTC 2026 INFO: Running stage k8s at Tue Jan 20 09:38:35 UTC 2026 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Tue Jan 20 09:38:35 UTC 2026 INFO: Running stage openstack at Tue Jan 20 09:38:35 UTC 2026 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Tue Jan 20 09:38:35 UTC 2026 INFO: Running stage tf at Tue Jan 20 09:38:35 UTC 2026 [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_38": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_38", "private_ip": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_38", "private_ip": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_4_5_2-2"}, "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_38', 'value': {'ip': '10.0.0.38', '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_38": {"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_38", "value": {"ip": "10.0.0.38", "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.38", "opencontrail_collector_ip": "10.0.0.38"}, "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_4_5_2-2", "CONTROL_NODES": "10.20.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_4_5_2-2", "CONTROL_NODES": "10.20.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.38']}) => {"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.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.38']}) => {"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.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.38']}) => {"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.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.38"]}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "changed": false} TASK [opensdn_deployer : check analyticsdb presence] *************************** ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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.38", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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.38", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-2_4_5_2-2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.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.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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.38"}, "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.38] 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.38] TASK [opensdn : set instance data] ********************************************* ok: [10.0.0.38] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.38", "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.38] => {"ansible_facts": {"instance_name": "node_10_0_0_38"}, "changed": false} TASK [opensdn : run common tasks] ********************************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.38 TASK [opensdn : create /var/log/contrail] ************************************** changed: [10.0.0.38] => {"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.38] => {"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.38] => {"changed": true, "checksum": "f0048d6bca8ee8e712a16f5021e2ce1c50f0a369", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "05c80f2a366945b9e1958dd195755e65", "mode": "0640", "owner": "root", "size": 1023, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768901931.043354-55050-251917863377020/source", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [10.0.0.38] => {"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-1768901932.0312188-55124-201051386670492/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.38] => (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_4_5_2-2", "delta": "0:00:03.463749", "end": "2026-01-20 09:38:56.768766", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2026-01-20 09:38:53.305017", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-redis\nfaef57eae888: Pulling fs layer\nbb595d48e52d: Pulling fs layer\nd479b54c3bb2: Pulling fs layer\nf1b700c31442: Pulling fs layer\nb96556682ce1: Pulling fs layer\n0df3a9e3510c: Pulling fs layer\nc96955bf1424: Pulling fs layer\nae92b75a3d41: Pulling fs layer\ndf03a106770e: Pulling fs layer\nf1b700c31442: Waiting\nba2bb77498b3: Pulling fs layer\nb96556682ce1: Waiting\n0df3a9e3510c: Waiting\nae92b75a3d41: Waiting\ndf03a106770e: Waiting\nc96955bf1424: Waiting\nba2bb77498b3: Waiting\nbb595d48e52d: Verifying Checksum\nbb595d48e52d: Download complete\nd479b54c3bb2: Verifying Checksum\nd479b54c3bb2: Download complete\nb96556682ce1: Download complete\n0df3a9e3510c: Verifying Checksum\n0df3a9e3510c: Download complete\nc96955bf1424: Verifying Checksum\nc96955bf1424: Download complete\nae92b75a3d41: Verifying Checksum\nae92b75a3d41: Download complete\ndf03a106770e: Download complete\nf1b700c31442: Verifying Checksum\nf1b700c31442: Download complete\nfaef57eae888: Verifying Checksum\nfaef57eae888: Download complete\nba2bb77498b3: Verifying Checksum\nba2bb77498b3: Download complete\nfaef57eae888: Pull complete\nbb595d48e52d: Pull complete\nd479b54c3bb2: Pull complete\nf1b700c31442: Pull complete\nb96556682ce1: Pull complete\n0df3a9e3510c: Pull complete\nc96955bf1424: Pull complete\nae92b75a3d41: Pull complete\ndf03a106770e: Pull complete\nba2bb77498b3: Pull complete\nDigest: sha256:ad196eb030ad032c4e6e8e846a6e71bdf3a0f7da6613160960fbba121d462711\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-redis", "faef57eae888: Pulling fs layer", "bb595d48e52d: Pulling fs layer", "d479b54c3bb2: Pulling fs layer", "f1b700c31442: Pulling fs layer", "b96556682ce1: Pulling fs layer", "0df3a9e3510c: Pulling fs layer", "c96955bf1424: Pulling fs layer", "ae92b75a3d41: Pulling fs layer", "df03a106770e: Pulling fs layer", "f1b700c31442: Waiting", "ba2bb77498b3: Pulling fs layer", "b96556682ce1: Waiting", "0df3a9e3510c: Waiting", "ae92b75a3d41: Waiting", "df03a106770e: Waiting", "c96955bf1424: Waiting", "ba2bb77498b3: Waiting", "bb595d48e52d: Verifying Checksum", "bb595d48e52d: Download complete", "d479b54c3bb2: Verifying Checksum", "d479b54c3bb2: Download complete", "b96556682ce1: Download complete", "0df3a9e3510c: Verifying Checksum", "0df3a9e3510c: Download complete", "c96955bf1424: Verifying Checksum", "c96955bf1424: Download complete", "ae92b75a3d41: Verifying Checksum", "ae92b75a3d41: Download complete", "df03a106770e: Download complete", "f1b700c31442: Verifying Checksum", "f1b700c31442: Download complete", "faef57eae888: Verifying Checksum", "faef57eae888: Download complete", "ba2bb77498b3: Verifying Checksum", "ba2bb77498b3: Download complete", "faef57eae888: Pull complete", "bb595d48e52d: Pull complete", "d479b54c3bb2: Pull complete", "f1b700c31442: Pull complete", "b96556682ce1: Pull complete", "0df3a9e3510c: Pull complete", "c96955bf1424: Pull complete", "ae92b75a3d41: Pull complete", "df03a106770e: Pull complete", "ba2bb77498b3: Pull complete", "Digest: sha256:ad196eb030ad032c4e6e8e846a6e71bdf3a0f7da6613160960fbba121d462711", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:01.430383", "end": "2026-01-20 09:38:58.729987", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2026-01-20 09:38:57.299604", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nc62308a02310: Pulling fs layer\n6da4b4bb2e9e: Pulling fs layer\nc62308a02310: Verifying Checksum\nc62308a02310: Download complete\nc62308a02310: Pull complete\n6da4b4bb2e9e: Verifying Checksum\n6da4b4bb2e9e: Download complete\n6da4b4bb2e9e: Pull complete\nDigest: sha256:5f1bb4fb2fc124f11175ef14134b5fa5f5b30f9131de6ceb7c76de9724dbb288\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "c62308a02310: Pulling fs layer", "6da4b4bb2e9e: Pulling fs layer", "c62308a02310: Verifying Checksum", "c62308a02310: Download complete", "c62308a02310: Pull complete", "6da4b4bb2e9e: Verifying Checksum", "6da4b4bb2e9e: Download complete", "6da4b4bb2e9e: Pull complete", "Digest: sha256:5f1bb4fb2fc124f11175ef14134b5fa5f5b30f9131de6ceb7c76de9724dbb288", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_5_2-2"]} TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [10.0.0.38] => {"changed": true, "checksum": "52486987a4d9f86c575ad93831f70a38004bc11f", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "27aff5338138dd2b6e415a285328b86a", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768901939.7669187-55459-131325858369668/source", "state": "file", "uid": 0} TASK [opensdn_redis : start redis] ********************************************* changed: [10.0.0.38] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "b05449b6d3cc9e7fbf836598f2f756d10e5f4aee602fd0d1ec064e6bdbe30014", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:05.428722", "end": "2026-01-20 09:39:08.030063", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:39:02.601341", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Pulling fs layer\nbe96af701a1e: Pulling fs layer\n43babd329a69: Pulling fs layer\nd3618f596e85: Pulling fs layer\n373206ebcf5f: Pulling fs layer\n2517b50eb480: Pulling fs layer\nd3618f596e85: Waiting\n373206ebcf5f: Waiting\n2517b50eb480: Waiting\nf4c99e5f72fd: Download complete\nbe96af701a1e: Verifying Checksum\nbe96af701a1e: Download complete\n43babd329a69: Verifying Checksum\n43babd329a69: Download complete\nf4c99e5f72fd: Pull complete\n373206ebcf5f: Verifying Checksum\n373206ebcf5f: Download complete\n2517b50eb480: Download complete\nbe96af701a1e: Pull complete\n43babd329a69: Pull complete\nd3618f596e85: Verifying Checksum\nd3618f596e85: Download complete\nd3618f596e85: Pull complete\n373206ebcf5f: Pull complete\n2517b50eb480: Pull complete\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Pulling fs layer", "be96af701a1e: Pulling fs layer", "43babd329a69: Pulling fs layer", "d3618f596e85: Pulling fs layer", "373206ebcf5f: Pulling fs layer", "2517b50eb480: Pulling fs layer", "d3618f596e85: Waiting", "373206ebcf5f: Waiting", "2517b50eb480: Waiting", "f4c99e5f72fd: Download complete", "be96af701a1e: Verifying Checksum", "be96af701a1e: Download complete", "43babd329a69: Verifying Checksum", "43babd329a69: Download complete", "f4c99e5f72fd: Pull complete", "373206ebcf5f: Verifying Checksum", "373206ebcf5f: Download complete", "2517b50eb480: Download complete", "be96af701a1e: Pull complete", "43babd329a69: Pull complete", "d3618f596e85: Verifying Checksum", "d3618f596e85: Download complete", "d3618f596e85: Pull complete", "373206ebcf5f: Pull complete", "2517b50eb480: Pull complete", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:02.673272", "end": "2026-01-20 09:39:11.194155", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:39:08.520883", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n75a0ddf16fc7: Pulling fs layer\nbd1cfd5f56da: Pulling fs layer\nbd1cfd5f56da: Verifying Checksum\nbd1cfd5f56da: Download complete\n75a0ddf16fc7: Verifying Checksum\n75a0ddf16fc7: Download complete\n75a0ddf16fc7: Pull complete\nbd1cfd5f56da: Pull complete\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "75a0ddf16fc7: Pulling fs layer", "bd1cfd5f56da: Pulling fs layer", "bd1cfd5f56da: Verifying Checksum", "bd1cfd5f56da: Download complete", "75a0ddf16fc7: Verifying Checksum", "75a0ddf16fc7: Download complete", "75a0ddf16fc7: Pull complete", "bd1cfd5f56da: Pull complete", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:05.533836", "end": "2026-01-20 09:39:17.216533", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-01-20 09:39:11.682697", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-cassandra\n63e5bc7682b8: Pulling fs layer\n7e27b670a0f5: Pulling fs layer\n5d42da29b261: Pulling fs layer\nfa94125d190e: Pulling fs layer\nc53675a133c6: Pulling fs layer\n0497a703e222: Pulling fs layer\n5a2e2c2fe7e2: Pulling fs layer\nc53675a133c6: Waiting\n0497a703e222: Waiting\nfa94125d190e: Waiting\nbf175d9fcc0a: Pulling fs layer\n5a2e2c2fe7e2: Waiting\n9aca2daeac75: Pulling fs layer\nc39795272d2d: Pulling fs layer\nc5ca755942a5: Pulling fs layer\ned50d52c808a: Pulling fs layer\nbf175d9fcc0a: Waiting\n9aca2daeac75: Waiting\nc942dd9ef766: Pulling fs layer\nc39795272d2d: Waiting\n00e3fad6ac06: Pulling fs layer\nc5ca755942a5: Waiting\n1183555cd6b2: Pulling fs layer\ned50d52c808a: Waiting\nc942dd9ef766: Waiting\n00e3fad6ac06: Waiting\n1183555cd6b2: Waiting\n7e27b670a0f5: Verifying Checksum\n7e27b670a0f5: Download complete\nfa94125d190e: Verifying Checksum\nfa94125d190e: Download complete\nc53675a133c6: Download complete\n63e5bc7682b8: Verifying Checksum\n63e5bc7682b8: Download complete\n0497a703e222: Download complete\nbf175d9fcc0a: Verifying Checksum\nbf175d9fcc0a: Download complete\n5a2e2c2fe7e2: Download complete\n5d42da29b261: Verifying Checksum\n5d42da29b261: Download complete\nc39795272d2d: Verifying Checksum\nc39795272d2d: Download complete\nc5ca755942a5: Verifying Checksum\nc5ca755942a5: Download complete\ned50d52c808a: Verifying Checksum\ned50d52c808a: Download complete\nc942dd9ef766: Verifying Checksum\nc942dd9ef766: Download complete\n00e3fad6ac06: Verifying Checksum\n00e3fad6ac06: Download complete\n1183555cd6b2: Verifying Checksum\n1183555cd6b2: Download complete\n9aca2daeac75: Verifying Checksum\n9aca2daeac75: Download complete\n63e5bc7682b8: Pull complete\n7e27b670a0f5: Pull complete\n5d42da29b261: Pull complete\nfa94125d190e: Pull complete\nc53675a133c6: Pull complete\n0497a703e222: Pull complete\n5a2e2c2fe7e2: Pull complete\nbf175d9fcc0a: Pull complete\n9aca2daeac75: Pull complete\nc39795272d2d: Pull complete\nc5ca755942a5: Pull complete\ned50d52c808a: Pull complete\nc942dd9ef766: Pull complete\n00e3fad6ac06: Pull complete\n1183555cd6b2: Pull complete\nDigest: sha256:0fff919f5e0026e04c721cbb4605fa272af40bf6877927c84dde5402f0964dfc\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-cassandra", "63e5bc7682b8: Pulling fs layer", "7e27b670a0f5: Pulling fs layer", "5d42da29b261: Pulling fs layer", "fa94125d190e: Pulling fs layer", "c53675a133c6: Pulling fs layer", "0497a703e222: Pulling fs layer", "5a2e2c2fe7e2: Pulling fs layer", "c53675a133c6: Waiting", "0497a703e222: Waiting", "fa94125d190e: Waiting", "bf175d9fcc0a: Pulling fs layer", "5a2e2c2fe7e2: Waiting", "9aca2daeac75: Pulling fs layer", "c39795272d2d: Pulling fs layer", "c5ca755942a5: Pulling fs layer", "ed50d52c808a: Pulling fs layer", "bf175d9fcc0a: Waiting", "9aca2daeac75: Waiting", "c942dd9ef766: Pulling fs layer", "c39795272d2d: Waiting", "00e3fad6ac06: Pulling fs layer", "c5ca755942a5: Waiting", "1183555cd6b2: Pulling fs layer", "ed50d52c808a: Waiting", "c942dd9ef766: Waiting", "00e3fad6ac06: Waiting", "1183555cd6b2: Waiting", "7e27b670a0f5: Verifying Checksum", "7e27b670a0f5: Download complete", "fa94125d190e: Verifying Checksum", "fa94125d190e: Download complete", "c53675a133c6: Download complete", "63e5bc7682b8: Verifying Checksum", "63e5bc7682b8: Download complete", "0497a703e222: Download complete", "bf175d9fcc0a: Verifying Checksum", "bf175d9fcc0a: Download complete", "5a2e2c2fe7e2: Download complete", "5d42da29b261: Verifying Checksum", "5d42da29b261: Download complete", "c39795272d2d: Verifying Checksum", "c39795272d2d: Download complete", "c5ca755942a5: Verifying Checksum", "c5ca755942a5: Download complete", "ed50d52c808a: Verifying Checksum", "ed50d52c808a: Download complete", "c942dd9ef766: Verifying Checksum", "c942dd9ef766: Download complete", "00e3fad6ac06: Verifying Checksum", "00e3fad6ac06: Download complete", "1183555cd6b2: Verifying Checksum", "1183555cd6b2: Download complete", "9aca2daeac75: Verifying Checksum", "9aca2daeac75: Download complete", "63e5bc7682b8: Pull complete", "7e27b670a0f5: Pull complete", "5d42da29b261: Pull complete", "fa94125d190e: Pull complete", "c53675a133c6: Pull complete", "0497a703e222: Pull complete", "5a2e2c2fe7e2: Pull complete", "bf175d9fcc0a: Pull complete", "9aca2daeac75: Pull complete", "c39795272d2d: Pull complete", "c5ca755942a5: Pull complete", "ed50d52c808a: Pull complete", "c942dd9ef766: Pull complete", "00e3fad6ac06: Pull complete", "1183555cd6b2: Pull complete", "Digest: sha256:0fff919f5e0026e04c721cbb4605fa272af40bf6877927c84dde5402f0964dfc", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:05.061885", "end": "2026-01-20 09:39:22.786847", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2026-01-20 09:39:17.724962", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-zookeeper\n1efc276f4ff9: Pulling fs layer\na2f2f93da482: Pulling fs layer\n12cca292b13c: Pulling fs layer\nd73cf48caaac: Pulling fs layer\nc7b4dda8479e: Pulling fs layer\n81afe63ee276: Pulling fs layer\nbe281bc29e5d: Pulling fs layer\ne26ea21af3b5: Pulling fs layer\na901c742be88: Pulling fs layer\nc942dd9ef766: Pulling fs layer\n179969a4ea1b: Pulling fs layer\nbbccc4640a59: Pulling fs layer\nd73cf48caaac: Waiting\nc7b4dda8479e: Waiting\nc942dd9ef766: Waiting\n179969a4ea1b: Waiting\nbbccc4640a59: Waiting\n81afe63ee276: Waiting\nbe281bc29e5d: Waiting\ne26ea21af3b5: Waiting\na901c742be88: Waiting\n12cca292b13c: Verifying Checksum\n12cca292b13c: Download complete\na2f2f93da482: Verifying Checksum\na2f2f93da482: Download complete\nc7b4dda8479e: Verifying Checksum\nc7b4dda8479e: Download complete\n81afe63ee276: Download complete\n1efc276f4ff9: Verifying Checksum\n1efc276f4ff9: Download complete\ne26ea21af3b5: Verifying Checksum\ne26ea21af3b5: Download complete\na901c742be88: Download complete\nc942dd9ef766: Verifying Checksum\nc942dd9ef766: Download complete\nbe281bc29e5d: Verifying Checksum\nbe281bc29e5d: Download complete\n179969a4ea1b: Download complete\nbbccc4640a59: Verifying Checksum\nbbccc4640a59: Download complete\nd73cf48caaac: Verifying Checksum\nd73cf48caaac: Download complete\n1efc276f4ff9: Pull complete\na2f2f93da482: Pull complete\n12cca292b13c: Pull complete\nd73cf48caaac: Pull complete\nc7b4dda8479e: Pull complete\n81afe63ee276: Pull complete\nbe281bc29e5d: Pull complete\ne26ea21af3b5: Pull complete\na901c742be88: Pull complete\nc942dd9ef766: Pull complete\n179969a4ea1b: Pull complete\nbbccc4640a59: Pull complete\nDigest: sha256:fbc7b9a543d450360079e9ffa966ef13d83be3bb93746692246f5d4f403a4b3d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-zookeeper", "1efc276f4ff9: Pulling fs layer", "a2f2f93da482: Pulling fs layer", "12cca292b13c: Pulling fs layer", "d73cf48caaac: Pulling fs layer", "c7b4dda8479e: Pulling fs layer", "81afe63ee276: Pulling fs layer", "be281bc29e5d: Pulling fs layer", "e26ea21af3b5: Pulling fs layer", "a901c742be88: Pulling fs layer", "c942dd9ef766: Pulling fs layer", "179969a4ea1b: Pulling fs layer", "bbccc4640a59: Pulling fs layer", "d73cf48caaac: Waiting", "c7b4dda8479e: Waiting", "c942dd9ef766: Waiting", "179969a4ea1b: Waiting", "bbccc4640a59: Waiting", "81afe63ee276: Waiting", "be281bc29e5d: Waiting", "e26ea21af3b5: Waiting", "a901c742be88: Waiting", "12cca292b13c: Verifying Checksum", "12cca292b13c: Download complete", "a2f2f93da482: Verifying Checksum", "a2f2f93da482: Download complete", "c7b4dda8479e: Verifying Checksum", "c7b4dda8479e: Download complete", "81afe63ee276: Download complete", "1efc276f4ff9: Verifying Checksum", "1efc276f4ff9: Download complete", "e26ea21af3b5: Verifying Checksum", "e26ea21af3b5: Download complete", "a901c742be88: Download complete", "c942dd9ef766: Verifying Checksum", "c942dd9ef766: Download complete", "be281bc29e5d: Verifying Checksum", "be281bc29e5d: Download complete", "179969a4ea1b: Download complete", "bbccc4640a59: Verifying Checksum", "bbccc4640a59: Download complete", "d73cf48caaac: Verifying Checksum", "d73cf48caaac: Download complete", "1efc276f4ff9: Pull complete", "a2f2f93da482: Pull complete", "12cca292b13c: Pull complete", "d73cf48caaac: Pull complete", "c7b4dda8479e: Pull complete", "81afe63ee276: Pull complete", "be281bc29e5d: Pull complete", "e26ea21af3b5: Pull complete", "a901c742be88: Pull complete", "c942dd9ef766: Pull complete", "179969a4ea1b: Pull complete", "bbccc4640a59: Pull complete", "Digest: sha256:fbc7b9a543d450360079e9ffa966ef13d83be3bb93746692246f5d4f403a4b3d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:06.225398", "end": "2026-01-20 09:39:29.518926", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2026-01-20 09:39:23.293528", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: 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\n6e8039129738: Pulling fs layer\n7356449dd1e6: Pulling fs layer\nf883d1da5afc: Pulling fs layer\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\n6e8039129738: Waiting\n7356449dd1e6: Waiting\nf883d1da5afc: Waiting\ne7add638ac41: Waiting\nc47c3bedb477: Waiting\n2d0a461f4591: Waiting\n027715895e8b: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Download complete\n2d0a461f4591: Verifying Checksum\n2d0a461f4591: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\n6e8039129738: Download complete\n7356449dd1e6: Verifying Checksum\n7356449dd1e6: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\nf883d1da5afc: Verifying Checksum\nf883d1da5afc: Download complete\n675920708c8b: Pull 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\n6e8039129738: Pull complete\n7356449dd1e6: Pull complete\nf883d1da5afc: Pull complete\nDigest: sha256:5b95beefb8db2f13c1410b853208b495013b76ad783329c15f68ae6aeb1fb0a6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: 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", "6e8039129738: Pulling fs layer", "7356449dd1e6: Pulling fs layer", "f883d1da5afc: Pulling fs layer", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "6e8039129738: Waiting", "7356449dd1e6: Waiting", "f883d1da5afc: Waiting", "e7add638ac41: Waiting", "c47c3bedb477: Waiting", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Download complete", "2d0a461f4591: Verifying Checksum", "2d0a461f4591: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "6e8039129738: Download complete", "7356449dd1e6: Verifying Checksum", "7356449dd1e6: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "f883d1da5afc: Verifying Checksum", "f883d1da5afc: Download complete", "675920708c8b: Pull 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", "6e8039129738: Pull complete", "7356449dd1e6: Pull complete", "f883d1da5afc: Pull complete", "Digest: sha256:5b95beefb8db2f13c1410b853208b495013b76ad783329c15f68ae6aeb1fb0a6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.298983", "end": "2026-01-20 09:39:30.352180", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:39:30.053197", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n2e4544ae4a3c: Pulling fs layer\n2e4544ae4a3c: Download complete\n2e4544ae4a3c: Pull complete\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "2e4544ae4a3c: Pulling fs layer", "2e4544ae4a3c: Download complete", "2e4544ae4a3c: Pull complete", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_config_database : create /etc/contrail/config_database] ********** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"cassandra_seeds": "10.0.0.38"}, "changed": false} TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.38] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.38"}, "changed": false} TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.38] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.38"}, "changed": false} TASK [opensdn_config_database : Set variables for reaper tool] ***************** ok: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] *** changed: [10.0.0.38] => {"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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "8fb169fac2b93bb71a1a14d9c9b24ef72288044e", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "382520c9a4940b9c54b65680341fc557", "mode": "0644", "owner": "root", "size": 4019, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768901991.4103153-58907-151133033198091/source", "state": "file", "uid": 0} TASK [opensdn_config_database : start contrail config database] **************** changed: [10.0.0.38] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "9e603aff77c3ad36883a468fcfcd54540d9d7a864595c624e7fcf32002d38cdc", "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", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "22.04", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "9b3cb0587e34f9ae627dd1634d7a011add1b88b3e9d48c17ebeceb7f7913b6c9", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "224af6f60c53459d9b5643ca098d4aae0ab43cf36db65c9afde198e8b08afe8a", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "9fc95d22d57e595bb0379cae2281d8c3d32dcca338de627c7e974113be73e6b1", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "698eb4467c2864ecb45357af20dc3b8f5ceb7c009c0f8e1f893615323b9a1e49", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.197889", "end": "2026-01-20 09:39:56.079388", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:39:55.881499", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.137368", "end": "2026-01-20 09:39:56.750787", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:39:56.613419", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:01.269710", "end": "2026-01-20 09:39:58.507129", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2026-01-20 09:39:57.237419", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n82758e76f61f: Pulling fs layer\n408f17d97975: Pulling fs layer\nd9e2740f155f: Pulling fs layer\n82758e76f61f: Verifying Checksum\n82758e76f61f: Download complete\n408f17d97975: Verifying Checksum\n408f17d97975: Download complete\n82758e76f61f: Pull complete\nd9e2740f155f: Verifying Checksum\nd9e2740f155f: Download complete\n408f17d97975: Pull complete\nd9e2740f155f: Pull complete\nDigest: sha256:37b3f3805aef83a45751511e7f6f5ad2dde0e6c9beb71d25504188472883571c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "82758e76f61f: Pulling fs layer", "408f17d97975: Pulling fs layer", "d9e2740f155f: Pulling fs layer", "82758e76f61f: Verifying Checksum", "82758e76f61f: Download complete", "408f17d97975: Verifying Checksum", "408f17d97975: Download complete", "82758e76f61f: Pull complete", "d9e2740f155f: Verifying Checksum", "d9e2740f155f: Download complete", "408f17d97975: Pull complete", "d9e2740f155f: Pull complete", "Digest: sha256:37b3f3805aef83a45751511e7f6f5ad2dde0e6c9beb71d25504188472883571c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:01.196746", "end": "2026-01-20 09:40:00.264967", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2026-01-20 09:39:59.068221", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nc7834459b536: Pulling fs layer\n30c0979578db: Pulling fs layer\nc7834459b536: Download complete\nc7834459b536: Pull complete\n30c0979578db: Download complete\n30c0979578db: Pull complete\nDigest: sha256:176779643f8793d945557c61b9d1478db3ea5c26c2d98e8630eb5cb955e97190\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "c7834459b536: Pulling fs layer", "30c0979578db: Pulling fs layer", "c7834459b536: Download complete", "c7834459b536: Pull complete", "30c0979578db: Download complete", "30c0979578db: Pull complete", "Digest: sha256:176779643f8793d945557c61b9d1478db3ea5c26c2d98e8630eb5cb955e97190", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.461046", "end": "2026-01-20 09:40:01.266574", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2026-01-20 09:40:00.805528", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\ne8c62cd6c8f9: Pulling fs layer\ne51c881be123: Pulling fs layer\ne8c62cd6c8f9: Verifying Checksum\ne8c62cd6c8f9: Download complete\ne51c881be123: Verifying Checksum\ne51c881be123: Download complete\ne8c62cd6c8f9: Pull complete\ne51c881be123: Pull complete\nDigest: sha256:1a73eb67da8acb441fd3d9a5fc234b93844ce6cef399ba2975f09004808887f9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "e8c62cd6c8f9: Pulling fs layer", "e51c881be123: Pulling fs layer", "e8c62cd6c8f9: Verifying Checksum", "e8c62cd6c8f9: Download complete", "e51c881be123: Verifying Checksum", "e51c881be123: Download complete", "e8c62cd6c8f9: Pull complete", "e51c881be123: Pull complete", "Digest: sha256:1a73eb67da8acb441fd3d9a5fc234b93844ce6cef399ba2975f09004808887f9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:08.675377", "end": "2026-01-20 09:40:10.487054", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:40:01.811677", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n74e07391649d: Pulling fs layer\n70bf0d083808: Pulling fs layer\n0c80b11e4ea2: Pulling fs layer\n0c80b11e4ea2: Verifying Checksum\n0c80b11e4ea2: Download complete\n74e07391649d: Download complete\n74e07391649d: Pull complete\n70bf0d083808: Verifying Checksum\n70bf0d083808: Download complete\n70bf0d083808: Pull complete\n0c80b11e4ea2: Pull complete\nDigest: sha256:ae770b2d885162ab5bf3882e6f0be36621b06dd5cfd9fb23463e78f1c564d6a4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "74e07391649d: Pulling fs layer", "70bf0d083808: Pulling fs layer", "0c80b11e4ea2: Pulling fs layer", "0c80b11e4ea2: Verifying Checksum", "0c80b11e4ea2: Download complete", "74e07391649d: Download complete", "74e07391649d: Pull complete", "70bf0d083808: Verifying Checksum", "70bf0d083808: Download complete", "70bf0d083808: Pull complete", "0c80b11e4ea2: Pull complete", "Digest: sha256:ae770b2d885162ab5bf3882e6f0be36621b06dd5cfd9fb23463e78f1c564d6a4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.638137", "end": "2026-01-20 09:40:11.620289", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2026-01-20 09:40:10.982152", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nc08c355ef03a: Pulling fs layer\n4ceeb478084b: Pulling fs layer\n32cc88fcf812: Pulling fs layer\nd378706deb9c: Pulling fs layer\nd378706deb9c: Waiting\n32cc88fcf812: Verifying Checksum\n32cc88fcf812: Download complete\n4ceeb478084b: Verifying Checksum\n4ceeb478084b: Download complete\nc08c355ef03a: Download complete\nc08c355ef03a: Pull complete\n4ceeb478084b: Pull complete\nd378706deb9c: Verifying Checksum\nd378706deb9c: Download complete\n32cc88fcf812: Pull complete\nd378706deb9c: Pull complete\nDigest: sha256:5a2e62e785c900b3700c9cbfd8ac59135f0c541b3fc259b7ee47cab498b42789\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "c08c355ef03a: Pulling fs layer", "4ceeb478084b: Pulling fs layer", "32cc88fcf812: Pulling fs layer", "d378706deb9c: Pulling fs layer", "d378706deb9c: Waiting", "32cc88fcf812: Verifying Checksum", "32cc88fcf812: Download complete", "4ceeb478084b: Verifying Checksum", "4ceeb478084b: Download complete", "c08c355ef03a: Download complete", "c08c355ef03a: Pull complete", "4ceeb478084b: Pull complete", "d378706deb9c: Verifying Checksum", "d378706deb9c: Download complete", "32cc88fcf812: Pull complete", "d378706deb9c: Pull complete", "Digest: sha256:5a2e62e785c900b3700c9cbfd8ac59135f0c541b3fc259b7ee47cab498b42789", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.113675", "end": "2026-01-20 09:40:12.219136", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:40:12.105461", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_config : create /etc/contrail/config] **************************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config : create /etc/contrail/common_config.env] ***************** changed: [10.0.0.38] => {"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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => {"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.38]: 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.38] => {"ansible_facts": {"use_external_tftp": false}, "changed": false} TASK [opensdn_config : check if ironic_pxe is deployed on node] **************** fatal: [10.0.0.38]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.031494", "end": "2026-01-20 09:40:32.481742", "msg": "non-zero return code", "rc": 1, "start": "2026-01-20 09:40:32.450248", "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.38] => {"changed": true, "checksum": "29bfce6a207ee5467672897d044789232d921119", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "8a6e23d490a02fc453a689bca6326085", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902032.7982008-63955-196429655516794/source", "state": "file", "uid": 0} TASK [opensdn_config : start contrail config] ********************************** changed: [10.0.0.38] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "ee2b8fd50a26da5314deb05cc84ab872d2e106d7533f50eae8edd33336da5ec6", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "ea6d6285d0ffcbe7d0b2f583a48fbd0260db8cb1655635caa16f870896ba31c9", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "74c8b97dce38303944f20445f01104586abdfaa022f9aa674efcffaf615f2044", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "e8e2f0ab55ceaa0ce86948804404faae35604290857ad1e69ac355918e9a0bb0", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "be49aa0b20065894c61fd48a7a62601e5ee40312706a67bb54a9bc5fecfffb1e", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "1db959d71ef9ee6e9dfd43e623f1df7297e9b4305e127a7f73560e7988aea5da", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "3bafaa22e13e8c838846b02a5294e89f6ef330f93eccd1a087a7e5db5973cb8a", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:13.125136", "end": "2026-01-20 09:40:50.398578", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2026-01-20 09:40:37.273442", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nca83fd2c146f: Pulling fs layer\n86fa1f91eced: Pulling fs layer\n6f6bec608f27: Pulling fs layer\n1a1e92acb472: Pulling fs layer\n77d5a4b03b9a: Pulling fs layer\n8d65cb435c14: Pulling fs layer\n2e832f139ef7: Pulling fs layer\n1a1e92acb472: Waiting\n4f4fb700ef54: Pulling fs layer\n77d5a4b03b9a: Waiting\n8d65cb435c14: Waiting\n4f4fb700ef54: Waiting\n2e832f139ef7: Waiting\nca83fd2c146f: Verifying Checksum\nca83fd2c146f: Download complete\n1a1e92acb472: Verifying Checksum\n1a1e92acb472: Download complete\n77d5a4b03b9a: Verifying Checksum\n77d5a4b03b9a: Download complete\n8d65cb435c14: Download complete\n2e832f139ef7: Verifying Checksum\n2e832f139ef7: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n86fa1f91eced: Verifying Checksum\n86fa1f91eced: Download complete\nca83fd2c146f: Pull complete\n6f6bec608f27: Download complete\n86fa1f91eced: Pull complete\n6f6bec608f27: Pull complete\n1a1e92acb472: Pull complete\n77d5a4b03b9a: Pull complete\n8d65cb435c14: Pull complete\n2e832f139ef7: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:da3ae8405e93728a4570249e696941344ca0f57017b962a6b9c761e1832a7998\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "ca83fd2c146f: Pulling fs layer", "86fa1f91eced: Pulling fs layer", "6f6bec608f27: Pulling fs layer", "1a1e92acb472: Pulling fs layer", "77d5a4b03b9a: Pulling fs layer", "8d65cb435c14: Pulling fs layer", "2e832f139ef7: Pulling fs layer", "1a1e92acb472: Waiting", "4f4fb700ef54: Pulling fs layer", "77d5a4b03b9a: Waiting", "8d65cb435c14: Waiting", "4f4fb700ef54: Waiting", "2e832f139ef7: Waiting", "ca83fd2c146f: Verifying Checksum", "ca83fd2c146f: Download complete", "1a1e92acb472: Verifying Checksum", "1a1e92acb472: Download complete", "77d5a4b03b9a: Verifying Checksum", "77d5a4b03b9a: Download complete", "8d65cb435c14: Download complete", "2e832f139ef7: Verifying Checksum", "2e832f139ef7: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "86fa1f91eced: Verifying Checksum", "86fa1f91eced: Download complete", "ca83fd2c146f: Pull complete", "6f6bec608f27: Download complete", "86fa1f91eced: Pull complete", "6f6bec608f27: Pull complete", "1a1e92acb472: Pull complete", "77d5a4b03b9a: Pull complete", "8d65cb435c14: Pull complete", "2e832f139ef7: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:da3ae8405e93728a4570249e696941344ca0f57017b962a6b9c761e1832a7998", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.358238", "end": "2026-01-20 09:40:51.283914", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2026-01-20 09:40:50.925676", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nca83fd2c146f: Already exists\n86fa1f91eced: Already exists\n6f6bec608f27: Already exists\n1a1e92acb472: Already exists\n77d5a4b03b9a: Already exists\n8d65cb435c14: Already exists\n2e832f139ef7: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:c91ae82464b19f927cfebe80a61a88bcaf8a1bc009309e54e352a5d9b160edcd\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "ca83fd2c146f: Already exists", "86fa1f91eced: Already exists", "6f6bec608f27: Already exists", "1a1e92acb472: Already exists", "77d5a4b03b9a: Already exists", "8d65cb435c14: Already exists", "2e832f139ef7: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:c91ae82464b19f927cfebe80a61a88bcaf8a1bc009309e54e352a5d9b160edcd", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_5_2-2"]} TASK [opensdn_webui : create /etc/contrail/webui] ****************************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_webui : create /etc/contrail/common_webui.env] ******************* changed: [10.0.0.38] => {"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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "aa67f71bb6aec7d609b9383d77b115da3de937a1", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "3d3eccbd209299c2b8b9e7660267a937", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902071.3032875-68325-3517657366139/source", "state": "file", "uid": 0} TASK [opensdn_webui : start contrail webui] ************************************ changed: [10.0.0.38] => {"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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "f18ffd2a9eea9ddb753f1a9a77ee256c1176d052b425d94a98c19c59f9f9c039", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "web": {"webui_web_1": {"cmd": ["/usr/bin/node", "webServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "9c0cf78a87c2c6820f3e049e33eee484d84f092ad704e3128d1092b72a0a55de", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.115410", "end": "2026-01-20 09:41:14.657286", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:41:14.541876", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.115638", "end": "2026-01-20 09:41:15.265462", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:41:15.149824", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:07.291359", "end": "2026-01-20 09:41:23.120081", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2026-01-20 09:41:15.828722", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nf8c89f938194: Pulling fs layer\nc022c8c94b95: Pulling fs layer\n22f6b5f252ff: Pulling fs layer\n9714761968a4: Pulling fs layer\n9714761968a4: Waiting\n22f6b5f252ff: Download complete\n9714761968a4: Verifying Checksum\n9714761968a4: Download complete\nf8c89f938194: Verifying Checksum\nf8c89f938194: Download complete\nf8c89f938194: Pull complete\nc022c8c94b95: Verifying Checksum\nc022c8c94b95: Download complete\nc022c8c94b95: Pull complete\n22f6b5f252ff: Pull complete\n9714761968a4: Pull complete\nDigest: sha256:3e9d06a3b159ad06fad559faa754b06214ce3bc8ff0d75641c337779425170ff\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "f8c89f938194: Pulling fs layer", "c022c8c94b95: Pulling fs layer", "22f6b5f252ff: Pulling fs layer", "9714761968a4: Pulling fs layer", "9714761968a4: Waiting", "22f6b5f252ff: Download complete", "9714761968a4: Verifying Checksum", "9714761968a4: Download complete", "f8c89f938194: Verifying Checksum", "f8c89f938194: Download complete", "f8c89f938194: Pull complete", "c022c8c94b95: Verifying Checksum", "c022c8c94b95: Download complete", "c022c8c94b95: Pull complete", "22f6b5f252ff: Pull complete", "9714761968a4: Pull complete", "Digest: sha256:3e9d06a3b159ad06fad559faa754b06214ce3bc8ff0d75641c337779425170ff", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.691574", "end": "2026-01-20 09:41:24.327913", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2026-01-20 09:41:23.636339", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nf8c89f938194: Already exists\n10f19bd7ab5d: Pulling fs layer\ndfd6f6a0072c: Pulling fs layer\n3caed797ea8b: Pulling fs layer\n6973f2e9c143: Pulling fs layer\na28e639bb982: Pulling fs layer\n3e39e3d50b5e: Pulling fs layer\n6973f2e9c143: Waiting\na28e639bb982: Waiting\n3e39e3d50b5e: Waiting\n10f19bd7ab5d: Download complete\ndfd6f6a0072c: Download complete\na28e639bb982: Verifying Checksum\na28e639bb982: Download complete\n3caed797ea8b: Verifying Checksum\n3caed797ea8b: Download complete\n6973f2e9c143: Verifying Checksum\n10f19bd7ab5d: Pull complete\n3e39e3d50b5e: Verifying Checksum\n3e39e3d50b5e: Download complete\ndfd6f6a0072c: Pull complete\n3caed797ea8b: Pull complete\n6973f2e9c143: Pull complete\na28e639bb982: Pull complete\n3e39e3d50b5e: Pull complete\nDigest: sha256:6ab0e087a5eb4beaac9cf00017b9b0a34b83d4973e37a78272b3dd6fb1f1bc70\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "f8c89f938194: Already exists", "10f19bd7ab5d: Pulling fs layer", "dfd6f6a0072c: Pulling fs layer", "3caed797ea8b: Pulling fs layer", "6973f2e9c143: Pulling fs layer", "a28e639bb982: Pulling fs layer", "3e39e3d50b5e: Pulling fs layer", "6973f2e9c143: Waiting", "a28e639bb982: Waiting", "3e39e3d50b5e: Waiting", "10f19bd7ab5d: Download complete", "dfd6f6a0072c: Download complete", "a28e639bb982: Verifying Checksum", "a28e639bb982: Download complete", "3caed797ea8b: Verifying Checksum", "3caed797ea8b: Download complete", "6973f2e9c143: Verifying Checksum", "10f19bd7ab5d: Pull complete", "3e39e3d50b5e: Verifying Checksum", "3e39e3d50b5e: Download complete", "dfd6f6a0072c: Pull complete", "3caed797ea8b: Pull complete", "6973f2e9c143: Pull complete", "a28e639bb982: Pull complete", "3e39e3d50b5e: Pull complete", "Digest: sha256:6ab0e087a5eb4beaac9cf00017b9b0a34b83d4973e37a78272b3dd6fb1f1bc70", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:04.259837", "end": "2026-01-20 09:41:29.088879", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2026-01-20 09:41:24.829042", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nf8c89f938194: Already exists\nb885d26e5ac3: Pulling fs layer\nd325256d5a6d: Pulling fs layer\n74b9047f150e: Pulling fs layer\n5982e5e540e9: Pulling fs layer\n5a79ab31ff1d: Pulling fs layer\nebad5d71be44: Pulling fs layer\nb043dcf4c58d: Pulling fs layer\nd77ef13586e2: Pulling fs layer\ndb39f010bc4c: Pulling fs layer\n5982e5e540e9: Waiting\n5a79ab31ff1d: Waiting\nebad5d71be44: Waiting\nb043dcf4c58d: Waiting\nd77ef13586e2: Waiting\ndb39f010bc4c: Waiting\n74b9047f150e: Verifying Checksum\n74b9047f150e: Download complete\nd325256d5a6d: Download complete\n5982e5e540e9: Download complete\n5a79ab31ff1d: Verifying Checksum\n5a79ab31ff1d: Download complete\nb043dcf4c58d: Verifying Checksum\nb043dcf4c58d: Download complete\nd77ef13586e2: Verifying Checksum\nd77ef13586e2: Download complete\nebad5d71be44: Verifying Checksum\nebad5d71be44: Download complete\ndb39f010bc4c: Verifying Checksum\ndb39f010bc4c: Download complete\nb885d26e5ac3: Verifying Checksum\nb885d26e5ac3: Download complete\nb885d26e5ac3: Pull complete\nd325256d5a6d: Pull complete\n74b9047f150e: Pull complete\n5982e5e540e9: Pull complete\n5a79ab31ff1d: Pull complete\nebad5d71be44: Pull complete\nb043dcf4c58d: Pull complete\nd77ef13586e2: Pull complete\ndb39f010bc4c: Pull complete\nDigest: sha256:6ab0f0c7980cc2b3b02715a015eaff9c14c87de61c2a62aa6897487736ff69e1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "f8c89f938194: Already exists", "b885d26e5ac3: Pulling fs layer", "d325256d5a6d: Pulling fs layer", "74b9047f150e: Pulling fs layer", "5982e5e540e9: Pulling fs layer", "5a79ab31ff1d: Pulling fs layer", "ebad5d71be44: Pulling fs layer", "b043dcf4c58d: Pulling fs layer", "d77ef13586e2: Pulling fs layer", "db39f010bc4c: Pulling fs layer", "5982e5e540e9: Waiting", "5a79ab31ff1d: Waiting", "ebad5d71be44: Waiting", "b043dcf4c58d: Waiting", "d77ef13586e2: Waiting", "db39f010bc4c: Waiting", "74b9047f150e: Verifying Checksum", "74b9047f150e: Download complete", "d325256d5a6d: Download complete", "5982e5e540e9: Download complete", "5a79ab31ff1d: Verifying Checksum", "5a79ab31ff1d: Download complete", "b043dcf4c58d: Verifying Checksum", "b043dcf4c58d: Download complete", "d77ef13586e2: Verifying Checksum", "d77ef13586e2: Download complete", "ebad5d71be44: Verifying Checksum", "ebad5d71be44: Download complete", "db39f010bc4c: Verifying Checksum", "db39f010bc4c: Download complete", "b885d26e5ac3: Verifying Checksum", "b885d26e5ac3: Download complete", "b885d26e5ac3: Pull complete", "d325256d5a6d: Pull complete", "74b9047f150e: Pull complete", "5982e5e540e9: Pull complete", "5a79ab31ff1d: Pull complete", "ebad5d71be44: Pull complete", "b043dcf4c58d: Pull complete", "d77ef13586e2: Pull complete", "db39f010bc4c: Pull complete", "Digest: sha256:6ab0f0c7980cc2b3b02715a015eaff9c14c87de61c2a62aa6897487736ff69e1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.107270", "end": "2026-01-20 09:41:29.674698", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:41:29.567428", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_control : create /etc/contrail/control] ************************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_control : create /etc/contrail/common_control.env] *************** changed: [10.0.0.38] => {"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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "119f784533926f4dc66380c880b266f60850faf3", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "f1943e69b3611dd5fa607130d6c87f0a", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902109.7819932-71924-40515445539579/source", "state": "file", "uid": 0} TASK [opensdn_control : start contrail control] ******************************** changed: [10.0.0.38] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "fb69b14df4d136b248be19af07359284b4882a0f609f66273ee1ec837f049d67", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "132b2d86e7b5a0183b6d1525720615ee8ea4d4b3e3c82c964b540156528d3578", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "f631f5df018aa2bdcdeeb56488d64b561cc4ca91fb3cd07af0583b9d3433f482", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "33c03a3692ace29edcc08ad479832f04578aa23f8cb088c80efa5979096eeecb", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "db0d5524c7c029bf2ca9c012c0b424d1741943d54fa89ee823d253a157182488", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.124888", "end": "2026-01-20 09:41:54.906251", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:41:54.781363", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.122218", "end": "2026-01-20 09:41:55.537468", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:41:55.415250", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:02.993032", "end": "2026-01-20 09:41:59.059906", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2026-01-20 09:41:56.066874", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n658f13837960: Pulling fs layer\n277e1f3d79f8: Pulling fs layer\nb426b077dd15: Pulling fs layer\n658f13837960: Download complete\n658f13837960: Pull complete\nb426b077dd15: Download complete\n277e1f3d79f8: Verifying Checksum\n277e1f3d79f8: Download complete\n277e1f3d79f8: Pull complete\nb426b077dd15: Pull complete\nDigest: sha256:5e685cec3b513528fe3e9aea68142c2c58fc4e87ff60a3112aab1d204c4b50ce\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "658f13837960: Pulling fs layer", "277e1f3d79f8: Pulling fs layer", "b426b077dd15: Pulling fs layer", "658f13837960: Download complete", "658f13837960: Pull complete", "b426b077dd15: Download complete", "277e1f3d79f8: Verifying Checksum", "277e1f3d79f8: Download complete", "277e1f3d79f8: Pull complete", "b426b077dd15: Pull complete", "Digest: sha256:5e685cec3b513528fe3e9aea68142c2c58fc4e87ff60a3112aab1d204c4b50ce", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.106002", "end": "2026-01-20 09:41:59.668685", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-01-20 09:41:59.562683", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-cassandra\nDigest: sha256:0fff919f5e0026e04c721cbb4605fa272af40bf6877927c84dde5402f0964dfc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-cassandra", "Digest: sha256:0fff919f5e0026e04c721cbb4605fa272af40bf6877927c84dde5402f0964dfc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.118652", "end": "2026-01-20 09:42:00.300171", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:42:00.181519", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] **** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"cassandra_seeds": "10.0.0.38"}, "changed": false} TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] *** ok: [10.0.0.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] *** changed: [10.0.0.38] => {"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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "b22b38ba00c31af17ae79aab89b6f65355b99e0e", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "e7ec1c4f5e300cedef7f3025606d2f03", "mode": "0644", "owner": "root", "size": 3013, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902140.3871017-75773-134030096579333/source", "state": "file", "uid": 0} TASK [opensdn_analytics_database : start contrail analyticsdb] ***************** changed: [10.0.0.38] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "3e4b17ffef62ecdc02cc28412bb19fe4546541eff6f7a25eaed2e5c1e3822df7", "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", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "22.04", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "51122d67a46c84816987c9536a6eaaace7e1a090a8cff0a1fbe26ecf903692f1", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "f0904ca0f987785c93dba21da2b380cdd0b80d33fccf2dd4f74a0fb1179d8d24", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "38a202c38730ac4661b93d155e50c1929d2ab63c7252cf458a37759b8c0e5031", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.116099", "end": "2026-01-20 09:42:24.488421", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:42:24.372322", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.118409", "end": "2026-01-20 09:42:25.252507", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:42:25.134098", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:02.172363", "end": "2026-01-20 09:42:27.949972", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2026-01-20 09:42:25.777609", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n35ca31e50bc3: Pulling fs layer\n40958fbb604b: Pulling fs layer\n2e5e9384a7ad: Pulling fs layer\n0f8e905bd494: Pulling fs layer\ncbdde1bf6ce5: Pulling fs layer\n0f8e905bd494: Waiting\ncbdde1bf6ce5: Waiting\n35ca31e50bc3: Download complete\n40958fbb604b: Verifying Checksum\n40958fbb604b: Download complete\n35ca31e50bc3: Pull complete\n2e5e9384a7ad: Verifying Checksum\n2e5e9384a7ad: Download complete\n0f8e905bd494: Verifying Checksum\n0f8e905bd494: Download complete\n40958fbb604b: Pull complete\ncbdde1bf6ce5: Verifying Checksum\ncbdde1bf6ce5: Download complete\n2e5e9384a7ad: Pull complete\n0f8e905bd494: Pull complete\ncbdde1bf6ce5: Pull complete\nDigest: sha256:10aad090904f4dcfeefa64d0388762a5c5931a6183b81f05cc06a76d291286d2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "35ca31e50bc3: Pulling fs layer", "40958fbb604b: Pulling fs layer", "2e5e9384a7ad: Pulling fs layer", "0f8e905bd494: Pulling fs layer", "cbdde1bf6ce5: Pulling fs layer", "0f8e905bd494: Waiting", "cbdde1bf6ce5: Waiting", "35ca31e50bc3: Download complete", "40958fbb604b: Verifying Checksum", "40958fbb604b: Download complete", "35ca31e50bc3: Pull complete", "2e5e9384a7ad: Verifying Checksum", "2e5e9384a7ad: Download complete", "0f8e905bd494: Verifying Checksum", "0f8e905bd494: Download complete", "40958fbb604b: Pull complete", "cbdde1bf6ce5: Verifying Checksum", "cbdde1bf6ce5: Download complete", "2e5e9384a7ad: Pull complete", "0f8e905bd494: Pull complete", "cbdde1bf6ce5: Pull complete", "Digest: sha256:10aad090904f4dcfeefa64d0388762a5c5931a6183b81f05cc06a76d291286d2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:04.280463", "end": "2026-01-20 09:42:32.838596", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2026-01-20 09:42:28.558133", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nbfe5c06c7acd: Pulling fs layer\n03036bdd2d5e: Pulling fs layer\n4fe90d632944: Pulling fs layer\nbfe5c06c7acd: Verifying Checksum\nbfe5c06c7acd: Download complete\nbfe5c06c7acd: Pull complete\n4fe90d632944: Verifying Checksum\n4fe90d632944: Download complete\n03036bdd2d5e: Verifying Checksum\n03036bdd2d5e: Download complete\n03036bdd2d5e: Pull complete\n4fe90d632944: Pull complete\nDigest: sha256:a8b0dea4889800317f2417bff1fd1777430aa7cc0c94b14466980ed52bf4745c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "bfe5c06c7acd: Pulling fs layer", "03036bdd2d5e: Pulling fs layer", "4fe90d632944: Pulling fs layer", "bfe5c06c7acd: Verifying Checksum", "bfe5c06c7acd: Download complete", "bfe5c06c7acd: Pull complete", "4fe90d632944: Verifying Checksum", "4fe90d632944: Download complete", "03036bdd2d5e: Verifying Checksum", "03036bdd2d5e: Download complete", "03036bdd2d5e: Pull complete", "4fe90d632944: Pull complete", "Digest: sha256:a8b0dea4889800317f2417bff1fd1777430aa7cc0c94b14466980ed52bf4745c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.123361", "end": "2026-01-20 09:42:33.461660", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:42:33.338299", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_analytics : create /etc/contrail/analytics] ********************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] *********** changed: [10.0.0.38] => {"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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => (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.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "88114837e4095db5e73e3ee116150a183cb42bf0", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "d5baaf0c078018e581cad00e7831586b", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902173.8689163-79846-86090653713110/source", "state": "file", "uid": 0} TASK [opensdn_analytics : start contrail analytics] **************************** changed: [10.0.0.38] => {"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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "0b1600f9b97eb8fd514468d12af1f41733ae0f3233d86b38628225951535646b", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "125543c58db5a2c971fbd657598635c08c8c17c94c33a10c02482591fcf57993", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "0fc6a4a92de3cf83f65dc982050200ad85a0d85bddf1c30a7663de193cf16012", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "5cfeac17008794e154c93c81138b19bfbf30426df80268e8b33b361b5a285bfb", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.111595", "end": "2026-01-20 09:42:57.822009", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:42:57.710414", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.129296", "end": "2026-01-20 09:42:58.492292", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:42:58.362996", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.795893", "end": "2026-01-20 09:42:59.880257", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2026-01-20 09:42:59.084364", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\ncd7cab18abf2: Pulling fs layer\n8b3a20298c7e: Pulling fs layer\ncd7cab18abf2: Verifying Checksum\ncd7cab18abf2: Download complete\ncd7cab18abf2: Pull complete\n8b3a20298c7e: Verifying Checksum\n8b3a20298c7e: Download complete\n8b3a20298c7e: Pull complete\nDigest: sha256:5ae4e611ca68bcbf6150feb68e4fecbbbd1f3eee74e7bf5e2f21672d846efca1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "cd7cab18abf2: Pulling fs layer", "8b3a20298c7e: Pulling fs layer", "cd7cab18abf2: Verifying Checksum", "cd7cab18abf2: Download complete", "cd7cab18abf2: Pull complete", "8b3a20298c7e: Verifying Checksum", "8b3a20298c7e: Download complete", "8b3a20298c7e: Pull complete", "Digest: sha256:5ae4e611ca68bcbf6150feb68e4fecbbbd1f3eee74e7bf5e2f21672d846efca1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:07.864966", "end": "2026-01-20 09:43:08.340531", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2026-01-20 09:43:00.475565", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-kafka\nf18232174bc9: Pulling fs layer\nf6cd406c8d97: Pulling fs layer\n74f6a226ed93: Pulling fs layer\ne6744199aa66: Pulling fs layer\ncda86626eeb3: Pulling fs layer\n304e58a73598: Pulling fs layer\n34d370b15c91: Pulling fs layer\n6e6e21ba9841: Pulling fs layer\na34edb4da622: Pulling fs layer\nf7cdaeb78991: Pulling fs layer\naedc5c620694: Pulling fs layer\nc942dd9ef766: Pulling fs layer\nab6aa0c761cb: Pulling fs layer\nca992bdb622a: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\ne6744199aa66: Waiting\ncda86626eeb3: Waiting\n304e58a73598: Waiting\n34d370b15c91: Waiting\n6e6e21ba9841: Waiting\na34edb4da622: Waiting\nf7cdaeb78991: Waiting\naedc5c620694: Waiting\nc942dd9ef766: Waiting\nab6aa0c761cb: Waiting\nca992bdb622a: Waiting\n4f4fb700ef54: Waiting\nf18232174bc9: Download complete\ne6744199aa66: Verifying Checksum\ne6744199aa66: Download complete\ncda86626eeb3: Verifying Checksum\ncda86626eeb3: Download complete\nf18232174bc9: Pull complete\nf6cd406c8d97: Verifying Checksum\nf6cd406c8d97: Download complete\n34d370b15c91: Verifying Checksum\n34d370b15c91: Download complete\n6e6e21ba9841: Verifying Checksum\n6e6e21ba9841: Download complete\na34edb4da622: Verifying Checksum\na34edb4da622: Download complete\n74f6a226ed93: Verifying Checksum\n74f6a226ed93: Download complete\nf7cdaeb78991: Verifying Checksum\nf7cdaeb78991: Download complete\naedc5c620694: Verifying Checksum\naedc5c620694: Download complete\nc942dd9ef766: Verifying Checksum\nc942dd9ef766: Download complete\nab6aa0c761cb: Verifying Checksum\nab6aa0c761cb: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nca992bdb622a: Verifying Checksum\nca992bdb622a: Download complete\nf6cd406c8d97: Pull complete\n304e58a73598: Verifying Checksum\n304e58a73598: Download complete\n74f6a226ed93: Pull complete\ne6744199aa66: Pull complete\ncda86626eeb3: Pull complete\n304e58a73598: Pull complete\n34d370b15c91: Pull complete\n6e6e21ba9841: Pull complete\na34edb4da622: Pull complete\nf7cdaeb78991: Pull complete\naedc5c620694: Pull complete\nc942dd9ef766: Pull complete\nab6aa0c761cb: Pull complete\nca992bdb622a: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:2828c7ced0a4433ece275446cbaab6ff132b29606125b4594da64549261e922b\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-kafka", "f18232174bc9: Pulling fs layer", "f6cd406c8d97: Pulling fs layer", "74f6a226ed93: Pulling fs layer", "e6744199aa66: Pulling fs layer", "cda86626eeb3: Pulling fs layer", "304e58a73598: Pulling fs layer", "34d370b15c91: Pulling fs layer", "6e6e21ba9841: Pulling fs layer", "a34edb4da622: Pulling fs layer", "f7cdaeb78991: Pulling fs layer", "aedc5c620694: Pulling fs layer", "c942dd9ef766: Pulling fs layer", "ab6aa0c761cb: Pulling fs layer", "ca992bdb622a: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "e6744199aa66: Waiting", "cda86626eeb3: Waiting", "304e58a73598: Waiting", "34d370b15c91: Waiting", "6e6e21ba9841: Waiting", "a34edb4da622: Waiting", "f7cdaeb78991: Waiting", "aedc5c620694: Waiting", "c942dd9ef766: Waiting", "ab6aa0c761cb: Waiting", "ca992bdb622a: Waiting", "4f4fb700ef54: Waiting", "f18232174bc9: Download complete", "e6744199aa66: Verifying Checksum", "e6744199aa66: Download complete", "cda86626eeb3: Verifying Checksum", "cda86626eeb3: Download complete", "f18232174bc9: Pull complete", "f6cd406c8d97: Verifying Checksum", "f6cd406c8d97: Download complete", "34d370b15c91: Verifying Checksum", "34d370b15c91: Download complete", "6e6e21ba9841: Verifying Checksum", "6e6e21ba9841: Download complete", "a34edb4da622: Verifying Checksum", "a34edb4da622: Download complete", "74f6a226ed93: Verifying Checksum", "74f6a226ed93: Download complete", "f7cdaeb78991: Verifying Checksum", "f7cdaeb78991: Download complete", "aedc5c620694: Verifying Checksum", "aedc5c620694: Download complete", "c942dd9ef766: Verifying Checksum", "c942dd9ef766: Download complete", "ab6aa0c761cb: Verifying Checksum", "ab6aa0c761cb: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "ca992bdb622a: Verifying Checksum", "ca992bdb622a: Download complete", "f6cd406c8d97: Pull complete", "304e58a73598: Verifying Checksum", "304e58a73598: Download complete", "74f6a226ed93: Pull complete", "e6744199aa66: Pull complete", "cda86626eeb3: Pull complete", "304e58a73598: Pull complete", "34d370b15c91: Pull complete", "6e6e21ba9841: Pull complete", "a34edb4da622: Pull complete", "f7cdaeb78991: Pull complete", "aedc5c620694: Pull complete", "c942dd9ef766: Pull complete", "ab6aa0c761cb: Pull complete", "ca992bdb622a: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:2828c7ced0a4433ece275446cbaab6ff132b29606125b4594da64549261e922b", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.110818", "end": "2026-01-20 09:43:08.965172", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:43:08.854354", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] ********** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.38"}, "changed": false} TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] *** changed: [10.0.0.38] => {"changed": true, "checksum": "5a6970e91a7ae09838f6cebd0ffc55feea9f2f38", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "9a17f5fe882044cbb622392fb756b035", "mode": "0644", "owner": "root", "size": 2475, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902190.106689-82272-130429993508661/source", "state": "file", "uid": 0} TASK [opensdn_analytics_alarm : start contrail analytics_alarm] **************** changed: [10.0.0.38] => {"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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "b492ab72f56cd2af05ed61d312aedefd402386f8b69d09bdddfcc7138575716b", "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_4_5_2-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["/contrail-entrypoint.sh"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "680ad9fa7c2625c90f1f41427bb8091080ebe490df5931b19c5e143d3c33a249", "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", "maintainer": "Apache Kafka", "name": "opensdn-external-kafka", "org.label-schema.build-date": "2025-05-12", "org.label-schema.description": "Apache Kafka", "org.label-schema.name": "kafka", "org.label-schema.vcs-url": "https://github.com/apache/kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-2_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "251cb818325982d2dff334d7ef489ccfb3a0a336123acafc4032b192ae9eb3f7", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "e1f0b0deb69bc3586bce1be73acfa6426eecd10b84aa80828e1736704b911cae", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.115979", "end": "2026-01-20 09:43:14.548948", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:43:14.432969", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.172929", "end": "2026-01-20 09:43:15.227534", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:43:15.054605", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:06.752073", "end": "2026-01-20 09:43:22.641282", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2026-01-20 09:43:15.889209", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n83662b80be0d: Pulling fs layer\n132765cdabc4: Pulling fs layer\nd43b11378e88: Pulling fs layer\n7746e1ef9588: Pulling fs layer\n7746e1ef9588: Waiting\nd43b11378e88: Verifying Checksum\nd43b11378e88: Download complete\n83662b80be0d: Verifying Checksum\n83662b80be0d: Download complete\n7746e1ef9588: Download complete\n83662b80be0d: Pull complete\n132765cdabc4: Verifying Checksum\n132765cdabc4: Download complete\n132765cdabc4: Pull complete\nd43b11378e88: Pull complete\n7746e1ef9588: Pull complete\nDigest: sha256:695f30293d5ca16f62f9fd2bd40ed6f33818e97b3a91bc96b1e1d4532ebe2cc6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "83662b80be0d: Pulling fs layer", "132765cdabc4: Pulling fs layer", "d43b11378e88: Pulling fs layer", "7746e1ef9588: Pulling fs layer", "7746e1ef9588: Waiting", "d43b11378e88: Verifying Checksum", "d43b11378e88: Download complete", "83662b80be0d: Verifying Checksum", "83662b80be0d: Download complete", "7746e1ef9588: Download complete", "83662b80be0d: Pull complete", "132765cdabc4: Verifying Checksum", "132765cdabc4: Download complete", "132765cdabc4: Pull complete", "d43b11378e88: Pull complete", "7746e1ef9588: Pull complete", "Digest: sha256:695f30293d5ca16f62f9fd2bd40ed6f33818e97b3a91bc96b1e1d4532ebe2cc6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:00.512662", "end": "2026-01-20 09:43:23.775363", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2026-01-20 09:43:23.262701", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\n83662b80be0d: Already exists\n132765cdabc4: Already exists\nc68934cdafc8: Pulling fs layer\n9769f6919c9b: Pulling fs layer\nc68934cdafc8: Download complete\n9769f6919c9b: Verifying Checksum\n9769f6919c9b: Download complete\nc68934cdafc8: Pull complete\n9769f6919c9b: Pull complete\nDigest: sha256:ef65bf969f62324ff4578e997b463098c8cffb6aa9010167a1be03b73b437380\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "83662b80be0d: Already exists", "132765cdabc4: Already exists", "c68934cdafc8: Pulling fs layer", "9769f6919c9b: Pulling fs layer", "c68934cdafc8: Download complete", "9769f6919c9b: Verifying Checksum", "9769f6919c9b: Download complete", "c68934cdafc8: Pull complete", "9769f6919c9b: Pull complete", "Digest: sha256:ef65bf969f62324ff4578e997b463098c8cffb6aa9010167a1be03b73b437380", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.121311", "end": "2026-01-20 09:43:24.416868", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:43:24.295557", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************ changed: [10.0.0.38] => {"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.38] => {"changed": true, "checksum": "f83eda823855a3ff76dbf6d977d2de6151cb50c5", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "eb0a6fd38afe5c35399dafd5ac6d82c0", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902205.2351089-84359-113811459728656/source", "state": "file", "uid": 0} TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ****************** changed: [10.0.0.38] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "a266a16beac1110ce09b5473ec27f78f36884cc761b1ad827a2dd8c32e992ef9", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "551c9fbc7ab56bab02b1530d7cebbad8e6d54fa80b2cb712125814b46043caad", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "e9e775b217fe122c9906364cc4b96361948563367ae13a3ada4bc32bbbed4ac6", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "3cc46445be2dc3060b1b2b0d1e2bbba280ee232f973b8270f9505d872c2da1d2", "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_4_5_2-2"}, "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.38] => (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_4_5_2-2", "delta": "0:00:00.654064", "end": "2026-01-20 09:43:30.342089", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2026-01-20 09:43:29.688025", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nab81d518f39a: Pulling fs layer\n43eab604339a: Pulling fs layer\n748917184709: Pulling fs layer\n5461a32eb0b6: Pulling fs layer\n5461a32eb0b6: Waiting\nab81d518f39a: Verifying Checksum\nab81d518f39a: Download complete\n748917184709: Verifying Checksum\n748917184709: Download complete\n5461a32eb0b6: Verifying Checksum\n5461a32eb0b6: Download complete\nab81d518f39a: Pull complete\n43eab604339a: Verifying Checksum\n43eab604339a: Download complete\n43eab604339a: Pull complete\n748917184709: Pull complete\n5461a32eb0b6: Pull complete\nDigest: sha256:a358315369482cb8cbf2fc8b24d2514a974d421b06e28d6f25cbf049bb5adc2c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "ab81d518f39a: Pulling fs layer", "43eab604339a: Pulling fs layer", "748917184709: Pulling fs layer", "5461a32eb0b6: Pulling fs layer", "5461a32eb0b6: Waiting", "ab81d518f39a: Verifying Checksum", "ab81d518f39a: Download complete", "748917184709: Verifying Checksum", "748917184709: Download complete", "5461a32eb0b6: Verifying Checksum", "5461a32eb0b6: Download complete", "ab81d518f39a: Pull complete", "43eab604339a: Verifying Checksum", "43eab604339a: Download complete", "43eab604339a: Pull complete", "748917184709: Pull complete", "5461a32eb0b6: Pull complete", "Digest: sha256:a358315369482cb8cbf2fc8b24d2514a974d421b06e28d6f25cbf049bb5adc2c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_5_2-2"]} TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************ changed: [10.0.0.38] => {"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.38] => {"changed": true, "checksum": "109005896af935aad19aadb12102eb1223e1e13e", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "8cdcd95bdb4a1a53b26c4875b774cf26", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902211.2047343-85803-50067865644120/source", "state": "file", "uid": 0} TASK [opensdn_rsyslogd : start rsyslogd] *************************************** changed: [10.0.0.38] => {"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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "1396036ec1956917a8a6ad1534f96a93ae8448ccec5d073c815bac1ca9e13adf", "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_4_5_2-2"}, "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.38] => {"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.38] => (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_4_5_2-2", "delta": "0:00:00.123358", "end": "2026-01-20 09:43:34.601929", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-20 09:43:34.478571", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-node-init\nDigest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-node-init", "Digest: sha256:9362de85b2227bd360b2bad1e43f305c18dc517a79695f1eeecf8a85ba16b2b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "delta": "0:00:00.119672", "end": "2026-01-20 09:43:35.332609", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-20 09:43:35.212937", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-nodemgr\nDigest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-nodemgr", "Digest: sha256:4b25805c80d51ea290d53b656ce942920ec5b1635af91b459382393e1917cf3c", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_5_2-2"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "delta": "0:00:00.122335", "end": "2026-01-20 09:43:36.041129", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-20 09:43:35.918794", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-provisioner\nDigest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-provisioner", "Digest: sha256:59052e5a901641351e9e2e1530d9bf54a462aebb10ad7574658ede1b730f896d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:08.207534", "end": "2026-01-20 09:43:44.803145", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2026-01-20 09:43:36.595611", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-vrouter-kernel-build-init\ne93fce65fb9f: Pulling fs layer\n30792aa105d1: Pulling fs layer\naf331d1df8d0: Pulling fs layer\n5e2d19d82f08: Pulling fs layer\n64a65c17528b: Pulling fs layer\n76c9ffbaf2ea: Pulling fs layer\n1a8159ad4e75: Pulling fs layer\naea3904f7aa2: Pulling fs layer\n64c12a0fed59: Pulling fs layer\n5e2d19d82f08: Waiting\n64a65c17528b: Waiting\n76c9ffbaf2ea: Waiting\n1a8159ad4e75: Waiting\naea3904f7aa2: Waiting\n64c12a0fed59: Waiting\n30792aa105d1: Verifying Checksum\n30792aa105d1: Download complete\naf331d1df8d0: Download complete\n5e2d19d82f08: Verifying Checksum\n5e2d19d82f08: Download complete\n76c9ffbaf2ea: Verifying Checksum\n76c9ffbaf2ea: Download complete\n64a65c17528b: Verifying Checksum\n64a65c17528b: Download complete\naea3904f7aa2: Verifying Checksum\naea3904f7aa2: Download complete\n64c12a0fed59: Verifying Checksum\n64c12a0fed59: Download complete\ne93fce65fb9f: Verifying Checksum\ne93fce65fb9f: Download complete\ne93fce65fb9f: Pull complete\n30792aa105d1: Pull complete\naf331d1df8d0: Pull complete\n5e2d19d82f08: Pull complete\n64a65c17528b: Pull complete\n76c9ffbaf2ea: Pull complete\n1a8159ad4e75: Verifying Checksum\n1a8159ad4e75: Download complete\n1a8159ad4e75: Pull complete\naea3904f7aa2: Pull complete\n64c12a0fed59: Pull complete\nDigest: sha256:0ce6900fd9dd812e276ce9c9f90e7391aa892a9006c5ebdb90196aa5132bc877\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-vrouter-kernel-build-init", "e93fce65fb9f: Pulling fs layer", "30792aa105d1: Pulling fs layer", "af331d1df8d0: Pulling fs layer", "5e2d19d82f08: Pulling fs layer", "64a65c17528b: Pulling fs layer", "76c9ffbaf2ea: Pulling fs layer", "1a8159ad4e75: Pulling fs layer", "aea3904f7aa2: Pulling fs layer", "64c12a0fed59: Pulling fs layer", "5e2d19d82f08: Waiting", "64a65c17528b: Waiting", "76c9ffbaf2ea: Waiting", "1a8159ad4e75: Waiting", "aea3904f7aa2: Waiting", "64c12a0fed59: Waiting", "30792aa105d1: Verifying Checksum", "30792aa105d1: Download complete", "af331d1df8d0: Download complete", "5e2d19d82f08: Verifying Checksum", "5e2d19d82f08: Download complete", "76c9ffbaf2ea: Verifying Checksum", "76c9ffbaf2ea: Download complete", "64a65c17528b: Verifying Checksum", "64a65c17528b: Download complete", "aea3904f7aa2: Verifying Checksum", "aea3904f7aa2: Download complete", "64c12a0fed59: Verifying Checksum", "64c12a0fed59: Download complete", "e93fce65fb9f: Verifying Checksum", "e93fce65fb9f: Download complete", "e93fce65fb9f: Pull complete", "30792aa105d1: Pull complete", "af331d1df8d0: Pull complete", "5e2d19d82f08: Pull complete", "64a65c17528b: Pull complete", "76c9ffbaf2ea: Pull complete", "1a8159ad4e75: Verifying Checksum", "1a8159ad4e75: Download complete", "1a8159ad4e75: Pull complete", "aea3904f7aa2: Pull complete", "64c12a0fed59: Pull complete", "Digest: sha256:0ce6900fd9dd812e276ce9c9f90e7391aa892a9006c5ebdb90196aa5132bc877", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_5_2-2"]} changed: [10.0.0.38] => (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_4_5_2-2", "delta": "0:00:14.123580", "end": "2026-01-20 09:43:59.421283", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2026-01-20 09:43:45.297703", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_5_2-2: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n9b94f4924cb1: Already exists\n7a9a73cc6359: Already exists\n6ee6feb49cdc: Already exists\nc83f09238d36: Already exists\n6cd10c4bdc48: Already exists\n13acb803c3f1: Already exists\naa8fae152d69: Already exists\nf4c99e5f72fd: Already exists\nbe96af701a1e: Already exists\n43babd329a69: Already exists\nd3618f596e85: Already exists\n373206ebcf5f: Already exists\nc31103a32555: Pulling fs layer\n063b3459cebf: Pulling fs layer\n23b2b0a8de0d: Pulling fs layer\n8a28d0f84be1: Pulling fs layer\n5d3f62a85c12: Pulling fs layer\nbf7860046372: Pulling fs layer\n8cb2a12f00df: Pulling fs layer\n3c0b93887b3b: Pulling fs layer\n677a37a76b2d: Pulling fs layer\n5c1fcf1bb5b1: Pulling fs layer\n71315dfd12c6: Pulling fs layer\n8a28d0f84be1: Waiting\n5d3f62a85c12: Waiting\n7e53b0aeff7c: Pulling fs layer\nbf7860046372: Waiting\n9a44093aa8b4: Pulling fs layer\n8cb2a12f00df: Waiting\n3c0b93887b3b: Waiting\n677a37a76b2d: Waiting\n5c1fcf1bb5b1: Waiting\n71315dfd12c6: Waiting\n9a44093aa8b4: Waiting\n722d704ed20b: Pulling fs layer\n29454b799db0: Pulling fs layer\n722d704ed20b: Waiting\n063b3459cebf: Verifying Checksum\nc31103a32555: Verifying Checksum\nc31103a32555: Download complete\n063b3459cebf: Download complete\nc31103a32555: Pull complete\n8a28d0f84be1: Download complete\n5d3f62a85c12: Download complete\nbf7860046372: Verifying Checksum\nbf7860046372: Download complete\n8cb2a12f00df: Verifying Checksum\n8cb2a12f00df: Download complete\n063b3459cebf: Pull complete\n677a37a76b2d: Verifying Checksum\n677a37a76b2d: Download complete\n5c1fcf1bb5b1: Download complete\n23b2b0a8de0d: Download complete\n71315dfd12c6: Verifying Checksum\n71315dfd12c6: Download complete\n9a44093aa8b4: Verifying Checksum\n9a44093aa8b4: Download complete\n722d704ed20b: Verifying Checksum\n722d704ed20b: Download complete\n29454b799db0: Verifying Checksum\n29454b799db0: Download complete\n23b2b0a8de0d: Pull complete\n8a28d0f84be1: Pull complete\n7e53b0aeff7c: Verifying Checksum\n7e53b0aeff7c: Download complete\n5d3f62a85c12: Pull complete\nbf7860046372: Pull complete\n8cb2a12f00df: Pull complete\n3c0b93887b3b: Download complete\n3c0b93887b3b: Pull complete\n677a37a76b2d: Pull complete\n5c1fcf1bb5b1: Pull complete\n71315dfd12c6: Pull complete\n7e53b0aeff7c: Pull complete\n9a44093aa8b4: Pull complete\n722d704ed20b: Pull complete\n29454b799db0: Pull complete\nDigest: sha256:8e9a9f5cf85183fabe9a9202bf57473407af8f40b25fa3521af5b5e03079b312\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_5_2-2\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_5_2-2", "stdout_lines": ["master-2_4_5_2-2: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "9b94f4924cb1: Already exists", "7a9a73cc6359: Already exists", "6ee6feb49cdc: Already exists", "c83f09238d36: Already exists", "6cd10c4bdc48: Already exists", "13acb803c3f1: Already exists", "aa8fae152d69: Already exists", "f4c99e5f72fd: Already exists", "be96af701a1e: Already exists", "43babd329a69: Already exists", "d3618f596e85: Already exists", "373206ebcf5f: Already exists", "c31103a32555: Pulling fs layer", "063b3459cebf: Pulling fs layer", "23b2b0a8de0d: Pulling fs layer", "8a28d0f84be1: Pulling fs layer", "5d3f62a85c12: Pulling fs layer", "bf7860046372: Pulling fs layer", "8cb2a12f00df: Pulling fs layer", "3c0b93887b3b: Pulling fs layer", "677a37a76b2d: Pulling fs layer", "5c1fcf1bb5b1: Pulling fs layer", "71315dfd12c6: Pulling fs layer", "8a28d0f84be1: Waiting", "5d3f62a85c12: Waiting", "7e53b0aeff7c: Pulling fs layer", "bf7860046372: Waiting", "9a44093aa8b4: Pulling fs layer", "8cb2a12f00df: Waiting", "3c0b93887b3b: Waiting", "677a37a76b2d: Waiting", "5c1fcf1bb5b1: Waiting", "71315dfd12c6: Waiting", "9a44093aa8b4: Waiting", "722d704ed20b: Pulling fs layer", "29454b799db0: Pulling fs layer", "722d704ed20b: Waiting", "063b3459cebf: Verifying Checksum", "c31103a32555: Verifying Checksum", "c31103a32555: Download complete", "063b3459cebf: Download complete", "c31103a32555: Pull complete", "8a28d0f84be1: Download complete", "5d3f62a85c12: Download complete", "bf7860046372: Verifying Checksum", "bf7860046372: Download complete", "8cb2a12f00df: Verifying Checksum", "8cb2a12f00df: Download complete", "063b3459cebf: Pull complete", "677a37a76b2d: Verifying Checksum", "677a37a76b2d: Download complete", "5c1fcf1bb5b1: Download complete", "23b2b0a8de0d: Download complete", "71315dfd12c6: Verifying Checksum", "71315dfd12c6: Download complete", "9a44093aa8b4: Verifying Checksum", "9a44093aa8b4: Download complete", "722d704ed20b: Verifying Checksum", "722d704ed20b: Download complete", "29454b799db0: Verifying Checksum", "29454b799db0: Download complete", "23b2b0a8de0d: Pull complete", "8a28d0f84be1: Pull complete", "7e53b0aeff7c: Verifying Checksum", "7e53b0aeff7c: Download complete", "5d3f62a85c12: Pull complete", "bf7860046372: Pull complete", "8cb2a12f00df: Pull complete", "3c0b93887b3b: Download complete", "3c0b93887b3b: Pull complete", "677a37a76b2d: Pull complete", "5c1fcf1bb5b1: Pull complete", "71315dfd12c6: Pull complete", "7e53b0aeff7c: Pull complete", "9a44093aa8b4: Pull complete", "722d704ed20b: Pull complete", "29454b799db0: Pull complete", "Digest: sha256:8e9a9f5cf85183fabe9a9202bf57473407af8f40b25fa3521af5b5e03079b312", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_5_2-2", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_5_2-2"]} [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.38] => {"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.38] => {"changed": true, "checksum": "600ce3beac20d4b2ec7a98d3266b73228e2b5e0a", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "d7249dde4fa9bbe1a2199961671cd811", "mode": "0640", "owner": "root", "size": 1026, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902240.6711862-87586-94876546464764/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_vrouter : create contrail vrouter compose file] ****************** changed: [10.0.0.38] => {"changed": true, "checksum": "b61ee312f39167e15846587612d7ef0cd5970687", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "8553629632a0d04c63bba1cf95347319", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1768902242.591282-87814-111052809298210/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] ***************** changed: [10.0.0.38] => {"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.38] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6dfb49a6131bdbc29d1d7e156e77152a79de27ad49a9be449c8951c20aded291", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "c09790b7d1218bdeaa8ca5131e4a8f38bca53c4bd2b051900ce74071ad2f0d27", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "cf68332a0ecf6a825a2b1cc6c601595369af4323128f9e95c3199732af9afe3f", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "6a88cef4ad2c169c80ebc12e07512077d566dc2522696646509c6c2b97a81e39", "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_4_5_2-2"}, "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_4_5_2-2", "labels": {"com.docker.compose.config-hash": "9b345f9d3467b437e27dff59a22f45897a8b691245c376be4b721b5583fa6e27", "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_4_5_2-2"}, "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.38] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false} PLAY RECAP ********************************************************************* 10.0.0.38 : 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 Tue Jan 20 09:46:01 UTC 2026 INFO: controller nodes - 10.0.0.38 INFO: agent nodes - 10.0.0.38 INFO: openstack controller nodes - INFO: sync time on machine ubuntu@10.0.0.38 Warning: Permanently added '10.0.0.38' (ED25519) to the list of known hosts. Warning: Permanently added '10.0.0.38' (ED25519) to the list of known hosts. INFO: Tue Jan 20 09:46:02 UTC 2026: ensure time is synced (chronyd) INFO: Tue Jan 20 09:46:02 UTC 2026: time is synced TF Web UI must be available at https://10.0.0.38:8143 OpenStack UI must be avaiable at http://10.0.0.38 Use admin/contrail123 to log in INFO: Stage tf was run successfully Tue Jan 20 09:46:02 UTC 2026 INFO: Running stage wait at Tue Jan 20 09:46:02 UTC 2026 . INFO: done in 10s INFO: Stage wait was run successfully Tue Jan 20 09:46:23 UTC 2026 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-2_4_5_2-2 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_5_2-2 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.38 " AGENT_NODES="10.0.0.38" CONTROL_NODES="10.20.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.38' OS_AUTH_URL='http://10.0.0.38:5000/v3' AUTH_PASSWORD='contrail123' AUTH_URL='' INFO: Successful deployment Tue Jan 20 09:46:23 UTC 2026 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS