Started by upstream project "pipeline-check" build number 3604 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-controller/+/2425 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 3604 [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins15085557615993608135.sh + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3604 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3604 ++ export SLAVE=openstack ++ SLAVE=openstack ++ export SLAVE_REGION=gz1 ++ SLAVE_REGION=gz1 ++ export LOGS_HOST=nexus.gz1.opensdn.io ++ LOGS_HOST=nexus.gz1.opensdn.io ++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604 ++ 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_2_5-2_2 ++ CONTRAIL_CONTAINER_TAG=master-2_4_2_5-2_2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_5-2_2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_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_2_5-2_2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_4_2_5-2_2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_2_5-2_2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_2_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=I8af2401a834d51b67f0fd6da7264212a27df363a ++ GERRIT_CHANGE_ID=I8af2401a834d51b67f0fd6da7264212a27df363a ++ 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-3604 Random: 32463 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-check-3604 Random: 32463 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604/ansible-os' DESCRIPTION Pipeline: pipeline-check-3604 Random: 32463 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604/ansible-os [description-setter] Description set: Pipeline: pipeline-check-3604 Random: 32463 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604/ansible-os' [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins6676113558509356788.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3604 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3604 ++ export SLAVE=openstack ++ SLAVE=openstack ++ export SLAVE_REGION=gz1 ++ SLAVE_REGION=gz1 ++ export LOGS_HOST=nexus.gz1.opensdn.io ++ LOGS_HOST=nexus.gz1.opensdn.io ++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604 ++ 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_2_5-2_2 ++ CONTRAIL_CONTAINER_TAG=master-2_4_2_5-2_2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_5-2_2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_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_2_5-2_2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_4_2_5-2_2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_2_5-2_2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_2_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=I8af2401a834d51b67f0fd6da7264212a27df363a ++ GERRIT_CHANGE_ID=I8af2401a834d51b67f0fd6da7264212a27df363a ++ 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/jenkins15945085060357442263.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3604 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3604 ++ export SLAVE=openstack ++ SLAVE=openstack ++ export SLAVE_REGION=gz1 ++ SLAVE_REGION=gz1 ++ export LOGS_HOST=nexus.gz1.opensdn.io ++ LOGS_HOST=nexus.gz1.opensdn.io ++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2425/22/check_3604 ++ 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_2_5-2_2 ++ CONTRAIL_CONTAINER_TAG=master-2_4_2_5-2_2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_5-2_2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_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_2_5-2_2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_4_2_5-2_2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_2_5-2_2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_4_2_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=I8af2401a834d51b67f0fd6da7264212a27df363a ++ GERRIT_CHANGE_ID=I8af2401a834d51b67f0fd6da7264212a27df363a ++ 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.32463.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=4db6db5c-4418-456e-ab51-e496b0edef81, ++ INSTANCE_IDS=4db6db5c-4418-456e-ab51-e496b0edef81, ++ 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.14, ++ CONTROL_NODES=10.20.0.14, ++ 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.32463.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/25/2425/22/check_3604/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2425/22/check_3604/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: =================== Sun Jan 4 09:17:24 UTC 2026 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Sun Jan 4 09:17:24 UTC 2026 Skipping stage machines because it's finished INFO: Stage machines was run successfully Sun Jan 4 09:17:24 UTC 2026 INFO: Running stage k8s at Sun Jan 4 09:17:24 UTC 2026 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Sun Jan 4 09:17:24 UTC 2026 INFO: Running stage openstack at Sun Jan 4 09:17:24 UTC 2026 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Sun Jan 4 09:17:24 UTC 2026 INFO: Running stage tf at Sun Jan 4 09:17:24 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_2_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_2_5-2_2", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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_2_5-2_2", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.14", "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": "43a2bc1452470a7e865f8b336140a43e05b00f34", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "1ad7cdf34a27ab3a02102e442cc26eb9", "mode": "0640", "owner": "root", "size": 1024, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518258.2117338-54622-52477379092445/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-1767518259.0678914-54684-54098902593181/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_2_5-2_2", "delta": "0:00:03.218165", "end": "2026-01-04 09:17:43.405787", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2026-01-04 09:17:40.187622", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_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\n9ba7e5fdf9a0: Pulling fs layer\n35de74fcdcda: Pulling fs layer\n60bd1e3859a3: Pulling fs layer\n33209b2a298c: Pulling fs layer\n0df3a9e3510c: Waiting\n9ba7e5fdf9a0: Waiting\n35de74fcdcda: Waiting\n60bd1e3859a3: Waiting\nf1b700c31442: Waiting\n33209b2a298c: Waiting\nb96556682ce1: Waiting\nbb595d48e52d: Verifying Checksum\nbb595d48e52d: Download complete\nd479b54c3bb2: Verifying Checksum\nd479b54c3bb2: Download complete\nb96556682ce1: Verifying Checksum\nb96556682ce1: Download complete\n0df3a9e3510c: Download complete\n9ba7e5fdf9a0: Verifying Checksum\n9ba7e5fdf9a0: Download complete\n35de74fcdcda: Download complete\nf1b700c31442: Verifying Checksum\nf1b700c31442: Download complete\n60bd1e3859a3: Verifying Checksum\n60bd1e3859a3: Download complete\n33209b2a298c: Verifying Checksum\n33209b2a298c: Download complete\nfaef57eae888: Verifying Checksum\nfaef57eae888: Download complete\nfaef57eae888: Pull complete\nbb595d48e52d: Pull complete\nd479b54c3bb2: Pull complete\nf1b700c31442: Pull complete\nb96556682ce1: Pull complete\n0df3a9e3510c: Pull complete\n9ba7e5fdf9a0: Pull complete\n35de74fcdcda: Pull complete\n60bd1e3859a3: Pull complete\n33209b2a298c: Pull complete\nDigest: sha256:994d5757ff0b721e5c0e0c2ffb3fdc1c11beb483fe70441f458f704645369b6f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_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", "9ba7e5fdf9a0: Pulling fs layer", "35de74fcdcda: Pulling fs layer", "60bd1e3859a3: Pulling fs layer", "33209b2a298c: Pulling fs layer", "0df3a9e3510c: Waiting", "9ba7e5fdf9a0: Waiting", "35de74fcdcda: Waiting", "60bd1e3859a3: Waiting", "f1b700c31442: Waiting", "33209b2a298c: Waiting", "b96556682ce1: Waiting", "bb595d48e52d: Verifying Checksum", "bb595d48e52d: Download complete", "d479b54c3bb2: Verifying Checksum", "d479b54c3bb2: Download complete", "b96556682ce1: Verifying Checksum", "b96556682ce1: Download complete", "0df3a9e3510c: Download complete", "9ba7e5fdf9a0: Verifying Checksum", "9ba7e5fdf9a0: Download complete", "35de74fcdcda: Download complete", "f1b700c31442: Verifying Checksum", "f1b700c31442: Download complete", "60bd1e3859a3: Verifying Checksum", "60bd1e3859a3: Download complete", "33209b2a298c: Verifying Checksum", "33209b2a298c: Download complete", "faef57eae888: Verifying Checksum", "faef57eae888: Download complete", "faef57eae888: Pull complete", "bb595d48e52d: Pull complete", "d479b54c3bb2: Pull complete", "f1b700c31442: Pull complete", "b96556682ce1: Pull complete", "0df3a9e3510c: Pull complete", "9ba7e5fdf9a0: Pull complete", "35de74fcdcda: Pull complete", "60bd1e3859a3: Pull complete", "33209b2a298c: Pull complete", "Digest: sha256:994d5757ff0b721e5c0e0c2ffb3fdc1c11beb483fe70441f458f704645369b6f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_4_2_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_2_5-2_2", "delta": "0:00:01.191831", "end": "2026-01-04 09:17:45.020321", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2026-01-04 09:17:43.828490", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\ncd0032f1889b: Pulling fs layer\n4efcebf5e5a1: Pulling fs layer\ncd0032f1889b: Verifying Checksum\ncd0032f1889b: Download complete\ncd0032f1889b: Pull complete\n4efcebf5e5a1: Verifying Checksum\n4efcebf5e5a1: Download complete\n4efcebf5e5a1: Pull complete\nDigest: sha256:4b3b3429e1935e25e4667570bce8dff5aea9f9fca0b06b7397d403ba132f17d2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "cd0032f1889b: Pulling fs layer", "4efcebf5e5a1: Pulling fs layer", "cd0032f1889b: Verifying Checksum", "cd0032f1889b: Download complete", "cd0032f1889b: Pull complete", "4efcebf5e5a1: Verifying Checksum", "4efcebf5e5a1: Download complete", "4efcebf5e5a1: Pull complete", "Digest: sha256:4b3b3429e1935e25e4667570bce8dff5aea9f9fca0b06b7397d403ba132f17d2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_4_2_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": "659962166df9b1e9640b3a4a90d87baa73dadda1", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "d268f762d9ea747a23404a80aef6b70c", "mode": "0644", "owner": "root", "size": 200, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518265.9245963-55062-254087009627567/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "c823acf0179f532e74e46a2436cf968a62ba3f78151c0fba0caab08d2eab217c", "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_2_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_2_5-2_2", "delta": "0:00:04.378825", "end": "2026-01-04 09:17:53.164226", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:17:48.785401", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Pulling fs layer\nd3c917651df6: Pulling fs layer\nacbf1f9eb465: Pulling fs layer\n29ab615eb725: Pulling fs layer\n6cf8ea586bf0: Pulling fs layer\nf3948363155b: Pulling fs layer\n29ab615eb725: Waiting\n6cf8ea586bf0: Waiting\nf3948363155b: Waiting\nbf999dd673f3: Download complete\nacbf1f9eb465: Verifying Checksum\nacbf1f9eb465: Download complete\nd3c917651df6: Verifying Checksum\nd3c917651df6: Download complete\nbf999dd673f3: Pull complete\n6cf8ea586bf0: Verifying Checksum\n6cf8ea586bf0: Download complete\nf3948363155b: Verifying Checksum\nf3948363155b: Download complete\nd3c917651df6: Pull complete\nacbf1f9eb465: Pull complete\n29ab615eb725: Verifying Checksum\n29ab615eb725: Download complete\n29ab615eb725: Pull complete\n6cf8ea586bf0: Pull complete\nf3948363155b: Pull complete\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Pulling fs layer", "d3c917651df6: Pulling fs layer", "acbf1f9eb465: Pulling fs layer", "29ab615eb725: Pulling fs layer", "6cf8ea586bf0: Pulling fs layer", "f3948363155b: Pulling fs layer", "29ab615eb725: Waiting", "6cf8ea586bf0: Waiting", "f3948363155b: Waiting", "bf999dd673f3: Download complete", "acbf1f9eb465: Verifying Checksum", "acbf1f9eb465: Download complete", "d3c917651df6: Verifying Checksum", "d3c917651df6: Download complete", "bf999dd673f3: Pull complete", "6cf8ea586bf0: Verifying Checksum", "6cf8ea586bf0: Download complete", "f3948363155b: Verifying Checksum", "f3948363155b: Download complete", "d3c917651df6: Pull complete", "acbf1f9eb465: Pull complete", "29ab615eb725: Verifying Checksum", "29ab615eb725: Download complete", "29ab615eb725: Pull complete", "6cf8ea586bf0: Pull complete", "f3948363155b: Pull complete", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:02.219832", "end": "2026-01-04 09:17:55.878604", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:17:53.658772", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n587bf05bf02d: Pulling fs layer\nd86124446958: Pulling fs layer\nd86124446958: Verifying Checksum\nd86124446958: Download complete\n587bf05bf02d: Verifying Checksum\n587bf05bf02d: Download complete\n587bf05bf02d: Pull complete\nd86124446958: Pull complete\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "587bf05bf02d: Pulling fs layer", "d86124446958: Pulling fs layer", "d86124446958: Verifying Checksum", "d86124446958: Download complete", "587bf05bf02d: Verifying Checksum", "587bf05bf02d: Download complete", "587bf05bf02d: Pull complete", "d86124446958: Pull complete", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:05.072292", "end": "2026-01-04 09:18:01.388805", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-01-04 09:17:56.316513", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_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\nbf175d9fcc0a: Pulling fs layer\n9aca2daeac75: Pulling fs layer\nc39795272d2d: Pulling fs layer\nc5ca755942a5: Pulling fs layer\n09791a562332: Pulling fs layer\n05a5a9afbdef: Pulling fs layer\n7dce6523aa46: Pulling fs layer\n170985b5d08c: Pulling fs layer\nfa94125d190e: Waiting\nc53675a133c6: Waiting\nc39795272d2d: Waiting\nc5ca755942a5: Waiting\n09791a562332: Waiting\n05a5a9afbdef: Waiting\nbf175d9fcc0a: Waiting\n0497a703e222: Waiting\n9aca2daeac75: Waiting\n170985b5d08c: Waiting\n7dce6523aa46: Waiting\n5a2e2c2fe7e2: Waiting\n7e27b670a0f5: Verifying Checksum\n7e27b670a0f5: Download complete\nfa94125d190e: Verifying Checksum\nfa94125d190e: Download complete\n63e5bc7682b8: Verifying Checksum\n63e5bc7682b8: Download complete\nc53675a133c6: Download complete\n0497a703e222: Verifying Checksum\n0497a703e222: Download complete\nbf175d9fcc0a: Verifying Checksum\nbf175d9fcc0a: Download complete\n5a2e2c2fe7e2: Verifying Checksum\n5a2e2c2fe7e2: Download complete\n5d42da29b261: Verifying Checksum\n5d42da29b261: Download complete\nc39795272d2d: Verifying Checksum\nc39795272d2d: Download complete\nc5ca755942a5: Download complete\n09791a562332: Download complete\n05a5a9afbdef: Verifying Checksum\n05a5a9afbdef: Download complete\n7dce6523aa46: Verifying Checksum\n7dce6523aa46: Download complete\n170985b5d08c: Verifying Checksum\n170985b5d08c: 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\n09791a562332: Pull complete\n05a5a9afbdef: Pull complete\n7dce6523aa46: Pull complete\n170985b5d08c: Pull complete\nDigest: sha256:39fc331f1895f8dd34f106b96c091ff7cdc268338c65332a218f7dc7adb48893\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_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", "bf175d9fcc0a: Pulling fs layer", "9aca2daeac75: Pulling fs layer", "c39795272d2d: Pulling fs layer", "c5ca755942a5: Pulling fs layer", "09791a562332: Pulling fs layer", "05a5a9afbdef: Pulling fs layer", "7dce6523aa46: Pulling fs layer", "170985b5d08c: Pulling fs layer", "fa94125d190e: Waiting", "c53675a133c6: Waiting", "c39795272d2d: Waiting", "c5ca755942a5: Waiting", "09791a562332: Waiting", "05a5a9afbdef: Waiting", "bf175d9fcc0a: Waiting", "0497a703e222: Waiting", "9aca2daeac75: Waiting", "170985b5d08c: Waiting", "7dce6523aa46: Waiting", "5a2e2c2fe7e2: Waiting", "7e27b670a0f5: Verifying Checksum", "7e27b670a0f5: Download complete", "fa94125d190e: Verifying Checksum", "fa94125d190e: Download complete", "63e5bc7682b8: Verifying Checksum", "63e5bc7682b8: Download complete", "c53675a133c6: Download complete", "0497a703e222: Verifying Checksum", "0497a703e222: Download complete", "bf175d9fcc0a: Verifying Checksum", "bf175d9fcc0a: Download complete", "5a2e2c2fe7e2: Verifying Checksum", "5a2e2c2fe7e2: Download complete", "5d42da29b261: Verifying Checksum", "5d42da29b261: Download complete", "c39795272d2d: Verifying Checksum", "c39795272d2d: Download complete", "c5ca755942a5: Download complete", "09791a562332: Download complete", "05a5a9afbdef: Verifying Checksum", "05a5a9afbdef: Download complete", "7dce6523aa46: Verifying Checksum", "7dce6523aa46: Download complete", "170985b5d08c: Verifying Checksum", "170985b5d08c: 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", "09791a562332: Pull complete", "05a5a9afbdef: Pull complete", "7dce6523aa46: Pull complete", "170985b5d08c: Pull complete", "Digest: sha256:39fc331f1895f8dd34f106b96c091ff7cdc268338c65332a218f7dc7adb48893", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_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_2_5-2_2", "delta": "0:00:04.132451", "end": "2026-01-04 09:18:05.962294", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2026-01-04 09:18:01.829843", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_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\nc7fd21cd960f: Pulling fs layer\n6f4c6fe005ff: Pulling fs layer\n436c3f68214a: Pulling fs layer\n646f9940399e: Pulling fs layer\nd73cf48caaac: Waiting\nc7b4dda8479e: Waiting\n81afe63ee276: Waiting\nbe281bc29e5d: Waiting\ne26ea21af3b5: Waiting\n436c3f68214a: Waiting\n646f9940399e: Waiting\nc7fd21cd960f: Waiting\n6f4c6fe005ff: Waiting\n12cca292b13c: Verifying Checksum\n12cca292b13c: Download complete\na2f2f93da482: Verifying Checksum\na2f2f93da482: Download complete\nc7b4dda8479e: Verifying Checksum\nc7b4dda8479e: Download complete\n81afe63ee276: Verifying Checksum\n81afe63ee276: Download complete\n1efc276f4ff9: Verifying Checksum\n1efc276f4ff9: Download complete\ne26ea21af3b5: Verifying Checksum\ne26ea21af3b5: Download complete\nc7fd21cd960f: Download complete\n6f4c6fe005ff: Verifying Checksum\n6f4c6fe005ff: Download complete\nbe281bc29e5d: Verifying Checksum\nbe281bc29e5d: Download complete\n436c3f68214a: Verifying Checksum\n436c3f68214a: Download complete\n646f9940399e: Verifying Checksum\n646f9940399e: 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\nc7fd21cd960f: Pull complete\n6f4c6fe005ff: Pull complete\n436c3f68214a: Pull complete\n646f9940399e: Pull complete\nDigest: sha256:fadc73d4ec60e4ae39a18306b90b90e5a63dbc5356a7af1237db2a88e2983cb0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_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", "c7fd21cd960f: Pulling fs layer", "6f4c6fe005ff: Pulling fs layer", "436c3f68214a: Pulling fs layer", "646f9940399e: Pulling fs layer", "d73cf48caaac: Waiting", "c7b4dda8479e: Waiting", "81afe63ee276: Waiting", "be281bc29e5d: Waiting", "e26ea21af3b5: Waiting", "436c3f68214a: Waiting", "646f9940399e: Waiting", "c7fd21cd960f: Waiting", "6f4c6fe005ff: Waiting", "12cca292b13c: Verifying Checksum", "12cca292b13c: Download complete", "a2f2f93da482: Verifying Checksum", "a2f2f93da482: Download complete", "c7b4dda8479e: Verifying Checksum", "c7b4dda8479e: Download complete", "81afe63ee276: Verifying Checksum", "81afe63ee276: Download complete", "1efc276f4ff9: Verifying Checksum", "1efc276f4ff9: Download complete", "e26ea21af3b5: Verifying Checksum", "e26ea21af3b5: Download complete", "c7fd21cd960f: Download complete", "6f4c6fe005ff: Verifying Checksum", "6f4c6fe005ff: Download complete", "be281bc29e5d: Verifying Checksum", "be281bc29e5d: Download complete", "436c3f68214a: Verifying Checksum", "436c3f68214a: Download complete", "646f9940399e: Verifying Checksum", "646f9940399e: 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", "c7fd21cd960f: Pull complete", "6f4c6fe005ff: Pull complete", "436c3f68214a: Pull complete", "646f9940399e: Pull complete", "Digest: sha256:fadc73d4ec60e4ae39a18306b90b90e5a63dbc5356a7af1237db2a88e2983cb0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_4_2_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_2_5-2_2", "delta": "0:00:05.128291", "end": "2026-01-04 09:18:11.548621", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2026-01-04 09:18:06.420330", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_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\n6f4c6fe005ff: Pulling fs layer\n67e36d374cf7: Pulling fs layer\ne7add638ac41: Waiting\n3c9c08ef9513: Pulling fs layer\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\n6f4c6fe005ff: Waiting\n67e36d374cf7: Waiting\n3c9c08ef9513: Waiting\nc47c3bedb477: Waiting\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Download complete\n2d0a461f4591: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n027715895e8b: Download complete\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\n6f4c6fe005ff: Verifying Checksum\n6f4c6fe005ff: Download complete\n67e36d374cf7: Verifying Checksum\n67e36d374cf7: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\n3c9c08ef9513: Verifying Checksum\n3c9c08ef9513: 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\n6f4c6fe005ff: Pull complete\n67e36d374cf7: Pull complete\n3c9c08ef9513: Pull complete\nDigest: sha256:ec40862f377505a30f969045bc397d53554fe959688bf30bd031ef28c0e0011a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_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", "6f4c6fe005ff: Pulling fs layer", "67e36d374cf7: Pulling fs layer", "e7add638ac41: Waiting", "3c9c08ef9513: Pulling fs layer", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "6f4c6fe005ff: Waiting", "67e36d374cf7: Waiting", "3c9c08ef9513: Waiting", "c47c3bedb477: Waiting", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Download complete", "2d0a461f4591: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "027715895e8b: Download complete", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "6f4c6fe005ff: Verifying Checksum", "6f4c6fe005ff: Download complete", "67e36d374cf7: Verifying Checksum", "67e36d374cf7: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "3c9c08ef9513: Verifying Checksum", "3c9c08ef9513: 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", "6f4c6fe005ff: Pull complete", "67e36d374cf7: Pull complete", "3c9c08ef9513: Pull complete", "Digest: sha256:ec40862f377505a30f969045bc397d53554fe959688bf30bd031ef28c0e0011a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.308884", "end": "2026-01-04 09:18:12.302966", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:18:11.994082", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n4e05cc72f6ed: Pulling fs layer\n4e05cc72f6ed: Verifying Checksum\n4e05cc72f6ed: Download complete\n4e05cc72f6ed: Pull complete\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "4e05cc72f6ed: Pulling fs layer", "4e05cc72f6ed: Verifying Checksum", "4e05cc72f6ed: Download complete", "4e05cc72f6ed: Pull complete", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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": "03ce6b8a7fd29363016865389b85906fe47d5b12", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "214d9dc2ebfd84a9145c15aa77e7328e", "mode": "0644", "owner": "root", "size": 4033, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518310.4099607-58071-248573597218390/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "b998ad0713aca634a8c2f6e121dcdcd2044f5965846bfaf81f0fe963efcf072f", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "e5589e0e1b4acec080166400e7339ed6581871ba09dbf6b635f7b69fcab8af24", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "6f6ad75be33669130b030b00bcba2747de2d6d55db247f660a1f5f3283348c8b", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "eb94a4f183c6d2bd1d95ea0bd3ef2a4ebac46e94eb30d9d621ab6660ad2ceb80", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "c7e13d1179521817a8d25d25baeb71e0e9739ced6168b75229f002755ca6f597", "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_2_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_2_5-2_2", "delta": "0:00:00.112847", "end": "2026-01-04 09:18:34.983500", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:18:34.870653", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.120170", "end": "2026-01-04 09:18:35.541923", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:18:35.421753", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:01.022120", "end": "2026-01-04 09:18:36.994150", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2026-01-04 09:18:35.972030", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\nf3beef95a9e3: Pulling fs layer\nc7166908d587: Pulling fs layer\n80a33b5f0bfa: Pulling fs layer\nf3beef95a9e3: Verifying Checksum\nf3beef95a9e3: Download complete\nc7166908d587: Verifying Checksum\nf3beef95a9e3: Pull complete\n80a33b5f0bfa: Verifying Checksum\n80a33b5f0bfa: Download complete\nc7166908d587: Pull complete\n80a33b5f0bfa: Pull complete\nDigest: sha256:ffbb6602622431f646e4cb4bbcfafcb05e75f3287790dee93edaad649648297d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "f3beef95a9e3: Pulling fs layer", "c7166908d587: Pulling fs layer", "80a33b5f0bfa: Pulling fs layer", "f3beef95a9e3: Verifying Checksum", "f3beef95a9e3: Download complete", "c7166908d587: Verifying Checksum", "f3beef95a9e3: Pull complete", "80a33b5f0bfa: Verifying Checksum", "80a33b5f0bfa: Download complete", "c7166908d587: Pull complete", "80a33b5f0bfa: Pull complete", "Digest: sha256:ffbb6602622431f646e4cb4bbcfafcb05e75f3287790dee93edaad649648297d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_4_2_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_2_5-2_2", "delta": "0:00:01.058234", "end": "2026-01-04 09:18:38.499891", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2026-01-04 09:18:37.441657", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n56766908f63d: Pulling fs layer\n5b189152ee1a: Pulling fs layer\n56766908f63d: Verifying Checksum\n56766908f63d: Download complete\n56766908f63d: Pull complete\n5b189152ee1a: Verifying Checksum\n5b189152ee1a: Download complete\n5b189152ee1a: Pull complete\nDigest: sha256:ed84d85900f2cb686672db69e6f0246569fe6050f05f1b712f2f93b3500f3680\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "56766908f63d: Pulling fs layer", "5b189152ee1a: Pulling fs layer", "56766908f63d: Verifying Checksum", "56766908f63d: Download complete", "56766908f63d: Pull complete", "5b189152ee1a: Verifying Checksum", "5b189152ee1a: Download complete", "5b189152ee1a: Pull complete", "Digest: sha256:ed84d85900f2cb686672db69e6f0246569fe6050f05f1b712f2f93b3500f3680", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.345051", "end": "2026-01-04 09:18:39.322570", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2026-01-04 09:18:38.977519", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n8d18d040b020: Pulling fs layer\n0a59ab64945e: Pulling fs layer\n8d18d040b020: Verifying Checksum\n8d18d040b020: Download complete\n0a59ab64945e: Verifying Checksum\n0a59ab64945e: Download complete\n8d18d040b020: Pull complete\n0a59ab64945e: Pull complete\nDigest: sha256:d4098c45494f2dabca92c7871d88f62b7777f4478296ee43726d138e09b00d6b\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "8d18d040b020: Pulling fs layer", "0a59ab64945e: Pulling fs layer", "8d18d040b020: Verifying Checksum", "8d18d040b020: Download complete", "0a59ab64945e: Verifying Checksum", "0a59ab64945e: Download complete", "8d18d040b020: Pull complete", "0a59ab64945e: Pull complete", "Digest: sha256:d4098c45494f2dabca92c7871d88f62b7777f4478296ee43726d138e09b00d6b", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_4_2_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_2_5-2_2", "delta": "0:00:07.654525", "end": "2026-01-04 09:18:47.452414", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:18:39.797889", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n25fd16158cb0: Pulling fs layer\n9457878615cc: Pulling fs layer\nf40cb10c9606: Pulling fs layer\nf40cb10c9606: Verifying Checksum\nf40cb10c9606: Download complete\n25fd16158cb0: Verifying Checksum\n25fd16158cb0: Download complete\n25fd16158cb0: Pull complete\n9457878615cc: Verifying Checksum\n9457878615cc: Download complete\n9457878615cc: Pull complete\nf40cb10c9606: Pull complete\nDigest: sha256:922ef53ec8a6f269817d2aa880a888fda998bbf1e6d30cb9017094870550d240\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "25fd16158cb0: Pulling fs layer", "9457878615cc: Pulling fs layer", "f40cb10c9606: Pulling fs layer", "f40cb10c9606: Verifying Checksum", "f40cb10c9606: Download complete", "25fd16158cb0: Verifying Checksum", "25fd16158cb0: Download complete", "25fd16158cb0: Pull complete", "9457878615cc: Verifying Checksum", "9457878615cc: Download complete", "9457878615cc: Pull complete", "f40cb10c9606: Pull complete", "Digest: sha256:922ef53ec8a6f269817d2aa880a888fda998bbf1e6d30cb9017094870550d240", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.553277", "end": "2026-01-04 09:18:48.427738", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2026-01-04 09:18:47.874461", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n18a2d0f7819a: Pulling fs layer\n28bc0da3428b: Pulling fs layer\n39749065af0a: Pulling fs layer\n1ae0f3cddd79: Pulling fs layer\n1ae0f3cddd79: Waiting\n39749065af0a: Download complete\n28bc0da3428b: Verifying Checksum\n28bc0da3428b: Download complete\n18a2d0f7819a: Verifying Checksum\n18a2d0f7819a: Download complete\n18a2d0f7819a: Pull complete\n28bc0da3428b: Pull complete\n1ae0f3cddd79: Verifying Checksum\n1ae0f3cddd79: Download complete\n39749065af0a: Pull complete\n1ae0f3cddd79: Pull complete\nDigest: sha256:0b7fe702ab294c92ff48a8c9ea0274f2654b041ebc30e54f7d5c18642054db44\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "18a2d0f7819a: Pulling fs layer", "28bc0da3428b: Pulling fs layer", "39749065af0a: Pulling fs layer", "1ae0f3cddd79: Pulling fs layer", "1ae0f3cddd79: Waiting", "39749065af0a: Download complete", "28bc0da3428b: Verifying Checksum", "28bc0da3428b: Download complete", "18a2d0f7819a: Verifying Checksum", "18a2d0f7819a: Download complete", "18a2d0f7819a: Pull complete", "28bc0da3428b: Pull complete", "1ae0f3cddd79: Verifying Checksum", "1ae0f3cddd79: Download complete", "39749065af0a: Pull complete", "1ae0f3cddd79: Pull complete", "Digest: sha256:0b7fe702ab294c92ff48a8c9ea0274f2654b041ebc30e54f7d5c18642054db44", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.102809", "end": "2026-01-04 09:18:48.961818", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:18:48.859009", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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.027013", "end": "2026-01-04 09:19:06.601442", "msg": "non-zero return code", "rc": 1, "start": "2026-01-04 09:19:06.574429", "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": "72b2032a989bb4b61d0c1ebe957f1b42143052cc", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "9dcdbf3c197bada149f167acb5ce6ef4", "mode": "0644", "owner": "root", "size": 3950, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518346.8769245-63061-268431913853999/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "dcf853ac94ebb201a75e6921dae5124ff532f05f0fec21fe35ac045f3ecd2503", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "b7fac5d6c1137aaf04d666e8ea2c918bc87ab3e1ecea35a91802b4cd499733fd", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "64e6bc158a97e36c067684a304e225dce3e502b927160fb46e8526f50770d5c0", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "1e4f99a5194e3618f1ac4415023f97b685633bcf95b08b592a055482a6d9d23f", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "63135370f270197fb07ea6180626203a6b302bd1aee4ac602e1b0c12fc44d8cb", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "95efc2c56fa900f0db62ea33b4e70c360768c346a7e7b3a054f1231494ed6451", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "910ce6d135658bd9a441fc9810b2abcd77173404748a16e51192500a17ae9d43", "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_2_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_2_5-2_2", "delta": "0:00:11.690773", "end": "2026-01-04 09:19:24.719641", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2026-01-04 09:19:13.028868", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nc7a2d2ee7185: Pulling fs layer\na911ee9b777d: Pulling fs layer\n5a3b7d445eea: Pulling fs layer\n82c3e9cd511f: Pulling fs layer\n0b6300022676: Pulling fs layer\n6e6ed27de7d4: Pulling fs layer\n3a578332f1fe: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n82c3e9cd511f: Waiting\n0b6300022676: Waiting\n6e6ed27de7d4: Waiting\n3a578332f1fe: Waiting\n4f4fb700ef54: Waiting\nc7a2d2ee7185: Verifying Checksum\nc7a2d2ee7185: Download complete\n82c3e9cd511f: Verifying Checksum\n82c3e9cd511f: Download complete\n0b6300022676: Verifying Checksum\n0b6300022676: Download complete\n6e6ed27de7d4: Download complete\n3a578332f1fe: Download complete\n4f4fb700ef54: Download complete\na911ee9b777d: Verifying Checksum\na911ee9b777d: Download complete\nc7a2d2ee7185: Pull complete\n5a3b7d445eea: Verifying Checksum\n5a3b7d445eea: Download complete\na911ee9b777d: Pull complete\n5a3b7d445eea: Pull complete\n82c3e9cd511f: Pull complete\n0b6300022676: Pull complete\n6e6ed27de7d4: Pull complete\n3a578332f1fe: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:860e3e6bcc0a0eefbaf267797994f1e3494e03b92ae6e2c703ceadeb52bdc200\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "c7a2d2ee7185: Pulling fs layer", "a911ee9b777d: Pulling fs layer", "5a3b7d445eea: Pulling fs layer", "82c3e9cd511f: Pulling fs layer", "0b6300022676: Pulling fs layer", "6e6ed27de7d4: Pulling fs layer", "3a578332f1fe: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "82c3e9cd511f: Waiting", "0b6300022676: Waiting", "6e6ed27de7d4: Waiting", "3a578332f1fe: Waiting", "4f4fb700ef54: Waiting", "c7a2d2ee7185: Verifying Checksum", "c7a2d2ee7185: Download complete", "82c3e9cd511f: Verifying Checksum", "82c3e9cd511f: Download complete", "0b6300022676: Verifying Checksum", "0b6300022676: Download complete", "6e6ed27de7d4: Download complete", "3a578332f1fe: Download complete", "4f4fb700ef54: Download complete", "a911ee9b777d: Verifying Checksum", "a911ee9b777d: Download complete", "c7a2d2ee7185: Pull complete", "5a3b7d445eea: Verifying Checksum", "5a3b7d445eea: Download complete", "a911ee9b777d: Pull complete", "5a3b7d445eea: Pull complete", "82c3e9cd511f: Pull complete", "0b6300022676: Pull complete", "6e6ed27de7d4: Pull complete", "3a578332f1fe: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:860e3e6bcc0a0eefbaf267797994f1e3494e03b92ae6e2c703ceadeb52bdc200", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.265867", "end": "2026-01-04 09:19:25.442465", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2026-01-04 09:19:25.176598", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nc7a2d2ee7185: Already exists\na911ee9b777d: Already exists\n5a3b7d445eea: Already exists\n82c3e9cd511f: Already exists\n0b6300022676: Already exists\n6e6ed27de7d4: Already exists\n3a578332f1fe: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:1787b9282df9ab88c91ec77191a791fa49fa857aba2b7abcd820b9360f32e1ec\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "c7a2d2ee7185: Already exists", "a911ee9b777d: Already exists", "5a3b7d445eea: Already exists", "82c3e9cd511f: Already exists", "0b6300022676: Already exists", "6e6ed27de7d4: Already exists", "3a578332f1fe: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:1787b9282df9ab88c91ec77191a791fa49fa857aba2b7abcd820b9360f32e1ec", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_4_2_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": "e79ae83a42cac5adfc7f12bb1bbc03015d879a79", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "6b9fd45b2022160a02b2bd9c7816cb30", "mode": "0644", "owner": "root", "size": 1398, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518382.856165-67362-27533298828480/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "59d81e90238c86bd8376f4f35d83e1e5748068f9a927078e3300a2d997dc61e7", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "d7ec4121d8097817688481ac88a31b97ab356abc7e0be96927f3732d6e99d8e0", "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_2_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_2_5-2_2", "delta": "0:00:00.115034", "end": "2026-01-04 09:19:47.278164", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:19:47.163130", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.101770", "end": "2026-01-04 09:19:47.803801", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:19:47.702031", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:05.378770", "end": "2026-01-04 09:19:53.609396", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2026-01-04 09:19:48.230626", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\ne1031082cfea: Pulling fs layer\n3c227d311b7c: Pulling fs layer\n01693bcc6e98: Pulling fs layer\ne76647bcf995: Pulling fs layer\ne76647bcf995: Waiting\n01693bcc6e98: Verifying Checksum\n01693bcc6e98: Download complete\ne76647bcf995: Download complete\ne1031082cfea: Verifying Checksum\ne1031082cfea: Download complete\ne1031082cfea: Pull complete\n3c227d311b7c: Verifying Checksum\n3c227d311b7c: Download complete\n3c227d311b7c: Pull complete\n01693bcc6e98: Pull complete\ne76647bcf995: Pull complete\nDigest: sha256:2a77d4fe085f12d253825a1d4fd61a215c5f9e7c901cf047fd7c806bff21da22\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "e1031082cfea: Pulling fs layer", "3c227d311b7c: Pulling fs layer", "01693bcc6e98: Pulling fs layer", "e76647bcf995: Pulling fs layer", "e76647bcf995: Waiting", "01693bcc6e98: Verifying Checksum", "01693bcc6e98: Download complete", "e76647bcf995: Download complete", "e1031082cfea: Verifying Checksum", "e1031082cfea: Download complete", "e1031082cfea: Pull complete", "3c227d311b7c: Verifying Checksum", "3c227d311b7c: Download complete", "3c227d311b7c: Pull complete", "01693bcc6e98: Pull complete", "e76647bcf995: Pull complete", "Digest: sha256:2a77d4fe085f12d253825a1d4fd61a215c5f9e7c901cf047fd7c806bff21da22", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.573536", "end": "2026-01-04 09:19:54.630237", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2026-01-04 09:19:54.056701", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\ne1031082cfea: Already exists\n64490026a5fa: Pulling fs layer\n316bafb6ea05: Pulling fs layer\n08085d5e98a6: Pulling fs layer\nabcd7421dc56: Pulling fs layer\n3316c7ba5c8d: Pulling fs layer\n70c22c4d76fa: Pulling fs layer\nabcd7421dc56: Waiting\n3316c7ba5c8d: Waiting\n70c22c4d76fa: Waiting\n64490026a5fa: Verifying Checksum\n64490026a5fa: Download complete\n316bafb6ea05: Download complete\n64490026a5fa: Pull complete\nabcd7421dc56: Verifying Checksum\nabcd7421dc56: Download complete\n3316c7ba5c8d: Verifying Checksum\n3316c7ba5c8d: Download complete\n08085d5e98a6: Verifying Checksum\n08085d5e98a6: Download complete\n70c22c4d76fa: Verifying Checksum\n70c22c4d76fa: Download complete\n316bafb6ea05: Pull complete\n08085d5e98a6: Pull complete\nabcd7421dc56: Pull complete\n3316c7ba5c8d: Pull complete\n70c22c4d76fa: Pull complete\nDigest: sha256:273f5d56a466c3a576f7aecda27a3b70b708f66d9bbed46afd3f0b122dbf81c9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "e1031082cfea: Already exists", "64490026a5fa: Pulling fs layer", "316bafb6ea05: Pulling fs layer", "08085d5e98a6: Pulling fs layer", "abcd7421dc56: Pulling fs layer", "3316c7ba5c8d: Pulling fs layer", "70c22c4d76fa: Pulling fs layer", "abcd7421dc56: Waiting", "3316c7ba5c8d: Waiting", "70c22c4d76fa: Waiting", "64490026a5fa: Verifying Checksum", "64490026a5fa: Download complete", "316bafb6ea05: Download complete", "64490026a5fa: Pull complete", "abcd7421dc56: Verifying Checksum", "abcd7421dc56: Download complete", "3316c7ba5c8d: Verifying Checksum", "3316c7ba5c8d: Download complete", "08085d5e98a6: Verifying Checksum", "08085d5e98a6: Download complete", "70c22c4d76fa: Verifying Checksum", "70c22c4d76fa: Download complete", "316bafb6ea05: Pull complete", "08085d5e98a6: Pull complete", "abcd7421dc56: Pull complete", "3316c7ba5c8d: Pull complete", "70c22c4d76fa: Pull complete", "Digest: sha256:273f5d56a466c3a576f7aecda27a3b70b708f66d9bbed46afd3f0b122dbf81c9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_4_2_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_2_5-2_2", "delta": "0:00:03.163076", "end": "2026-01-04 09:19:58.308904", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2026-01-04 09:19:55.145828", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\ne1031082cfea: Already exists\nfc64b3d7603a: Pulling fs layer\n0226018ce4fc: Pulling fs layer\n68eb0690e9bc: Pulling fs layer\neecfb12860ef: Pulling fs layer\n39d340851932: Pulling fs layer\n3bba6dac9638: Pulling fs layer\n6654dd91b6ac: Pulling fs layer\n3550b9e3aa4c: Pulling fs layer\nd675df299e29: Pulling fs layer\neecfb12860ef: Waiting\n39d340851932: Waiting\n3bba6dac9638: Waiting\n6654dd91b6ac: Waiting\n3550b9e3aa4c: Waiting\nd675df299e29: Waiting\n0226018ce4fc: Verifying Checksum\n0226018ce4fc: Download complete\n68eb0690e9bc: Download complete\neecfb12860ef: Download complete\n39d340851932: Verifying Checksum\n39d340851932: Download complete\n6654dd91b6ac: Verifying Checksum\n6654dd91b6ac: Download complete\n3bba6dac9638: Verifying Checksum\n3bba6dac9638: Download complete\n3550b9e3aa4c: Verifying Checksum\n3550b9e3aa4c: Download complete\nd675df299e29: Download complete\nfc64b3d7603a: Download complete\nfc64b3d7603a: Pull complete\n0226018ce4fc: Pull complete\n68eb0690e9bc: Pull complete\neecfb12860ef: Pull complete\n39d340851932: Pull complete\n3bba6dac9638: Pull complete\n6654dd91b6ac: Pull complete\n3550b9e3aa4c: Pull complete\nd675df299e29: Pull complete\nDigest: sha256:9c351d812c2b83238043f10a5d09481a7d421b11428be4cdad62615469097443\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "e1031082cfea: Already exists", "fc64b3d7603a: Pulling fs layer", "0226018ce4fc: Pulling fs layer", "68eb0690e9bc: Pulling fs layer", "eecfb12860ef: Pulling fs layer", "39d340851932: Pulling fs layer", "3bba6dac9638: Pulling fs layer", "6654dd91b6ac: Pulling fs layer", "3550b9e3aa4c: Pulling fs layer", "d675df299e29: Pulling fs layer", "eecfb12860ef: Waiting", "39d340851932: Waiting", "3bba6dac9638: Waiting", "6654dd91b6ac: Waiting", "3550b9e3aa4c: Waiting", "d675df299e29: Waiting", "0226018ce4fc: Verifying Checksum", "0226018ce4fc: Download complete", "68eb0690e9bc: Download complete", "eecfb12860ef: Download complete", "39d340851932: Verifying Checksum", "39d340851932: Download complete", "6654dd91b6ac: Verifying Checksum", "6654dd91b6ac: Download complete", "3bba6dac9638: Verifying Checksum", "3bba6dac9638: Download complete", "3550b9e3aa4c: Verifying Checksum", "3550b9e3aa4c: Download complete", "d675df299e29: Download complete", "fc64b3d7603a: Download complete", "fc64b3d7603a: Pull complete", "0226018ce4fc: Pull complete", "68eb0690e9bc: Pull complete", "eecfb12860ef: Pull complete", "39d340851932: Pull complete", "3bba6dac9638: Pull complete", "6654dd91b6ac: Pull complete", "3550b9e3aa4c: Pull complete", "d675df299e29: Pull complete", "Digest: sha256:9c351d812c2b83238043f10a5d09481a7d421b11428be4cdad62615469097443", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.102323", "end": "2026-01-04 09:19:58.822249", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:19:58.719926", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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": "3782b48d80c49ad4cd02b0b80a27a08ecd554f51", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "203e6584be1c2ba5b07aafd429147a20", "mode": "0644", "owner": "root", "size": 3011, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518416.2920246-70931-168466526464589/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "1742447a26c141a0dcc164763f12e0e6a324cb13364ce4dd6a70cf905fe6b52f", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "e0b08605b24da346c70435ff2a33c2ab056fa0a388553e6bcc0cbbfb3c6682c3", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "3dc26a4616215a80cacefc04c8b43305fb9a9c98c3ada29b9f8860cadf9b480c", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "adda0c45d71fc63bbc28a9ad6ada7ef4e69b75af0dfafb5f12a9f2c1b6753017", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "c07c4b0c97a6c9b51934f4eda0d8037fa174a4807fdca0b9adde8225cfa2a33d", "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_2_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_2_5-2_2", "delta": "0:00:00.120131", "end": "2026-01-04 09:20:21.513783", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:20:21.393652", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.107718", "end": "2026-01-04 09:20:22.112674", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:20:22.004956", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:02.257738", "end": "2026-01-04 09:20:24.792447", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2026-01-04 09:20:22.534709", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\na98dbe369737: Pulling fs layer\n4c00ae27b85a: Pulling fs layer\n48c4dc6cb5a6: Pulling fs layer\na98dbe369737: Verifying Checksum\na98dbe369737: Download complete\na98dbe369737: Pull complete\n48c4dc6cb5a6: Verifying Checksum\n48c4dc6cb5a6: Download complete\n4c00ae27b85a: Verifying Checksum\n4c00ae27b85a: Download complete\n4c00ae27b85a: Pull complete\n48c4dc6cb5a6: Pull complete\nDigest: sha256:cd077f71f2f4a1fb666ca541811d288d631e06c2b28c76e05fb2277e9f4f615a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "a98dbe369737: Pulling fs layer", "4c00ae27b85a: Pulling fs layer", "48c4dc6cb5a6: Pulling fs layer", "a98dbe369737: Verifying Checksum", "a98dbe369737: Download complete", "a98dbe369737: Pull complete", "48c4dc6cb5a6: Verifying Checksum", "48c4dc6cb5a6: Download complete", "4c00ae27b85a: Verifying Checksum", "4c00ae27b85a: Download complete", "4c00ae27b85a: Pull complete", "48c4dc6cb5a6: Pull complete", "Digest: sha256:cd077f71f2f4a1fb666ca541811d288d631e06c2b28c76e05fb2277e9f4f615a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.103539", "end": "2026-01-04 09:20:25.345627", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-01-04 09:20:25.242088", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-external-cassandra\nDigest: sha256:39fc331f1895f8dd34f106b96c091ff7cdc268338c65332a218f7dc7adb48893\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-external-cassandra", "Digest: sha256:39fc331f1895f8dd34f106b96c091ff7cdc268338c65332a218f7dc7adb48893", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.103270", "end": "2026-01-04 09:20:25.875916", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:20:25.772646", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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": "597cd88acb22f13852b567ed70e1cadd555ac83e", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "d62fcc19dca5e594ee09bd0b73620fd0", "mode": "0644", "owner": "root", "size": 3025, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518443.181613-74730-147818328822489/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "ffbc994eddcce437bd2e9617319b908f7d75ae707e7efcd16d983f8e06fbd007", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "c4220423b981bada65f8470621d5ebe0c1bfdb7a1253047d237de2147373082c", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "98b1e3a0aff802459c40d0e2ff222c286d836698928c9d18de642d492bdbcabb", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "a11540f12cd00f551469f82665c840216b2795bd2ccd3f2d6ae66bec3f356b62", "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_2_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_2_5-2_2", "delta": "0:00:00.138608", "end": "2026-01-04 09:20:47.053605", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:20:46.914997", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.145018", "end": "2026-01-04 09:20:47.932466", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:20:47.787448", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:01.872338", "end": "2026-01-04 09:20:50.257868", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2026-01-04 09:20:48.385530", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\na4f4de0cfcef: Pulling fs layer\na601f18ca705: Pulling fs layer\n95f410cf292d: Pulling fs layer\nb679bd197dd8: Pulling fs layer\nd8b75cdb5438: Pulling fs layer\nb679bd197dd8: Waiting\nd8b75cdb5438: Waiting\na601f18ca705: Download complete\na4f4de0cfcef: Download complete\n95f410cf292d: Verifying Checksum\n95f410cf292d: Download complete\nb679bd197dd8: Verifying Checksum\nb679bd197dd8: Download complete\na4f4de0cfcef: Pull complete\na601f18ca705: Pull complete\nd8b75cdb5438: Verifying Checksum\nd8b75cdb5438: Download complete\n95f410cf292d: Pull complete\nb679bd197dd8: Pull complete\nd8b75cdb5438: Pull complete\nDigest: sha256:4dd09b877e25a53b804079d179252f496400403a6ace0bd97dae2e5e3aef8ef4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "a4f4de0cfcef: Pulling fs layer", "a601f18ca705: Pulling fs layer", "95f410cf292d: Pulling fs layer", "b679bd197dd8: Pulling fs layer", "d8b75cdb5438: Pulling fs layer", "b679bd197dd8: Waiting", "d8b75cdb5438: Waiting", "a601f18ca705: Download complete", "a4f4de0cfcef: Download complete", "95f410cf292d: Verifying Checksum", "95f410cf292d: Download complete", "b679bd197dd8: Verifying Checksum", "b679bd197dd8: Download complete", "a4f4de0cfcef: Pull complete", "a601f18ca705: Pull complete", "d8b75cdb5438: Verifying Checksum", "d8b75cdb5438: Download complete", "95f410cf292d: Pull complete", "b679bd197dd8: Pull complete", "d8b75cdb5438: Pull complete", "Digest: sha256:4dd09b877e25a53b804079d179252f496400403a6ace0bd97dae2e5e3aef8ef4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_4_2_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_2_5-2_2", "delta": "0:00:04.008157", "end": "2026-01-04 09:20:54.739301", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2026-01-04 09:20:50.731144", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n0a850f1fa2e8: Pulling fs layer\n6d7b46e71a16: Pulling fs layer\n466be204ba34: Pulling fs layer\n0a850f1fa2e8: Verifying Checksum\n0a850f1fa2e8: Download complete\n0a850f1fa2e8: Pull complete\n466be204ba34: Verifying Checksum\n466be204ba34: Download complete\n6d7b46e71a16: Verifying Checksum\n6d7b46e71a16: Download complete\n6d7b46e71a16: Pull complete\n466be204ba34: Pull complete\nDigest: sha256:483b157e315a86ab179629d54da65c50132cec2fc0d3483fa8f5795e6be90764\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "0a850f1fa2e8: Pulling fs layer", "6d7b46e71a16: Pulling fs layer", "466be204ba34: Pulling fs layer", "0a850f1fa2e8: Verifying Checksum", "0a850f1fa2e8: Download complete", "0a850f1fa2e8: Pull complete", "466be204ba34: Verifying Checksum", "466be204ba34: Download complete", "6d7b46e71a16: Verifying Checksum", "6d7b46e71a16: Download complete", "6d7b46e71a16: Pull complete", "466be204ba34: Pull complete", "Digest: sha256:483b157e315a86ab179629d54da65c50132cec2fc0d3483fa8f5795e6be90764", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.102321", "end": "2026-01-04 09:20:55.271573", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:20:55.169252", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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": "dac1853e4b8ecf95a27cdc34f1fbf872d5ecc9b6", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "822d139183f497d6874c07df6be2f82c", "mode": "0644", "owner": "root", "size": 2415, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518472.7765105-78712-124578800305910/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "87523e58ad16425c1286945aa582f1cc8be6c38e4a474a72171ac7c5bc6ee7db", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "bb08502b9db2f630f32fafaac3a652d825bcc971422dcd2581628e19dd51d193", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_5-2_2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "621d0c0784d3aee045f9883b5f77b8e31e23b0f306c50d5923b7bf8500258d55", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "f917eb4dbb52ddeb3b6eb77974a70a242e9446b5450d77f25e773f088dc053af", "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_2_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_2_5-2_2", "delta": "0:00:00.141276", "end": "2026-01-04 09:21:16.479559", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:21:16.338283", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.098400", "end": "2026-01-04 09:21:17.018928", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:21:16.920528", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.750617", "end": "2026-01-04 09:21:18.223214", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2026-01-04 09:21:17.472597", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\nbf0fbfb74118: Pulling fs layer\n5bd805df16d1: Pulling fs layer\nbf0fbfb74118: Verifying Checksum\nbf0fbfb74118: Download complete\nbf0fbfb74118: Pull complete\n5bd805df16d1: Verifying Checksum\n5bd805df16d1: Download complete\n5bd805df16d1: Pull complete\nDigest: sha256:594c6d80b543f4f511f07284db06e382e8dfc732e1d929c156ace0682fa7a77f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "bf0fbfb74118: Pulling fs layer", "5bd805df16d1: Pulling fs layer", "bf0fbfb74118: Verifying Checksum", "bf0fbfb74118: Download complete", "bf0fbfb74118: Pull complete", "5bd805df16d1: Verifying Checksum", "5bd805df16d1: Download complete", "5bd805df16d1: Pull complete", "Digest: sha256:594c6d80b543f4f511f07284db06e382e8dfc732e1d929c156ace0682fa7a77f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_4_2_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_2_5-2_2", "delta": "0:00:07.499185", "end": "2026-01-04 09:21:26.253838", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2026-01-04 09:21:18.754653", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_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\ndf1fd1956099: Pulling fs layer\n6f4c6fe005ff: Pulling fs layer\n8071803417fd: Pulling fs layer\n570584bb2767: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\na34edb4da622: Waiting\nf7cdaeb78991: Waiting\ne6744199aa66: Waiting\ncda86626eeb3: Waiting\n304e58a73598: Waiting\ndf1fd1956099: Waiting\n6f4c6fe005ff: Waiting\n8071803417fd: Waiting\n34d370b15c91: Waiting\n570584bb2767: Waiting\n6e6e21ba9841: Waiting\n4f4fb700ef54: Waiting\nf18232174bc9: Verifying Checksum\nf18232174bc9: Download complete\ne6744199aa66: Verifying Checksum\ne6744199aa66: Download complete\ncda86626eeb3: Verifying Checksum\ncda86626eeb3: Download complete\nf6cd406c8d97: Verifying Checksum\nf6cd406c8d97: Download complete\n34d370b15c91: Verifying Checksum\n34d370b15c91: Download complete\nf18232174bc9: Pull complete\n6e6e21ba9841: Verifying Checksum\n6e6e21ba9841: Download complete\na34edb4da622: Verifying Checksum\na34edb4da622: Download complete\nf7cdaeb78991: Verifying Checksum\ndf1fd1956099: Verifying Checksum\ndf1fd1956099: Download complete\n6f4c6fe005ff: Download complete\n8071803417fd: Download complete\n74f6a226ed93: Verifying Checksum\n74f6a226ed93: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n570584bb2767: Verifying Checksum\n570584bb2767: 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\ndf1fd1956099: Pull complete\n6f4c6fe005ff: Pull complete\n8071803417fd: Pull complete\n570584bb2767: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:337a1a11e16033acd32ef4ed621297c024cc7322d819d7e0cec078fc5cd6c4c0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_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", "df1fd1956099: Pulling fs layer", "6f4c6fe005ff: Pulling fs layer", "8071803417fd: Pulling fs layer", "570584bb2767: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "a34edb4da622: Waiting", "f7cdaeb78991: Waiting", "e6744199aa66: Waiting", "cda86626eeb3: Waiting", "304e58a73598: Waiting", "df1fd1956099: Waiting", "6f4c6fe005ff: Waiting", "8071803417fd: Waiting", "34d370b15c91: Waiting", "570584bb2767: Waiting", "6e6e21ba9841: Waiting", "4f4fb700ef54: Waiting", "f18232174bc9: Verifying Checksum", "f18232174bc9: Download complete", "e6744199aa66: Verifying Checksum", "e6744199aa66: Download complete", "cda86626eeb3: Verifying Checksum", "cda86626eeb3: Download complete", "f6cd406c8d97: Verifying Checksum", "f6cd406c8d97: Download complete", "34d370b15c91: Verifying Checksum", "34d370b15c91: Download complete", "f18232174bc9: Pull complete", "6e6e21ba9841: Verifying Checksum", "6e6e21ba9841: Download complete", "a34edb4da622: Verifying Checksum", "a34edb4da622: Download complete", "f7cdaeb78991: Verifying Checksum", "df1fd1956099: Verifying Checksum", "df1fd1956099: Download complete", "6f4c6fe005ff: Download complete", "8071803417fd: Download complete", "74f6a226ed93: Verifying Checksum", "74f6a226ed93: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "570584bb2767: Verifying Checksum", "570584bb2767: 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", "df1fd1956099: Pull complete", "6f4c6fe005ff: Pull complete", "8071803417fd: Pull complete", "570584bb2767: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:337a1a11e16033acd32ef4ed621297c024cc7322d819d7e0cec078fc5cd6c4c0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.108715", "end": "2026-01-04 09:21:26.805371", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:21:26.696656", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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": "7da80989cb36abb77a60bceabb9ecfba65de7650", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "06d2615fe1487ea590da6e5589a04cd3", "mode": "0644", "owner": "root", "size": 2487, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518487.8339777-80552-188805717938911/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "5a297df8a995866179867ccf25a3b12d5c64a72f5b5cd3b3d7af2009bf500735", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "ac4987c1081ba125493d059ab5744a6961e64cf2e6841823048496182cff540f", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "2d1a578fe75ebc7495ac294db5b0eca7c6d15cfc7419f8035b29b01113bb2467", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "39c4353e6c924fe04d570560f87b0acbb203cb072f75fa73d1dd4428a1d3b587", "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_2_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_2_5-2_2", "delta": "0:00:00.106067", "end": "2026-01-04 09:21:32.082729", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:21:31.976662", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.113022", "end": "2026-01-04 09:21:32.708746", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:21:32.595724", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:05.942122", "end": "2026-01-04 09:21:39.162054", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2026-01-04 09:21:33.219932", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n9b64e3dce63a: Pulling fs layer\nca49eec521b4: Pulling fs layer\nb47186d38c3e: Pulling fs layer\n0d5f587d36cb: Pulling fs layer\n0d5f587d36cb: Waiting\nb47186d38c3e: Download complete\n9b64e3dce63a: Verifying Checksum\n9b64e3dce63a: Download complete\n0d5f587d36cb: Verifying Checksum\n0d5f587d36cb: Download complete\n9b64e3dce63a: Pull complete\nca49eec521b4: Verifying Checksum\nca49eec521b4: Download complete\nca49eec521b4: Pull complete\nb47186d38c3e: Pull complete\n0d5f587d36cb: Pull complete\nDigest: sha256:153067948d60b3c3b7beca6c858e3523472da330411f47ad94b5c93f4ec21761\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "9b64e3dce63a: Pulling fs layer", "ca49eec521b4: Pulling fs layer", "b47186d38c3e: Pulling fs layer", "0d5f587d36cb: Pulling fs layer", "0d5f587d36cb: Waiting", "b47186d38c3e: Download complete", "9b64e3dce63a: Verifying Checksum", "9b64e3dce63a: Download complete", "0d5f587d36cb: Verifying Checksum", "0d5f587d36cb: Download complete", "9b64e3dce63a: Pull complete", "ca49eec521b4: Verifying Checksum", "ca49eec521b4: Download complete", "ca49eec521b4: Pull complete", "b47186d38c3e: Pull complete", "0d5f587d36cb: Pull complete", "Digest: sha256:153067948d60b3c3b7beca6c858e3523472da330411f47ad94b5c93f4ec21761", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.509674", "end": "2026-01-04 09:21:40.158250", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2026-01-04 09:21:39.648576", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n9b64e3dce63a: Already exists\nca49eec521b4: Already exists\n62537b37f88f: Pulling fs layer\n085a339f5383: Pulling fs layer\n62537b37f88f: Download complete\n085a339f5383: Download complete\n62537b37f88f: Pull complete\n085a339f5383: Pull complete\nDigest: sha256:ef87fb367f99af54dc7aa69908ac9d5335fd86a921f31cbe13bef3ad6ca94127\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "9b64e3dce63a: Already exists", "ca49eec521b4: Already exists", "62537b37f88f: Pulling fs layer", "085a339f5383: Pulling fs layer", "62537b37f88f: Download complete", "085a339f5383: Download complete", "62537b37f88f: Pull complete", "085a339f5383: Pull complete", "Digest: sha256:ef87fb367f99af54dc7aa69908ac9d5335fd86a921f31cbe13bef3ad6ca94127", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.108554", "end": "2026-01-04 09:21:40.747585", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:21:40.639031", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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": "daa50f3f3859ac197751810be989bd33ad153169", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "11c17814931b99ac25ac438ac8327e15", "mode": "0644", "owner": "root", "size": 2368, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518501.4639442-83131-136444410290306/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "dd87e02bed08926bc10c934843e685d0000abec8097a087464940a17125d969e", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "36a2799940538c2d7f9ed1c07fc7bae1da2ea9ba924bfa0a36b91c757b698c05", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "4b091526d85de630dc4ec28a4dbd4a27053dd19fa4ea4c6fe4b34a46d1e47c7d", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "40e35003e8da32782a8ab8b6568b344961d48bfa999b921bac57f3f249046b29", "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_2_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_2_5-2_2", "delta": "0:00:00.662429", "end": "2026-01-04 09:21:46.330651", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2026-01-04 09:21:45.668222", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\ne813857da7e2: Pulling fs layer\ne2f6d1c4b6df: Pulling fs layer\n5bf5acb1d538: Pulling fs layer\n889932fc81cf: Pulling fs layer\n889932fc81cf: Waiting\n5bf5acb1d538: Verifying Checksum\n5bf5acb1d538: Download complete\ne813857da7e2: Verifying Checksum\ne813857da7e2: Download complete\n889932fc81cf: Verifying Checksum\n889932fc81cf: Download complete\ne813857da7e2: Pull complete\ne2f6d1c4b6df: Verifying Checksum\ne2f6d1c4b6df: Download complete\ne2f6d1c4b6df: Pull complete\n5bf5acb1d538: Pull complete\n889932fc81cf: Pull complete\nDigest: sha256:0e2b70533552152b0905da2974019148010e7720fa5a0b54dcbce0bfb587acdf\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "e813857da7e2: Pulling fs layer", "e2f6d1c4b6df: Pulling fs layer", "5bf5acb1d538: Pulling fs layer", "889932fc81cf: Pulling fs layer", "889932fc81cf: Waiting", "5bf5acb1d538: Verifying Checksum", "5bf5acb1d538: Download complete", "e813857da7e2: Verifying Checksum", "e813857da7e2: Download complete", "889932fc81cf: Verifying Checksum", "889932fc81cf: Download complete", "e813857da7e2: Pull complete", "e2f6d1c4b6df: Verifying Checksum", "e2f6d1c4b6df: Download complete", "e2f6d1c4b6df: Pull complete", "5bf5acb1d538: Pull complete", "889932fc81cf: Pull complete", "Digest: sha256:0e2b70533552152b0905da2974019148010e7720fa5a0b54dcbce0bfb587acdf", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_4_2_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": "4bd28c697df01a4dbe5ac4f3f5fd1bb916d037d5", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "c27632aed9533b3a69840611644282a4", "mode": "0644", "owner": "root", "size": 617, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518507.1635478-84327-74169168866111/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "4621a3734716ccb3674aaa459aa3aa97b900fdb8dd5b50031f06bc86353c697a", "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_2_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_2_5-2_2", "delta": "0:00:00.119916", "end": "2026-01-04 09:21:50.107070", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-01-04 09:21:49.987154", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-node-init\nDigest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-node-init", "Digest: sha256:c5f903a7a1330fc914dab91108840855e09f6127cde23962958d5f2a68e3d20d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.109916", "end": "2026-01-04 09:21:50.801098", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-01-04 09:21:50.691182", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-nodemgr\nDigest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-nodemgr", "Digest: sha256:97d4c26622770c702d331b0b0b5c941d55385252e11bd70eb1f2212aeb02722e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_4_2_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_2_5-2_2", "delta": "0:00:00.104150", "end": "2026-01-04 09:21:51.362585", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-01-04 09:21:51.258435", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-provisioner\nDigest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-provisioner", "Digest: sha256:d73593b233a9f42669dddc5f5f81592ac405ab75861b5be903c129235417f03e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_4_2_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_2_5-2_2", "delta": "0:00:07.148038", "end": "2026-01-04 09:21:58.973222", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2026-01-04 09:21:51.825184", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-vrouter-kernel-build-init\n02de03a7213b: Pulling fs layer\ndbf7cff2c747: Pulling fs layer\n8e5e2607148b: Pulling fs layer\n68bde9937664: Pulling fs layer\nf36aaba5a0f1: Pulling fs layer\n6141eeaf3cf7: Pulling fs layer\n6c2149f8eb46: Pulling fs layer\n7eb86ba037d8: Pulling fs layer\nc0051eeeb31c: Pulling fs layer\n68bde9937664: Waiting\nf36aaba5a0f1: Waiting\n6141eeaf3cf7: Waiting\nc0051eeeb31c: Waiting\n6c2149f8eb46: Waiting\n7eb86ba037d8: Waiting\n8e5e2607148b: Verifying Checksum\n8e5e2607148b: Download complete\ndbf7cff2c747: Verifying Checksum\ndbf7cff2c747: Download complete\n68bde9937664: Download complete\nf36aaba5a0f1: Verifying Checksum\nf36aaba5a0f1: Download complete\n6141eeaf3cf7: Verifying Checksum\n6141eeaf3cf7: Download complete\n7eb86ba037d8: Verifying Checksum\n7eb86ba037d8: Download complete\nc0051eeeb31c: Verifying Checksum\nc0051eeeb31c: Download complete\n02de03a7213b: Verifying Checksum\n02de03a7213b: Download complete\n02de03a7213b: Pull complete\ndbf7cff2c747: Pull complete\n8e5e2607148b: Pull complete\n68bde9937664: Pull complete\nf36aaba5a0f1: Pull complete\n6c2149f8eb46: Verifying Checksum\n6c2149f8eb46: Download complete\n6141eeaf3cf7: Pull complete\n6c2149f8eb46: Pull complete\n7eb86ba037d8: Pull complete\nc0051eeeb31c: Pull complete\nDigest: sha256:d173b49f224e5d85a90e784ef3d9eb93b426ed1727e696a9e2f5b42694383b1b\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-vrouter-kernel-build-init", "02de03a7213b: Pulling fs layer", "dbf7cff2c747: Pulling fs layer", "8e5e2607148b: Pulling fs layer", "68bde9937664: Pulling fs layer", "f36aaba5a0f1: Pulling fs layer", "6141eeaf3cf7: Pulling fs layer", "6c2149f8eb46: Pulling fs layer", "7eb86ba037d8: Pulling fs layer", "c0051eeeb31c: Pulling fs layer", "68bde9937664: Waiting", "f36aaba5a0f1: Waiting", "6141eeaf3cf7: Waiting", "c0051eeeb31c: Waiting", "6c2149f8eb46: Waiting", "7eb86ba037d8: Waiting", "8e5e2607148b: Verifying Checksum", "8e5e2607148b: Download complete", "dbf7cff2c747: Verifying Checksum", "dbf7cff2c747: Download complete", "68bde9937664: Download complete", "f36aaba5a0f1: Verifying Checksum", "f36aaba5a0f1: Download complete", "6141eeaf3cf7: Verifying Checksum", "6141eeaf3cf7: Download complete", "7eb86ba037d8: Verifying Checksum", "7eb86ba037d8: Download complete", "c0051eeeb31c: Verifying Checksum", "c0051eeeb31c: Download complete", "02de03a7213b: Verifying Checksum", "02de03a7213b: Download complete", "02de03a7213b: Pull complete", "dbf7cff2c747: Pull complete", "8e5e2607148b: Pull complete", "68bde9937664: Pull complete", "f36aaba5a0f1: Pull complete", "6c2149f8eb46: Verifying Checksum", "6c2149f8eb46: Download complete", "6141eeaf3cf7: Pull complete", "6c2149f8eb46: Pull complete", "7eb86ba037d8: Pull complete", "c0051eeeb31c: Pull complete", "Digest: sha256:d173b49f224e5d85a90e784ef3d9eb93b426ed1727e696a9e2f5b42694383b1b", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_4_2_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_2_5-2_2", "delta": "0:00:11.935923", "end": "2026-01-04 09:22:11.417453", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2026-01-04 09:21:59.481530", "stderr": "", "stderr_lines": [], "stdout": "master-2_4_2_5-2_2: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n381c596b2e85: Already exists\n3047a08c0f7d: Already exists\n42d4d904bf43: Already exists\nb0450106acd9: Already exists\n162eee78991d: Already exists\n87cace629109: Already exists\n3cf5d2272c3f: Already exists\nbf999dd673f3: Already exists\nd3c917651df6: Already exists\nacbf1f9eb465: Already exists\n29ab615eb725: Already exists\n6cf8ea586bf0: Already exists\n083918b4fbd8: Pulling fs layer\na2b849b4fbd1: Pulling fs layer\n3e52cfbf6512: Pulling fs layer\n58914bfc5603: Pulling fs layer\nfb9ab6b763dd: Pulling fs layer\n2309f8e47727: Pulling fs layer\n422cc1ef65d5: Pulling fs layer\n0c9a81e29e4a: Pulling fs layer\n97b2f394ff47: Pulling fs layer\ne8d8c0d3a263: Pulling fs layer\n58914bfc5603: Waiting\n10b6250f5a90: Pulling fs layer\nfb9ab6b763dd: Waiting\nc9dd88e87b1f: Pulling fs layer\n2309f8e47727: Waiting\n422cc1ef65d5: Waiting\n181360c1c005: Pulling fs layer\n0c9a81e29e4a: Waiting\n97b2f394ff47: Waiting\nd19fe3186a64: Pulling fs layer\ne8d8c0d3a263: Waiting\n10b6250f5a90: Waiting\n63b15a316df3: Pulling fs layer\nc9dd88e87b1f: Waiting\n181360c1c005: Waiting\nd19fe3186a64: Waiting\n63b15a316df3: Waiting\n083918b4fbd8: Verifying Checksum\n083918b4fbd8: Download complete\na2b849b4fbd1: Verifying Checksum\na2b849b4fbd1: Download complete\n58914bfc5603: Verifying Checksum\n58914bfc5603: Download complete\n083918b4fbd8: Pull complete\nfb9ab6b763dd: Verifying Checksum\nfb9ab6b763dd: Download complete\n2309f8e47727: Verifying Checksum\n2309f8e47727: Download complete\na2b849b4fbd1: Pull complete\n422cc1ef65d5: Verifying Checksum\n422cc1ef65d5: Download complete\n3e52cfbf6512: Verifying Checksum\n3e52cfbf6512: Download complete\n97b2f394ff47: Verifying Checksum\n97b2f394ff47: Download complete\ne8d8c0d3a263: Verifying Checksum\ne8d8c0d3a263: Download complete\n10b6250f5a90: Verifying Checksum\n10b6250f5a90: Download complete\n181360c1c005: Download complete\nd19fe3186a64: Download complete\n63b15a316df3: Verifying Checksum\n63b15a316df3: Download complete\nc9dd88e87b1f: Verifying Checksum\nc9dd88e87b1f: Download complete\n3e52cfbf6512: Pull complete\n58914bfc5603: Pull complete\nfb9ab6b763dd: Pull complete\n2309f8e47727: Pull complete\n422cc1ef65d5: Pull complete\n0c9a81e29e4a: Verifying Checksum\n0c9a81e29e4a: Download complete\n0c9a81e29e4a: Pull complete\n97b2f394ff47: Pull complete\ne8d8c0d3a263: Pull complete\n10b6250f5a90: Pull complete\nc9dd88e87b1f: Pull complete\n181360c1c005: Pull complete\nd19fe3186a64: Pull complete\n63b15a316df3: Pull complete\nDigest: sha256:9766787ad421a2de69b1a4b2a6627f8110b904e6fc3c85c50c084238088da469\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_2_5-2_2\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_2_5-2_2", "stdout_lines": ["master-2_4_2_5-2_2: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "381c596b2e85: Already exists", "3047a08c0f7d: Already exists", "42d4d904bf43: Already exists", "b0450106acd9: Already exists", "162eee78991d: Already exists", "87cace629109: Already exists", "3cf5d2272c3f: Already exists", "bf999dd673f3: Already exists", "d3c917651df6: Already exists", "acbf1f9eb465: Already exists", "29ab615eb725: Already exists", "6cf8ea586bf0: Already exists", "083918b4fbd8: Pulling fs layer", "a2b849b4fbd1: Pulling fs layer", "3e52cfbf6512: Pulling fs layer", "58914bfc5603: Pulling fs layer", "fb9ab6b763dd: Pulling fs layer", "2309f8e47727: Pulling fs layer", "422cc1ef65d5: Pulling fs layer", "0c9a81e29e4a: Pulling fs layer", "97b2f394ff47: Pulling fs layer", "e8d8c0d3a263: Pulling fs layer", "58914bfc5603: Waiting", "10b6250f5a90: Pulling fs layer", "fb9ab6b763dd: Waiting", "c9dd88e87b1f: Pulling fs layer", "2309f8e47727: Waiting", "422cc1ef65d5: Waiting", "181360c1c005: Pulling fs layer", "0c9a81e29e4a: Waiting", "97b2f394ff47: Waiting", "d19fe3186a64: Pulling fs layer", "e8d8c0d3a263: Waiting", "10b6250f5a90: Waiting", "63b15a316df3: Pulling fs layer", "c9dd88e87b1f: Waiting", "181360c1c005: Waiting", "d19fe3186a64: Waiting", "63b15a316df3: Waiting", "083918b4fbd8: Verifying Checksum", "083918b4fbd8: Download complete", "a2b849b4fbd1: Verifying Checksum", "a2b849b4fbd1: Download complete", "58914bfc5603: Verifying Checksum", "58914bfc5603: Download complete", "083918b4fbd8: Pull complete", "fb9ab6b763dd: Verifying Checksum", "fb9ab6b763dd: Download complete", "2309f8e47727: Verifying Checksum", "2309f8e47727: Download complete", "a2b849b4fbd1: Pull complete", "422cc1ef65d5: Verifying Checksum", "422cc1ef65d5: Download complete", "3e52cfbf6512: Verifying Checksum", "3e52cfbf6512: Download complete", "97b2f394ff47: Verifying Checksum", "97b2f394ff47: Download complete", "e8d8c0d3a263: Verifying Checksum", "e8d8c0d3a263: Download complete", "10b6250f5a90: Verifying Checksum", "10b6250f5a90: Download complete", "181360c1c005: Download complete", "d19fe3186a64: Download complete", "63b15a316df3: Verifying Checksum", "63b15a316df3: Download complete", "c9dd88e87b1f: Verifying Checksum", "c9dd88e87b1f: Download complete", "3e52cfbf6512: Pull complete", "58914bfc5603: Pull complete", "fb9ab6b763dd: Pull complete", "2309f8e47727: Pull complete", "422cc1ef65d5: Pull complete", "0c9a81e29e4a: Verifying Checksum", "0c9a81e29e4a: Download complete", "0c9a81e29e4a: Pull complete", "97b2f394ff47: Pull complete", "e8d8c0d3a263: Pull complete", "10b6250f5a90: Pull complete", "c9dd88e87b1f: Pull complete", "181360c1c005: Pull complete", "d19fe3186a64: Pull complete", "63b15a316df3: Pull complete", "Digest: sha256:9766787ad421a2de69b1a4b2a6627f8110b904e6fc3c85c50c084238088da469", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_2_5-2_2", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_4_2_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": "0b21900de7697f7da3fa6530f2ba8ecc6d56df9f", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "2d227dd4b8dda0b74c5108421e6a8402", "mode": "0640", "owner": "root", "size": 1027, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518532.4881513-86129-238640343384473/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": "40531b930e0ffc0e4006cb1b5bfd3d6f5a822922", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1745fa6930d7c20bf50300786e1d3185", "mode": "0644", "owner": "root", "size": 2757, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1767518534.1585863-86242-72103909240353/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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "30d72c2a7c1a592e9fdbe699cf694ae4af3ad0289dd0e68de5e6bf6df4fc5825", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "f6f689aed9f6dc244c236fe6e737fecd3412ba470f1104945a2deb1d488a3e46", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "b0651477e34402bc2ab200d9e9e12ff31f8ae28ffc498e4aa7e340f834c12f2a", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "49f9c5cd29eacacfab36ea6aad9446c3033836cb879883f8a301bfcfc6d6f8cb", "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_2_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_2_5-2_2", "labels": {"com.docker.compose.config-hash": "2e04d65afd33289a82403d6edb12d272fa2419efb5ebb113bf0061bd24d62239", "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_2_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 Sun Jan 4 09:23:22 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: Sun Jan 4 09:23:23 UTC 2026: ensure time is synced (chronyd) INFO: Sun Jan 4 09:23:23 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 Sun Jan 4 09:23:23 UTC 2026 INFO: Running stage wait at Sun Jan 4 09:23:23 UTC 2026 INFO: done in 0s INFO: Stage wait was run successfully Sun Jan 4 09:23:30 UTC 2026 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-2_4_2_5-2_2 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_4_2_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.14 " 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 Sun Jan 4 09:23:30 UTC 2026 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS