Started by upstream project "pipeline-check" build number 3994 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-controller/+/2625 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 389088bd7ca890801e49f493d6706bf4990848cc (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 389088bd7ca890801e49f493d6706bf4990848cc # timeout=10 Commit message: "add rocky 9.3 and 9.4" > git rev-list --no-walk 389088bd7ca890801e49f493d6706bf4990848cc # 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 3994 [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins6207208438717183883.sh + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3994 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3994 ++ 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/2625/1/check_3994 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2625/1/check_3994 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994 ++ 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_6_2_5-1 ++ CONTRAIL_CONTAINER_TAG=master-2_6_2_5-1 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=Ib7960c61ec6556eabb6413f37e9eb701d41e6fc0 ++ GERRIT_CHANGE_ID=Ib7960c61ec6556eabb6413f37e9eb701d41e6fc0 ++ 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-3994 Random: 21240 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-check-3994 Random: 21240 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994/ansible-os' DESCRIPTION Pipeline: pipeline-check-3994 Random: 21240 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994/ansible-os [description-setter] Description set: Pipeline: pipeline-check-3994 Random: 21240 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994/ansible-os' [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins6849430121299229506.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3994 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3994 ++ 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/2625/1/check_3994 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2625/1/check_3994 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994 ++ 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_6_2_5-1 ++ CONTRAIL_CONTAINER_TAG=master-2_6_2_5-1 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=Ib7960c61ec6556eabb6413f37e9eb701d41e6fc0 ++ GERRIT_CHANGE_ID=Ib7960c61ec6556eabb6413f37e9eb701d41e6fc0 ++ 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/jenkins13949763750308596984.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3994 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3994 ++ 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/2625/1/check_3994 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2625/1/check_3994 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/25/2625/1/check_3994 ++ 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_6_2_5-1 ++ CONTRAIL_CONTAINER_TAG=master-2_6_2_5-1 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_6_2_5-1 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=Ib7960c61ec6556eabb6413f37e9eb701d41e6fc0 ++ GERRIT_CHANGE_ID=Ib7960c61ec6556eabb6413f37e9eb701d41e6fc0 ++ 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' ['ROCKY93']='rocky' ['ROCKY94']='rocky' ['ROCKY95']='rocky' ['ROCKY96']='rocky') ++ declare -A OS_IMAGE_USERS ++ OS_IMAGES_UP=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY93']='rocky' ['ROCKY94']='rocky' ['ROCKY95']='rocky' ['ROCKY96']='rocky') ++ declare -A OS_IMAGES_UP ++ OS_IMAGES_DOWN=(['CENTOS7']='' ['CENTOS8']='' ['UBUNTU20']='' ['UBUNTU22']='' ['UBUNTU24']='' ['ROCKY9']='' ['ROCKY92']='' ['ROCKY93']='' ['ROCKY94']='' ['ROCKY95']='' ['ROCKY96']='') ++ 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.21240.env ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export ENVIRONMENT_OS=ubuntu22 ++ ENVIRONMENT_OS=ubuntu22 ++ head -1 ++ export DATA_NETWORK=10.20.0.0/24 ++ DATA_NETWORK=10.20.0.0/24 ++ 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=2ca792e7-556a-49cc-8eb2-d30c90863618, ++ INSTANCE_IDS=2ca792e7-556a-49cc-8eb2-d30c90863618, ++ export instance_ip=10.0.0.241 ++ instance_ip=10.0.0.241 ++ export CONTROLLER_NODES=10.0.0.241, ++ CONTROLLER_NODES=10.0.0.241, ++ export CONTROL_NODES=10.20.0.17, ++ CONTROL_NODES=10.20.0.17, ++ 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.21240.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/2625/1/check_3994/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/25/2625/1/check_3994/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.241' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.241' (ECDSA) to the list of known hosts. INFO: =================== Thu Feb 19 16:01:09 UTC 2026 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Thu Feb 19 16:01:09 UTC 2026 Skipping stage machines because it's finished INFO: Stage machines was run successfully Thu Feb 19 16:01:09 UTC 2026 INFO: Running stage k8s at Thu Feb 19 16:01:09 UTC 2026 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Thu Feb 19 16:01:09 UTC 2026 INFO: Running stage openstack at Thu Feb 19 16:01:09 UTC 2026 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Thu Feb 19 16:01:09 UTC 2026 INFO: Running stage tf at Thu Feb 19 16:01:09 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_241": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_241", "private_ip": "10.0.0.241"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_241", "private_ip": "10.0.0.241"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_241', 'value': {'ip': '10.0.0.241', '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.241"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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_6_2_5-1"}, "changed": false} TASK [opensdn_deployer : set registry if defined] ****************************** ok: [localhost] => {"ansible_facts": {"container_registry": "nexus.gz1.opensdn.io:5101"}, "changed": false} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"roles": {}}, "changed": false} TASK [opensdn_deployer : add roles if defined] ********************************* ok: [localhost] => (item={'key': 'node_10_0_0_241', 'value': {'ip': '10.0.0.241', '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_241": {"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_241", "value": {"ip": "10.0.0.241", "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.241", "opencontrail_collector_ip": "10.0.0.241"}, "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_6_2_5-1", "CONTROL_NODES": "10.20.0.17", "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_6_2_5-1", "CONTROL_NODES": "10.20.0.17", "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.241']}) => {"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.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.241']}) => {"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.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.241']}) => {"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.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.241']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.241']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.241']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.241']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.241", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.241']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.241", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.241"]}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.241", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "changed": false} TASK [opensdn_deployer : check analyticsdb presence] *************************** ok: [localhost] => (item={'key': 'node_10_0_0_241', 'value': {'ip': '10.0.0.241', '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.241", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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.241", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => (item={'key': 'node_10_0_0_241', 'value': {'ip': '10.0.0.241', '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.241", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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.241", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => (item={'key': 'node_10_0_0_241', 'value': {'ip': '10.0.0.241', '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.241", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.241", "ANALYTICS_NODES": "10.0.0.241", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.241", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.241", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.241", "CONTRAIL_CONTAINER_TAG": "master-2_6_2_5-1", "CONTROLLER_NODES": "10.0.0.241", "CONTROL_NODES": "10.20.0.17", "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.241"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_241", "value": {"ip": "10.0.0.241", "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.241"}, "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.241] 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.241] TASK [opensdn : set instance data] ********************************************* ok: [10.0.0.241] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.241", "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.241] => {"ansible_facts": {"instance_name": "node_10_0_0_241"}, "changed": false} TASK [opensdn : run common tasks] ********************************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.241 TASK [opensdn : create /var/log/contrail] ************************************** changed: [10.0.0.241] => {"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.241] => {"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.241] => {"changed": true, "checksum": "edad72ad53a46d7804eef1d46accca55c1984ab7", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "10273e4b1a6b06264df047f6f4083cd6", "mode": "0640", "owner": "root", "size": 1035, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771516882.8138607-51678-102089203221650/source", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [10.0.0.241] => {"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-1771516883.6252875-51751-107471493010538/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.241] => (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_6_2_5-1", "delta": "0:00:04.488309", "end": "2026-02-19 16:01:29.349222", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2026-02-19 16:01:24.860913", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: 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\n20abb801090e: Pulling fs layer\nac06addf7786: Pulling fs layer\nad519d7a5abc: Pulling fs layer\n249f4c091d43: Pulling fs layer\n0df3a9e3510c: Waiting\n20abb801090e: Waiting\nac06addf7786: Waiting\nad519d7a5abc: Waiting\n249f4c091d43: Waiting\nf1b700c31442: Waiting\nb96556682ce1: Waiting\nbb595d48e52d: Verifying Checksum\nbb595d48e52d: Download complete\nd479b54c3bb2: Verifying Checksum\nd479b54c3bb2: Download complete\nb96556682ce1: Verifying Checksum\nb96556682ce1: Download complete\n0df3a9e3510c: Verifying Checksum\n0df3a9e3510c: Download complete\n20abb801090e: Verifying Checksum\n20abb801090e: Download complete\nac06addf7786: Verifying Checksum\nac06addf7786: Download complete\nad519d7a5abc: Download complete\nf1b700c31442: Verifying Checksum\nf1b700c31442: Download complete\nfaef57eae888: Verifying Checksum\nfaef57eae888: Download complete\n249f4c091d43: Verifying Checksum\n249f4c091d43: Download complete\nfaef57eae888: Pull complete\nbb595d48e52d: Pull complete\nd479b54c3bb2: Pull complete\nf1b700c31442: Pull complete\nb96556682ce1: Pull complete\n0df3a9e3510c: Pull complete\n20abb801090e: Pull complete\nac06addf7786: Pull complete\nad519d7a5abc: Pull complete\n249f4c091d43: Pull complete\nDigest: sha256:bdb33fbc723f8997c38187b5cde4d06a84a84b602f148d7f8fcc329b96087e35\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: 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", "20abb801090e: Pulling fs layer", "ac06addf7786: Pulling fs layer", "ad519d7a5abc: Pulling fs layer", "249f4c091d43: Pulling fs layer", "0df3a9e3510c: Waiting", "20abb801090e: Waiting", "ac06addf7786: Waiting", "ad519d7a5abc: Waiting", "249f4c091d43: Waiting", "f1b700c31442: Waiting", "b96556682ce1: Waiting", "bb595d48e52d: Verifying Checksum", "bb595d48e52d: Download complete", "d479b54c3bb2: Verifying Checksum", "d479b54c3bb2: Download complete", "b96556682ce1: Verifying Checksum", "b96556682ce1: Download complete", "0df3a9e3510c: Verifying Checksum", "0df3a9e3510c: Download complete", "20abb801090e: Verifying Checksum", "20abb801090e: Download complete", "ac06addf7786: Verifying Checksum", "ac06addf7786: Download complete", "ad519d7a5abc: Download complete", "f1b700c31442: Verifying Checksum", "f1b700c31442: Download complete", "faef57eae888: Verifying Checksum", "faef57eae888: Download complete", "249f4c091d43: Verifying Checksum", "249f4c091d43: Download complete", "faef57eae888: Pull complete", "bb595d48e52d: Pull complete", "d479b54c3bb2: Pull complete", "f1b700c31442: Pull complete", "b96556682ce1: Pull complete", "0df3a9e3510c: Pull complete", "20abb801090e: Pull complete", "ac06addf7786: Pull complete", "ad519d7a5abc: Pull complete", "249f4c091d43: Pull complete", "Digest: sha256:bdb33fbc723f8997c38187b5cde4d06a84a84b602f148d7f8fcc329b96087e35", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.767883", "end": "2026-02-19 16:01:30.542179", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2026-02-19 16:01:29.774296", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\n96ad3647fa56: Pulling fs layer\n41d5dfdcc4ba: Pulling fs layer\n96ad3647fa56: Download complete\n96ad3647fa56: Pull complete\n41d5dfdcc4ba: Verifying Checksum\n41d5dfdcc4ba: Download complete\n41d5dfdcc4ba: Pull complete\nDigest: sha256:d69606a4605b9900c23e6269e8250fc931e3f2373fcc3c6fed877f3ce3057751\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "96ad3647fa56: Pulling fs layer", "41d5dfdcc4ba: Pulling fs layer", "96ad3647fa56: Download complete", "96ad3647fa56: Pull complete", "41d5dfdcc4ba: Verifying Checksum", "41d5dfdcc4ba: Download complete", "41d5dfdcc4ba: Pull complete", "Digest: sha256:d69606a4605b9900c23e6269e8250fc931e3f2373fcc3c6fed877f3ce3057751", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_6_2_5-1"]} TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [10.0.0.241] => {"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.241] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [10.0.0.241] => {"changed": true, "checksum": "3d966e4aa7f7276b115b18ae5d334fc188a20bc6", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "3540eef274eeedcad2ed897c53b7f125", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771516891.4050016-52406-181287230852381/source", "state": "file", "uid": 0} TASK [opensdn_redis : start redis] ********************************************* changed: [10.0.0.241] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "1f019326fbf5f12f27627b177a23b7a341a0010c03bf7de77284c8225951995a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail config database] ***************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_config_database : update contrail config_database image] ********* changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:05.124403", "end": "2026-02-19 16:01:39.195220", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:01:34.070817", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Pulling fs layer\n84467f434d8a: Pulling fs layer\nb5c35b6de4ac: Pulling fs layer\nf2232c5db57a: Pulling fs layer\nad764aafbf97: Pulling fs layer\na2210a9cf2e8: Pulling fs layer\nf2232c5db57a: Waiting\nad764aafbf97: Waiting\na2210a9cf2e8: Waiting\nb5c35b6de4ac: Download complete\n84467f434d8a: Verifying Checksum\n84467f434d8a: Download complete\nc5e7888613fc: Verifying Checksum\nc5e7888613fc: Download complete\nc5e7888613fc: Pull complete\na2210a9cf2e8: Verifying Checksum\na2210a9cf2e8: Download complete\nad764aafbf97: Download complete\n84467f434d8a: Pull complete\nb5c35b6de4ac: Pull complete\nf2232c5db57a: Verifying Checksum\nf2232c5db57a: Download complete\nf2232c5db57a: Pull complete\nad764aafbf97: Pull complete\na2210a9cf2e8: Pull complete\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Pulling fs layer", "84467f434d8a: Pulling fs layer", "b5c35b6de4ac: Pulling fs layer", "f2232c5db57a: Pulling fs layer", "ad764aafbf97: Pulling fs layer", "a2210a9cf2e8: Pulling fs layer", "f2232c5db57a: Waiting", "ad764aafbf97: Waiting", "a2210a9cf2e8: Waiting", "b5c35b6de4ac: Download complete", "84467f434d8a: Verifying Checksum", "84467f434d8a: Download complete", "c5e7888613fc: Verifying Checksum", "c5e7888613fc: Download complete", "c5e7888613fc: Pull complete", "a2210a9cf2e8: Verifying Checksum", "a2210a9cf2e8: Download complete", "ad764aafbf97: Download complete", "84467f434d8a: Pull complete", "b5c35b6de4ac: Pull complete", "f2232c5db57a: Verifying Checksum", "f2232c5db57a: Download complete", "f2232c5db57a: Pull complete", "ad764aafbf97: Pull complete", "a2210a9cf2e8: Pull complete", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:02.583961", "end": "2026-02-19 16:01:42.223428", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:01:39.639467", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\nd626723b7c89: Pulling fs layer\n8a200acbb268: Pulling fs layer\n8a200acbb268: Download complete\nd626723b7c89: Verifying Checksum\nd626723b7c89: Download complete\nd626723b7c89: Pull complete\n8a200acbb268: Pull complete\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "d626723b7c89: Pulling fs layer", "8a200acbb268: Pulling fs layer", "8a200acbb268: Download complete", "d626723b7c89: Verifying Checksum", "d626723b7c89: Download complete", "d626723b7c89: Pull complete", "8a200acbb268: Pull complete", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:07.061680", "end": "2026-02-19 16:01:49.710038", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-02-19 16:01:42.648358", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: 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\nfff56f74f376: Pulling fs layer\nc24d7f9cb8bd: Pulling fs layer\n8ff5d9d0e7a2: Pulling fs layer\nb05d22507afa: Pulling fs layer\nfa94125d190e: Waiting\nc53675a133c6: Waiting\n9aca2daeac75: Waiting\n0497a703e222: Waiting\nc39795272d2d: Waiting\n5a2e2c2fe7e2: Waiting\nbf175d9fcc0a: Waiting\nc5ca755942a5: Waiting\nfff56f74f376: Waiting\nc24d7f9cb8bd: Waiting\n8ff5d9d0e7a2: Waiting\nb05d22507afa: Waiting\n7e27b670a0f5: Verifying Checksum\n7e27b670a0f5: Download complete\nfa94125d190e: Verifying Checksum\nfa94125d190e: Download complete\nc53675a133c6: Verifying Checksum\nc53675a133c6: Download complete\n0497a703e222: Verifying Checksum\n0497a703e222: Download complete\n5d42da29b261: Verifying Checksum\n5d42da29b261: Download complete\n5a2e2c2fe7e2: Verifying Checksum\n5a2e2c2fe7e2: Download complete\nbf175d9fcc0a: Download complete\nc39795272d2d: Verifying Checksum\nc39795272d2d: Download complete\nc5ca755942a5: Verifying Checksum\nc5ca755942a5: Download complete\nfff56f74f376: Verifying Checksum\nfff56f74f376: Download complete\n63e5bc7682b8: Verifying Checksum\n63e5bc7682b8: Download complete\nc24d7f9cb8bd: Verifying Checksum\nc24d7f9cb8bd: Download complete\n8ff5d9d0e7a2: Verifying Checksum\n8ff5d9d0e7a2: Download complete\nb05d22507afa: Verifying Checksum\nb05d22507afa: 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\nfff56f74f376: Pull complete\nc24d7f9cb8bd: Pull complete\n8ff5d9d0e7a2: Pull complete\nb05d22507afa: Pull complete\nDigest: sha256:a936f12a52452d9ada9f89350b66e22b56a61bf00351dc3cafa324b4f7849813\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: 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", "fff56f74f376: Pulling fs layer", "c24d7f9cb8bd: Pulling fs layer", "8ff5d9d0e7a2: Pulling fs layer", "b05d22507afa: Pulling fs layer", "fa94125d190e: Waiting", "c53675a133c6: Waiting", "9aca2daeac75: Waiting", "0497a703e222: Waiting", "c39795272d2d: Waiting", "5a2e2c2fe7e2: Waiting", "bf175d9fcc0a: Waiting", "c5ca755942a5: Waiting", "fff56f74f376: Waiting", "c24d7f9cb8bd: Waiting", "8ff5d9d0e7a2: Waiting", "b05d22507afa: Waiting", "7e27b670a0f5: Verifying Checksum", "7e27b670a0f5: Download complete", "fa94125d190e: Verifying Checksum", "fa94125d190e: Download complete", "c53675a133c6: Verifying Checksum", "c53675a133c6: Download complete", "0497a703e222: Verifying Checksum", "0497a703e222: Download complete", "5d42da29b261: Verifying Checksum", "5d42da29b261: Download complete", "5a2e2c2fe7e2: Verifying Checksum", "5a2e2c2fe7e2: Download complete", "bf175d9fcc0a: Download complete", "c39795272d2d: Verifying Checksum", "c39795272d2d: Download complete", "c5ca755942a5: Verifying Checksum", "c5ca755942a5: Download complete", "fff56f74f376: Verifying Checksum", "fff56f74f376: Download complete", "63e5bc7682b8: Verifying Checksum", "63e5bc7682b8: Download complete", "c24d7f9cb8bd: Verifying Checksum", "c24d7f9cb8bd: Download complete", "8ff5d9d0e7a2: Verifying Checksum", "8ff5d9d0e7a2: Download complete", "b05d22507afa: Verifying Checksum", "b05d22507afa: 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", "fff56f74f376: Pull complete", "c24d7f9cb8bd: Pull complete", "8ff5d9d0e7a2: Pull complete", "b05d22507afa: Pull complete", "Digest: sha256:a936f12a52452d9ada9f89350b66e22b56a61bf00351dc3cafa324b4f7849813", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:05.746591", "end": "2026-02-19 16:01:55.872253", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2026-02-19 16:01:50.125662", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: 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\n4a18ddadde32: Pulling fs layer\n64f8bd666fe3: Pulling fs layer\n0e975f3fc85e: Pulling fs layer\n66af1b00a355: Pulling fs layer\nbe281bc29e5d: Waiting\ne26ea21af3b5: Waiting\n4a18ddadde32: Waiting\n64f8bd666fe3: Waiting\n0e975f3fc85e: Waiting\n66af1b00a355: Waiting\nd73cf48caaac: Waiting\nc7b4dda8479e: Waiting\n81afe63ee276: 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: Download complete\n4a18ddadde32: Verifying Checksum\n4a18ddadde32: Download complete\n64f8bd666fe3: Verifying Checksum\n64f8bd666fe3: Download complete\n0e975f3fc85e: Download complete\nbe281bc29e5d: Verifying Checksum\nbe281bc29e5d: Download complete\nd73cf48caaac: Verifying Checksum\nd73cf48caaac: Download complete\n66af1b00a355: Verifying Checksum\n66af1b00a355: 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\n4a18ddadde32: Pull complete\n64f8bd666fe3: Pull complete\n0e975f3fc85e: Pull complete\n66af1b00a355: Pull complete\nDigest: sha256:3dd557d42704d8032b243724cd662d9d60731e4b176d5e4c5e55a63525915a8f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: 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", "4a18ddadde32: Pulling fs layer", "64f8bd666fe3: Pulling fs layer", "0e975f3fc85e: Pulling fs layer", "66af1b00a355: Pulling fs layer", "be281bc29e5d: Waiting", "e26ea21af3b5: Waiting", "4a18ddadde32: Waiting", "64f8bd666fe3: Waiting", "0e975f3fc85e: Waiting", "66af1b00a355: Waiting", "d73cf48caaac: Waiting", "c7b4dda8479e: Waiting", "81afe63ee276: 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: Download complete", "4a18ddadde32: Verifying Checksum", "4a18ddadde32: Download complete", "64f8bd666fe3: Verifying Checksum", "64f8bd666fe3: Download complete", "0e975f3fc85e: Download complete", "be281bc29e5d: Verifying Checksum", "be281bc29e5d: Download complete", "d73cf48caaac: Verifying Checksum", "d73cf48caaac: Download complete", "66af1b00a355: Verifying Checksum", "66af1b00a355: 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", "4a18ddadde32: Pull complete", "64f8bd666fe3: Pull complete", "0e975f3fc85e: Pull complete", "66af1b00a355: Pull complete", "Digest: sha256:3dd557d42704d8032b243724cd662d9d60731e4b176d5e4c5e55a63525915a8f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:07.710636", "end": "2026-02-19 16:02:04.065502", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2026-02-19 16:01:56.354866", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-external-rabbitmq\n675920708c8b: Pulling fs layer\ne08fdafa88ce: Pulling fs layer\n92e5ca28c20e: Pulling fs layer\ne7add638ac41: Pulling fs layer\nc47c3bedb477: Pulling fs layer\n2d0a461f4591: Pulling fs layer\n027715895e8b: Pulling fs layer\n78c707bc7c70: Pulling fs layer\n6e8aae77390d: Pulling fs layer\na49b9cb023b6: Pulling fs layer\nc24d7f9cb8bd: Pulling fs layer\ne011b6f06ea9: Pulling fs layer\nf34e4206603d: Pulling fs layer\nc47c3bedb477: Waiting\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\nc24d7f9cb8bd: Waiting\ne011b6f06ea9: Waiting\nf34e4206603d: Waiting\ne7add638ac41: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n2d0a461f4591: Verifying Checksum\n2d0a461f4591: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\nc24d7f9cb8bd: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\ne011b6f06ea9: Verifying Checksum\ne011b6f06ea9: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\nf34e4206603d: Verifying Checksum\nf34e4206603d: 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\nc24d7f9cb8bd: Pull complete\ne011b6f06ea9: Pull complete\nf34e4206603d: Pull complete\nDigest: sha256:617e6f2a1f3f3ca505a3eb665e8d92ef8b21927d8e46ec0fe74196e13f91b572\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-external-rabbitmq", "675920708c8b: Pulling fs layer", "e08fdafa88ce: Pulling fs layer", "92e5ca28c20e: Pulling fs layer", "e7add638ac41: Pulling fs layer", "c47c3bedb477: Pulling fs layer", "2d0a461f4591: Pulling fs layer", "027715895e8b: Pulling fs layer", "78c707bc7c70: Pulling fs layer", "6e8aae77390d: Pulling fs layer", "a49b9cb023b6: Pulling fs layer", "c24d7f9cb8bd: Pulling fs layer", "e011b6f06ea9: Pulling fs layer", "f34e4206603d: Pulling fs layer", "c47c3bedb477: Waiting", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "c24d7f9cb8bd: Waiting", "e011b6f06ea9: Waiting", "f34e4206603d: Waiting", "e7add638ac41: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "2d0a461f4591: Verifying Checksum", "2d0a461f4591: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "c24d7f9cb8bd: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "e011b6f06ea9: Verifying Checksum", "e011b6f06ea9: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "f34e4206603d: Verifying Checksum", "f34e4206603d: 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", "c24d7f9cb8bd: Pull complete", "e011b6f06ea9: Pull complete", "f34e4206603d: Pull complete", "Digest: sha256:617e6f2a1f3f3ca505a3eb665e8d92ef8b21927d8e46ec0fe74196e13f91b572", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.273949", "end": "2026-02-19 16:02:04.751111", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:02:04.477162", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\nbddc5369e133: Pulling fs layer\nbddc5369e133: Download complete\nbddc5369e133: Pull complete\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "bddc5369e133: Pulling fs layer", "bddc5369e133: Download complete", "bddc5369e133: Pull complete", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_config_database : create /etc/contrail/config_database] ********** changed: [10.0.0.241] => {"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.241] => {"ansible_facts": {"cassandra_seeds": "10.0.0.241"}, "changed": false} TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.241] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.241"}, "changed": false} TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.241] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.241"}, "changed": false} TASK [opensdn_config_database : Set variables for reaper tool] ***************** ok: [10.0.0.241] => {"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.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] *** changed: [10.0.0.241] => {"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.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => {"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.241]: 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.241] => {"changed": true, "checksum": "efb0a9476739ebfda93b21c1c58173d757cc891b", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "cf9b09f3b6a7c3e46d824c52463a2a8e", "mode": "0644", "owner": "root", "size": 4022, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771516942.4914248-55277-257002590014840/source", "state": "file", "uid": 0} TASK [opensdn_config_database : start contrail config database] **************** changed: [10.0.0.241] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "29cbdcfb5fc04e3a99f0ccb3f821be08ccf9fc99446ea8666420a650d80c83cd", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "f1424e59720999ad46c5ebec98326af8c8e3d9e0b76a2134d6c9a10f240f93b1", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "a99a8678e16d32f10040052450c7c315c039694c712f46ed8c5f95ceb0f89b9a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "dd21a94634d24619a0be3cec825dea3f4f046273c9e50164eeb9c0132870aa5f", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "8eb896f53ef2a4f41cde84c698e791504ebea20c2d85abc44272279f2bdcc0e4", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail config] ************************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_config : update contrail config image] *************************** changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.119540", "end": "2026-02-19 16:02:26.492877", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:02:26.373337", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.112599", "end": "2026-02-19 16:02:27.038166", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:02:26.925567", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:01.064803", "end": "2026-02-19 16:02:28.546262", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2026-02-19 16:02:27.481459", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n111541a8a1a7: Pulling fs layer\n371bca9fba15: Pulling fs layer\nff23a94771d4: Pulling fs layer\n111541a8a1a7: Verifying Checksum\n111541a8a1a7: Download complete\n371bca9fba15: Verifying Checksum\n371bca9fba15: Download complete\n111541a8a1a7: Pull complete\nff23a94771d4: Verifying Checksum\nff23a94771d4: Download complete\n371bca9fba15: Pull complete\nff23a94771d4: Pull complete\nDigest: sha256:efa09ecef2d9224e22ff2d2417be9c44e077a2eb92381f94dcfd8e4b998c633d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "111541a8a1a7: Pulling fs layer", "371bca9fba15: Pulling fs layer", "ff23a94771d4: Pulling fs layer", "111541a8a1a7: Verifying Checksum", "111541a8a1a7: Download complete", "371bca9fba15: Verifying Checksum", "371bca9fba15: Download complete", "111541a8a1a7: Pull complete", "ff23a94771d4: Verifying Checksum", "ff23a94771d4: Download complete", "371bca9fba15: Pull complete", "ff23a94771d4: Pull complete", "Digest: sha256:efa09ecef2d9224e22ff2d2417be9c44e077a2eb92381f94dcfd8e4b998c633d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:01.025522", "end": "2026-02-19 16:02:30.001137", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2026-02-19 16:02:28.975615", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n6c3d0faaa9b0: Pulling fs layer\n60ce9fbfeea7: Pulling fs layer\n6c3d0faaa9b0: Verifying Checksum\n6c3d0faaa9b0: Download complete\n6c3d0faaa9b0: Pull complete\n60ce9fbfeea7: Verifying Checksum\n60ce9fbfeea7: Download complete\n60ce9fbfeea7: Pull complete\nDigest: sha256:f730a804c0d5c9558cd7f034fc3cff20b79ca1c08b5988112b05928a4e110cdc\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "6c3d0faaa9b0: Pulling fs layer", "60ce9fbfeea7: Pulling fs layer", "6c3d0faaa9b0: Verifying Checksum", "6c3d0faaa9b0: Download complete", "6c3d0faaa9b0: Pull complete", "60ce9fbfeea7: Verifying Checksum", "60ce9fbfeea7: Download complete", "60ce9fbfeea7: Pull complete", "Digest: sha256:f730a804c0d5c9558cd7f034fc3cff20b79ca1c08b5988112b05928a4e110cdc", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.379709", "end": "2026-02-19 16:02:30.834052", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2026-02-19 16:02:30.454343", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n8e6fa0cd2187: Pulling fs layer\nc5ad45f2e001: Pulling fs layer\n8e6fa0cd2187: Download complete\nc5ad45f2e001: Verifying Checksum\nc5ad45f2e001: Download complete\n8e6fa0cd2187: Pull complete\nc5ad45f2e001: Pull complete\nDigest: sha256:d44cfae98775b4421cddec6ab57ab174161a66ff51a51bc6c1d0fef983a7e30a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "8e6fa0cd2187: Pulling fs layer", "c5ad45f2e001: Pulling fs layer", "8e6fa0cd2187: Download complete", "c5ad45f2e001: Verifying Checksum", "c5ad45f2e001: Download complete", "8e6fa0cd2187: Pull complete", "c5ad45f2e001: Pull complete", "Digest: sha256:d44cfae98775b4421cddec6ab57ab174161a66ff51a51bc6c1d0fef983a7e30a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:07.982315", "end": "2026-02-19 16:02:39.239013", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:02:31.256698", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n0c94b37d713d: Pulling fs layer\nce98c066bc01: Pulling fs layer\n3c86c82e6a2c: Pulling fs layer\n3c86c82e6a2c: Verifying Checksum\n3c86c82e6a2c: Download complete\n0c94b37d713d: Download complete\n0c94b37d713d: Pull complete\nce98c066bc01: Verifying Checksum\nce98c066bc01: Download complete\nce98c066bc01: Pull complete\n3c86c82e6a2c: Pull complete\nDigest: sha256:9b7a2c95e923fd51e6274bec836a07e7f4b74f7a817fedd3dac793c08f518e7a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "0c94b37d713d: Pulling fs layer", "ce98c066bc01: Pulling fs layer", "3c86c82e6a2c: Pulling fs layer", "3c86c82e6a2c: Verifying Checksum", "3c86c82e6a2c: Download complete", "0c94b37d713d: Download complete", "0c94b37d713d: Pull complete", "ce98c066bc01: Verifying Checksum", "ce98c066bc01: Download complete", "ce98c066bc01: Pull complete", "3c86c82e6a2c: Pull complete", "Digest: sha256:9b7a2c95e923fd51e6274bec836a07e7f4b74f7a817fedd3dac793c08f518e7a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.640831", "end": "2026-02-19 16:02:40.305507", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2026-02-19 16:02:39.664676", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n3c31879bd57d: Pulling fs layer\nb59749b34eb3: Pulling fs layer\n31d498391fb9: Pulling fs layer\n4cc50fceb24d: Pulling fs layer\n4cc50fceb24d: Waiting\n3c31879bd57d: Verifying Checksum\n3c31879bd57d: Download complete\n31d498391fb9: Download complete\nb59749b34eb3: Verifying Checksum\nb59749b34eb3: Download complete\n3c31879bd57d: Pull complete\nb59749b34eb3: Pull complete\n31d498391fb9: Pull complete\n4cc50fceb24d: Download complete\n4cc50fceb24d: Pull complete\nDigest: sha256:80cf574823e31c8f3d4c39241964697753801e089623e9611e31a841c8505273\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "3c31879bd57d: Pulling fs layer", "b59749b34eb3: Pulling fs layer", "31d498391fb9: Pulling fs layer", "4cc50fceb24d: Pulling fs layer", "4cc50fceb24d: Waiting", "3c31879bd57d: Verifying Checksum", "3c31879bd57d: Download complete", "31d498391fb9: Download complete", "b59749b34eb3: Verifying Checksum", "b59749b34eb3: Download complete", "3c31879bd57d: Pull complete", "b59749b34eb3: Pull complete", "31d498391fb9: Pull complete", "4cc50fceb24d: Download complete", "4cc50fceb24d: Pull complete", "Digest: sha256:80cf574823e31c8f3d4c39241964697753801e089623e9611e31a841c8505273", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.101292", "end": "2026-02-19 16:02:40.835651", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:02:40.734359", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_config : create /etc/contrail/config] **************************** changed: [10.0.0.241] => {"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.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config : create /etc/contrail/common_config.env] ***************** changed: [10.0.0.241] => {"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.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => {"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.241]: 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.241] => {"ansible_facts": {"use_external_tftp": false}, "changed": false} TASK [opensdn_config : check if ironic_pxe is deployed on node] **************** fatal: [10.0.0.241]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.026707", "end": "2026-02-19 16:02:57.713427", "msg": "non-zero return code", "rc": 1, "start": "2026-02-19 16:02:57.686720", "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.241] => {"changed": true, "checksum": "96c99711684ef7aacf1a1784010308440632a615", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "6b588a1319c6dc8f9653ca7e00d8f4a3", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771516977.9808083-60133-107097873916296/source", "state": "file", "uid": 0} TASK [opensdn_config : start contrail config] ********************************** changed: [10.0.0.241] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "80195bec4cda74139c7c3c4c40ee36a5ff4e501e00fbc5afa2ca3966d958b26f", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "226081c5fbb91fd5f0f6c4ed303b579a5574ccfb7ad656f77c80662a2660f6c8", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "22ba15ccd2ea8eeec894c398f632b8e627a09fddfec14606654b8aaa89590ffd", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2052c1cd2ef546ea795677c91954ac7f658e9887f40459e65640ef5498659711", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "401fb82009bd16e98a116ebba00a4093d5a3ce911f087626e03e3fb384421c63", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "8cb898914a3e6a3cec337d3b459c602db00d2e7b0f4c587d953f6b90892fc19a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "b5aae1b551af756a8275c99ef213a58de1dce0a700953f096fb08d8506f2291e", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail webui] *************************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_webui : update contrail webui image] ***************************** changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:11.801567", "end": "2026-02-19 16:03:14.117784", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2026-02-19 16:03:02.316217", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nad6763af3c39: Pulling fs layer\nab09523bd392: Pulling fs layer\ne47492f3e88d: Pulling fs layer\nf8d2f2b47210: Pulling fs layer\nc7f162499da9: Pulling fs layer\ned20a8e71605: Pulling fs layer\n8fdb6cf4ca4d: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\nc7f162499da9: Waiting\ned20a8e71605: Waiting\n8fdb6cf4ca4d: Waiting\n4f4fb700ef54: Waiting\nf8d2f2b47210: Waiting\nad6763af3c39: Verifying Checksum\nad6763af3c39: Download complete\nf8d2f2b47210: Verifying Checksum\nf8d2f2b47210: Download complete\nc7f162499da9: Verifying Checksum\nc7f162499da9: Download complete\ned20a8e71605: Verifying Checksum\ned20a8e71605: Download complete\n8fdb6cf4ca4d: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nab09523bd392: Verifying Checksum\nab09523bd392: Download complete\nad6763af3c39: Pull complete\ne47492f3e88d: Verifying Checksum\ne47492f3e88d: Download complete\nab09523bd392: Pull complete\ne47492f3e88d: Pull complete\nf8d2f2b47210: Pull complete\nc7f162499da9: Pull complete\ned20a8e71605: Pull complete\n8fdb6cf4ca4d: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:69fa056eb29d99937139f77db7d1a0abfd9cd0a62443b6ddeb5b5a2f178353e8\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "ad6763af3c39: Pulling fs layer", "ab09523bd392: Pulling fs layer", "e47492f3e88d: Pulling fs layer", "f8d2f2b47210: Pulling fs layer", "c7f162499da9: Pulling fs layer", "ed20a8e71605: Pulling fs layer", "8fdb6cf4ca4d: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "c7f162499da9: Waiting", "ed20a8e71605: Waiting", "8fdb6cf4ca4d: Waiting", "4f4fb700ef54: Waiting", "f8d2f2b47210: Waiting", "ad6763af3c39: Verifying Checksum", "ad6763af3c39: Download complete", "f8d2f2b47210: Verifying Checksum", "f8d2f2b47210: Download complete", "c7f162499da9: Verifying Checksum", "c7f162499da9: Download complete", "ed20a8e71605: Verifying Checksum", "ed20a8e71605: Download complete", "8fdb6cf4ca4d: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "ab09523bd392: Verifying Checksum", "ab09523bd392: Download complete", "ad6763af3c39: Pull complete", "e47492f3e88d: Verifying Checksum", "e47492f3e88d: Download complete", "ab09523bd392: Pull complete", "e47492f3e88d: Pull complete", "f8d2f2b47210: Pull complete", "c7f162499da9: Pull complete", "ed20a8e71605: Pull complete", "8fdb6cf4ca4d: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:69fa056eb29d99937139f77db7d1a0abfd9cd0a62443b6ddeb5b5a2f178353e8", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.258015", "end": "2026-02-19 16:03:14.799133", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2026-02-19 16:03:14.541118", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nad6763af3c39: Already exists\nab09523bd392: Already exists\ne47492f3e88d: Already exists\nf8d2f2b47210: Already exists\nc7f162499da9: Already exists\ned20a8e71605: Already exists\n8fdb6cf4ca4d: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:73310a2badd8eea86a85b4a13dfda99dcc59cc1e311bc7bd8f9a2a8ba85948c8\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "ad6763af3c39: Already exists", "ab09523bd392: Already exists", "e47492f3e88d: Already exists", "f8d2f2b47210: Already exists", "c7f162499da9: Already exists", "ed20a8e71605: Already exists", "8fdb6cf4ca4d: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:73310a2badd8eea86a85b4a13dfda99dcc59cc1e311bc7bd8f9a2a8ba85948c8", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_6_2_5-1"]} TASK [opensdn_webui : create /etc/contrail/webui] ****************************** changed: [10.0.0.241] => {"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.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_webui : create /etc/contrail/common_webui.env] ******************* changed: [10.0.0.241] => {"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.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => {"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.241]: 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.241] => {"changed": true, "checksum": "0e66143b6bfdd5a46c146b8159439fc580ee0bc9", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "40eda6311ea04d1ea5ac8939f26e0870", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517011.5835195-64411-271541683308882/source", "state": "file", "uid": 0} TASK [opensdn_webui : start contrail webui] ************************************ changed: [10.0.0.241] => {"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_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2d61b2492a3e069fdc0ae49eae44096a0ecb471536ed3bf2235e9b59cced43d0", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "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_6_2_5-1", "labels": {"com.docker.compose.config-hash": "7c59148b793e50a42b87f2e2521cde4ebaa9ab733d30b16c9d916eea7307771b", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail control] ************************************************* [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_control : update contrail control image] ************************* changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.112905", "end": "2026-02-19 16:03:35.438464", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:03:35.325559", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.110197", "end": "2026-02-19 16:03:35.957528", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:03:35.847331", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:09.065401", "end": "2026-02-19 16:03:45.459106", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2026-02-19 16:03:36.393705", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n3921c78bfe15: Pulling fs layer\n87df09eca08a: Pulling fs layer\n6f7cf195503f: Pulling fs layer\n300f4edba986: Pulling fs layer\n300f4edba986: Waiting\n6f7cf195503f: Download complete\n300f4edba986: Verifying Checksum\n300f4edba986: Download complete\n3921c78bfe15: Download complete\n3921c78bfe15: Pull complete\n87df09eca08a: Verifying Checksum\n87df09eca08a: Download complete\n87df09eca08a: Pull complete\n6f7cf195503f: Pull complete\n300f4edba986: Pull complete\nDigest: sha256:efd2ef8dc5913d71a914dce3da95e2a06be4f716da985af0f71f9188a7321951\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "3921c78bfe15: Pulling fs layer", "87df09eca08a: Pulling fs layer", "6f7cf195503f: Pulling fs layer", "300f4edba986: Pulling fs layer", "300f4edba986: Waiting", "6f7cf195503f: Download complete", "300f4edba986: Verifying Checksum", "300f4edba986: Download complete", "3921c78bfe15: Download complete", "3921c78bfe15: Pull complete", "87df09eca08a: Verifying Checksum", "87df09eca08a: Download complete", "87df09eca08a: Pull complete", "6f7cf195503f: Pull complete", "300f4edba986: Pull complete", "Digest: sha256:efd2ef8dc5913d71a914dce3da95e2a06be4f716da985af0f71f9188a7321951", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.714222", "end": "2026-02-19 16:03:46.612279", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2026-02-19 16:03:45.898057", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n3921c78bfe15: Already exists\nd1481f903347: Pulling fs layer\n0e9a4790e8e4: Pulling fs layer\n416bcf86be03: Pulling fs layer\n1b26dd34c183: Pulling fs layer\n3605fe968765: Pulling fs layer\n372ea1436383: Pulling fs layer\n1b26dd34c183: Waiting\n372ea1436383: Waiting\n3605fe968765: Waiting\n0e9a4790e8e4: Verifying Checksum\n0e9a4790e8e4: Download complete\nd1481f903347: Download complete\n3605fe968765: Download complete\n416bcf86be03: Download complete\nd1481f903347: Pull complete\n1b26dd34c183: Verifying Checksum\n1b26dd34c183: Download complete\n372ea1436383: Verifying Checksum\n372ea1436383: Download complete\n0e9a4790e8e4: Pull complete\n416bcf86be03: Pull complete\n1b26dd34c183: Pull complete\n3605fe968765: Pull complete\n372ea1436383: Pull complete\nDigest: sha256:eace64035f829a6e5b59e53d6b1554d204911faf0f82c28c142180cdd4a89977\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "3921c78bfe15: Already exists", "d1481f903347: Pulling fs layer", "0e9a4790e8e4: Pulling fs layer", "416bcf86be03: Pulling fs layer", "1b26dd34c183: Pulling fs layer", "3605fe968765: Pulling fs layer", "372ea1436383: Pulling fs layer", "1b26dd34c183: Waiting", "372ea1436383: Waiting", "3605fe968765: Waiting", "0e9a4790e8e4: Verifying Checksum", "0e9a4790e8e4: Download complete", "d1481f903347: Download complete", "3605fe968765: Download complete", "416bcf86be03: Download complete", "d1481f903347: Pull complete", "1b26dd34c183: Verifying Checksum", "1b26dd34c183: Download complete", "372ea1436383: Verifying Checksum", "372ea1436383: Download complete", "0e9a4790e8e4: Pull complete", "416bcf86be03: Pull complete", "1b26dd34c183: Pull complete", "3605fe968765: Pull complete", "372ea1436383: Pull complete", "Digest: sha256:eace64035f829a6e5b59e53d6b1554d204911faf0f82c28c142180cdd4a89977", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:05.346225", "end": "2026-02-19 16:03:52.376617", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2026-02-19 16:03:47.030392", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n3921c78bfe15: Already exists\nb2cedd0e14f5: Pulling fs layer\n863892469e53: Pulling fs layer\na97f4637306c: Pulling fs layer\naee99faa8f96: Pulling fs layer\n8c677458bd71: Pulling fs layer\nf486f20e13d8: Pulling fs layer\na8be7b56d4e6: Pulling fs layer\naee99faa8f96: Waiting\n8c677458bd71: Waiting\nf486f20e13d8: Waiting\ncec592b51279: Pulling fs layer\n10b4859c0813: Pulling fs layer\na8be7b56d4e6: Waiting\ncec592b51279: Waiting\n10b4859c0813: Waiting\n863892469e53: Verifying Checksum\n863892469e53: Download complete\na97f4637306c: Verifying Checksum\na97f4637306c: Download complete\naee99faa8f96: Download complete\n8c677458bd71: Verifying Checksum\n8c677458bd71: Download complete\nf486f20e13d8: Download complete\na8be7b56d4e6: Verifying Checksum\na8be7b56d4e6: Download complete\ncec592b51279: Verifying Checksum\ncec592b51279: Download complete\n10b4859c0813: Verifying Checksum\n10b4859c0813: Download complete\nb2cedd0e14f5: Verifying Checksum\nb2cedd0e14f5: Download complete\nb2cedd0e14f5: Pull complete\n863892469e53: Pull complete\na97f4637306c: Pull complete\naee99faa8f96: Pull complete\n8c677458bd71: Pull complete\nf486f20e13d8: Pull complete\na8be7b56d4e6: Pull complete\ncec592b51279: Pull complete\n10b4859c0813: Pull complete\nDigest: sha256:8b40b22832656eca04a88b42004d6604c619476bec25fc33e92b454b83ec4cb0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "3921c78bfe15: Already exists", "b2cedd0e14f5: Pulling fs layer", "863892469e53: Pulling fs layer", "a97f4637306c: Pulling fs layer", "aee99faa8f96: Pulling fs layer", "8c677458bd71: Pulling fs layer", "f486f20e13d8: Pulling fs layer", "a8be7b56d4e6: Pulling fs layer", "aee99faa8f96: Waiting", "8c677458bd71: Waiting", "f486f20e13d8: Waiting", "cec592b51279: Pulling fs layer", "10b4859c0813: Pulling fs layer", "a8be7b56d4e6: Waiting", "cec592b51279: Waiting", "10b4859c0813: Waiting", "863892469e53: Verifying Checksum", "863892469e53: Download complete", "a97f4637306c: Verifying Checksum", "a97f4637306c: Download complete", "aee99faa8f96: Download complete", "8c677458bd71: Verifying Checksum", "8c677458bd71: Download complete", "f486f20e13d8: Download complete", "a8be7b56d4e6: Verifying Checksum", "a8be7b56d4e6: Download complete", "cec592b51279: Verifying Checksum", "cec592b51279: Download complete", "10b4859c0813: Verifying Checksum", "10b4859c0813: Download complete", "b2cedd0e14f5: Verifying Checksum", "b2cedd0e14f5: Download complete", "b2cedd0e14f5: Pull complete", "863892469e53: Pull complete", "a97f4637306c: Pull complete", "aee99faa8f96: Pull complete", "8c677458bd71: Pull complete", "f486f20e13d8: Pull complete", "a8be7b56d4e6: Pull complete", "cec592b51279: Pull complete", "10b4859c0813: Pull complete", "Digest: sha256:8b40b22832656eca04a88b42004d6604c619476bec25fc33e92b454b83ec4cb0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.103195", "end": "2026-02-19 16:03:52.893711", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:03:52.790516", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_control : create /etc/contrail/control] ************************** changed: [10.0.0.241] => {"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.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_control : create /etc/contrail/common_control.env] *************** changed: [10.0.0.241] => {"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.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => {"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.241]: 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.241] => {"changed": true, "checksum": "d5f01c900e8b21184c6124b849d154d716032a70", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "bb53407e76fc58c9a46b7cb2a25299ac", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517049.9937928-68015-147685053786594/source", "state": "file", "uid": 0} TASK [opensdn_control : start contrail control] ******************************** changed: [10.0.0.241] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "3dbba8a14a3d88b1f587bfbdb94124d9217ef330e94f1a6ed673840722066339", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "abb798c47fb71eb457a8b5c57acb128e5dc5dbe97455cb34c752649ec70953c0", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "69cbff72d05831a958e4062e99442ab8278091c1086673bbfa86c142aae73f5b", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "f3c09cae809e72161f8c097c01a7b3fd4a1c884540fceeb7e34e5163db36eb4b", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "377b46900b9079adc5431f67d70a122003816e3c541fe3712ea21c565996ace7", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics database] ************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics_database : update contrail analytics database image] *** changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.119682", "end": "2026-02-19 16:04:14.576933", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:04:14.457251", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.105158", "end": "2026-02-19 16:04:15.098924", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:04:14.993766", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:03.796298", "end": "2026-02-19 16:04:19.347718", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2026-02-19 16:04:15.551420", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n1d1f4a3ac356: Pulling fs layer\n49a362e1c1d8: Pulling fs layer\n7331762df9b7: Pulling fs layer\n1d1f4a3ac356: Verifying Checksum\n1d1f4a3ac356: Download complete\n1d1f4a3ac356: Pull complete\n7331762df9b7: Verifying Checksum\n7331762df9b7: Download complete\n49a362e1c1d8: Verifying Checksum\n49a362e1c1d8: Download complete\n49a362e1c1d8: Pull complete\n7331762df9b7: Pull complete\nDigest: sha256:632b0562b730ee8ba8ccd6a1c12a61b89c2f10624b047d067a1aa7e96b57af76\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "1d1f4a3ac356: Pulling fs layer", "49a362e1c1d8: Pulling fs layer", "7331762df9b7: Pulling fs layer", "1d1f4a3ac356: Verifying Checksum", "1d1f4a3ac356: Download complete", "1d1f4a3ac356: Pull complete", "7331762df9b7: Verifying Checksum", "7331762df9b7: Download complete", "49a362e1c1d8: Verifying Checksum", "49a362e1c1d8: Download complete", "49a362e1c1d8: Pull complete", "7331762df9b7: Pull complete", "Digest: sha256:632b0562b730ee8ba8ccd6a1c12a61b89c2f10624b047d067a1aa7e96b57af76", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.115848", "end": "2026-02-19 16:04:19.897863", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-02-19 16:04:19.782015", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-external-cassandra\nDigest: sha256:a936f12a52452d9ada9f89350b66e22b56a61bf00351dc3cafa324b4f7849813\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-external-cassandra", "Digest: sha256:a936f12a52452d9ada9f89350b66e22b56a61bf00351dc3cafa324b4f7849813", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.109706", "end": "2026-02-19 16:04:20.424564", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:04:20.314858", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] **** changed: [10.0.0.241] => {"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.241] => {"ansible_facts": {"cassandra_seeds": "10.0.0.241"}, "changed": false} TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] *** ok: [10.0.0.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] *** changed: [10.0.0.241] => {"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.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => {"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.241]: 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.241] => {"changed": true, "checksum": "38609e701d48af08e3d29b9df326c9c0eff2ae9b", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "7fcafbc5d35ddf34e3ed15cf2b71f919", "mode": "0644", "owner": "root", "size": 3014, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517077.4637024-71766-229392145198145/source", "state": "file", "uid": 0} TASK [opensdn_analytics_database : start contrail analyticsdb] ***************** changed: [10.0.0.241] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "91ff066dca71f9f3a0e18a350459046fd54c23f334b60ba437abca3994b51529", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "47c0ed72215b5a81aea347de41bee75170a98f910cd171cf548abb84ae9e1dbf", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "9a1e0b1b13f5a563d2bf9e772024bdbb8a437131c5bf90bf1f51fd0186340f8c", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "4e9828ff26d9d11a89b35d230f5d7759234b7540efe123f7a57e8bd693cd7f3d", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics] *********************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics : update contrail analytics images] ******************** changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.138720", "end": "2026-02-19 16:04:40.907009", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:04:40.768289", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.141776", "end": "2026-02-19 16:04:41.476419", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:04:41.334643", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:02.277521", "end": "2026-02-19 16:04:44.229125", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2026-02-19 16:04:41.951604", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n3ade9d1d892e: Pulling fs layer\nc8216f6b5680: Pulling fs layer\n6b1f95e6cd5f: Pulling fs layer\n8eecb5e1dfef: Pulling fs layer\nfa91c033eb95: Pulling fs layer\n8eecb5e1dfef: Waiting\nfa91c033eb95: Waiting\n3ade9d1d892e: Verifying Checksum\n3ade9d1d892e: Download complete\nc8216f6b5680: Verifying Checksum\nc8216f6b5680: Download complete\n6b1f95e6cd5f: Verifying Checksum\n6b1f95e6cd5f: Download complete\n3ade9d1d892e: Pull complete\n8eecb5e1dfef: Verifying Checksum\n8eecb5e1dfef: Download complete\nc8216f6b5680: Pull complete\nfa91c033eb95: Verifying Checksum\nfa91c033eb95: Download complete\n6b1f95e6cd5f: Pull complete\n8eecb5e1dfef: Pull complete\nfa91c033eb95: Pull complete\nDigest: sha256:c6ba02d72743dd8e77ae20dbd5b2d29ded3d75df68259ff88e75f5bd22d919b9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "3ade9d1d892e: Pulling fs layer", "c8216f6b5680: Pulling fs layer", "6b1f95e6cd5f: Pulling fs layer", "8eecb5e1dfef: Pulling fs layer", "fa91c033eb95: Pulling fs layer", "8eecb5e1dfef: Waiting", "fa91c033eb95: Waiting", "3ade9d1d892e: Verifying Checksum", "3ade9d1d892e: Download complete", "c8216f6b5680: Verifying Checksum", "c8216f6b5680: Download complete", "6b1f95e6cd5f: Verifying Checksum", "6b1f95e6cd5f: Download complete", "3ade9d1d892e: Pull complete", "8eecb5e1dfef: Verifying Checksum", "8eecb5e1dfef: Download complete", "c8216f6b5680: Pull complete", "fa91c033eb95: Verifying Checksum", "fa91c033eb95: Download complete", "6b1f95e6cd5f: Pull complete", "8eecb5e1dfef: Pull complete", "fa91c033eb95: Pull complete", "Digest: sha256:c6ba02d72743dd8e77ae20dbd5b2d29ded3d75df68259ff88e75f5bd22d919b9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:05.671505", "end": "2026-02-19 16:04:50.380772", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2026-02-19 16:04:44.709267", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\nec96e5d362a2: Pulling fs layer\nde9c7d454c9f: Pulling fs layer\n30cc88b57e76: Pulling fs layer\nec96e5d362a2: Verifying Checksum\nec96e5d362a2: Download complete\nec96e5d362a2: Pull complete\n30cc88b57e76: Verifying Checksum\n30cc88b57e76: Download complete\nde9c7d454c9f: Verifying Checksum\nde9c7d454c9f: Download complete\nde9c7d454c9f: Pull complete\n30cc88b57e76: Pull complete\nDigest: sha256:52b38b9f764e26662977d19d815a8bb8a3bbe8d2f2068cc3a239f26f87893f69\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "ec96e5d362a2: Pulling fs layer", "de9c7d454c9f: Pulling fs layer", "30cc88b57e76: Pulling fs layer", "ec96e5d362a2: Verifying Checksum", "ec96e5d362a2: Download complete", "ec96e5d362a2: Pull complete", "30cc88b57e76: Verifying Checksum", "30cc88b57e76: Download complete", "de9c7d454c9f: Verifying Checksum", "de9c7d454c9f: Download complete", "de9c7d454c9f: Pull complete", "30cc88b57e76: Pull complete", "Digest: sha256:52b38b9f764e26662977d19d815a8bb8a3bbe8d2f2068cc3a239f26f87893f69", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.114157", "end": "2026-02-19 16:04:50.946461", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:04:50.832304", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_analytics : create /etc/contrail/analytics] ********************** changed: [10.0.0.241] => {"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.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] *********** changed: [10.0.0.241] => {"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.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.241] => {"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.241]: 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.241] => {"changed": true, "checksum": "02e8ebecdaaf5ac718e49c5cb6850a48a3f049cf", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "725b9b6999bb5ecb2d2e990b4e9a5adf", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517107.8623378-75862-177613306241075/source", "state": "file", "uid": 0} TASK [opensdn_analytics : start contrail analytics] **************************** changed: [10.0.0.241] => {"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_6_2_5-1", "labels": {"com.docker.compose.config-hash": "dc3e6f9daa66dd76f24f68e1f0b64d5617c4ed44d89edfafd1d78d95249bcf30", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "65d048907edf3196c26e330e24b796de197431565fccc33144b8b6e16f94f229", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "45992456d13226d9c1f4dd00d011d72d11f0d892d018beaa92e412dcafc8af2d", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "079ff1cb32164451ddf558c30679c66a65b2ea8f901a798105b22b479d1cb806", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics alarm] ***************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics_alarm : update alarm, external-kafka image] ************ changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.117703", "end": "2026-02-19 16:05:11.343630", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:05:11.225927", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.128446", "end": "2026-02-19 16:05:11.897083", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:05:11.768637", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.746777", "end": "2026-02-19 16:05:13.109517", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2026-02-19 16:05:12.362740", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\nbda6eb36756b: Pulling fs layer\nd6355fd84f6c: Pulling fs layer\nbda6eb36756b: Verifying Checksum\nbda6eb36756b: Download complete\nbda6eb36756b: Pull complete\nd6355fd84f6c: Verifying Checksum\nd6355fd84f6c: Download complete\nd6355fd84f6c: Pull complete\nDigest: sha256:a85be823fec4125ee82685acebac58a1f0e422991094dd66974d79940ed8c467\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "bda6eb36756b: Pulling fs layer", "d6355fd84f6c: Pulling fs layer", "bda6eb36756b: Verifying Checksum", "bda6eb36756b: Download complete", "bda6eb36756b: Pull complete", "d6355fd84f6c: Verifying Checksum", "d6355fd84f6c: Download complete", "d6355fd84f6c: Pull complete", "Digest: sha256:a85be823fec4125ee82685acebac58a1f0e422991094dd66974d79940ed8c467", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:08.587737", "end": "2026-02-19 16:05:22.150948", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2026-02-19 16:05:13.563211", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: 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\n3d7b5f3954e3: Pulling fs layer\nc2d410469089: Pulling fs layer\nbe009d855342: Pulling fs layer\nf71cd5819e45: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\ncda86626eeb3: Waiting\na34edb4da622: Waiting\nf7cdaeb78991: Waiting\n3d7b5f3954e3: Waiting\n304e58a73598: Waiting\nc2d410469089: Waiting\nbe009d855342: Waiting\n34d370b15c91: Waiting\n6e6e21ba9841: Waiting\nf71cd5819e45: Waiting\ne6744199aa66: Waiting\n4f4fb700ef54: Waiting\nf18232174bc9: Verifying Checksum\nf18232174bc9: Download complete\ne6744199aa66: Verifying Checksum\ne6744199aa66: Download complete\ncda86626eeb3: Download complete\nf6cd406c8d97: Verifying Checksum\nf6cd406c8d97: Download complete\n34d370b15c91: Verifying Checksum\n34d370b15c91: Download complete\nf18232174bc9: Pull complete\n6e6e21ba9841: Download complete\na34edb4da622: Download complete\nf7cdaeb78991: Download complete\n3d7b5f3954e3: Verifying Checksum\n3d7b5f3954e3: Download complete\nc2d410469089: Verifying Checksum\nc2d410469089: Download complete\nbe009d855342: Download complete\n74f6a226ed93: Verifying Checksum\n74f6a226ed93: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nf71cd5819e45: Verifying Checksum\nf71cd5819e45: 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\n3d7b5f3954e3: Pull complete\nc2d410469089: Pull complete\nbe009d855342: Pull complete\nf71cd5819e45: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:660727776f6d0613e4b023859c63a9734cb5079ff8824e756022ae72b698562b\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: 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", "3d7b5f3954e3: Pulling fs layer", "c2d410469089: Pulling fs layer", "be009d855342: Pulling fs layer", "f71cd5819e45: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "cda86626eeb3: Waiting", "a34edb4da622: Waiting", "f7cdaeb78991: Waiting", "3d7b5f3954e3: Waiting", "304e58a73598: Waiting", "c2d410469089: Waiting", "be009d855342: Waiting", "34d370b15c91: Waiting", "6e6e21ba9841: Waiting", "f71cd5819e45: Waiting", "e6744199aa66: Waiting", "4f4fb700ef54: Waiting", "f18232174bc9: Verifying Checksum", "f18232174bc9: Download complete", "e6744199aa66: Verifying Checksum", "e6744199aa66: Download complete", "cda86626eeb3: Download complete", "f6cd406c8d97: Verifying Checksum", "f6cd406c8d97: Download complete", "34d370b15c91: Verifying Checksum", "34d370b15c91: Download complete", "f18232174bc9: Pull complete", "6e6e21ba9841: Download complete", "a34edb4da622: Download complete", "f7cdaeb78991: Download complete", "3d7b5f3954e3: Verifying Checksum", "3d7b5f3954e3: Download complete", "c2d410469089: Verifying Checksum", "c2d410469089: Download complete", "be009d855342: Download complete", "74f6a226ed93: Verifying Checksum", "74f6a226ed93: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "f71cd5819e45: Verifying Checksum", "f71cd5819e45: 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", "3d7b5f3954e3: Pull complete", "c2d410469089: Pull complete", "be009d855342: Pull complete", "f71cd5819e45: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:660727776f6d0613e4b023859c63a9734cb5079ff8824e756022ae72b698562b", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.110078", "end": "2026-02-19 16:05:22.695391", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:05:22.585313", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] ********** changed: [10.0.0.241] => {"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.241] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.241"}, "changed": false} TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] *** changed: [10.0.0.241] => {"changed": true, "checksum": "9bca7f321ae3bae1f9e1e353af736a46b9a9c6e0", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "31bdc5479b72208d634c7e1b59c84583", "mode": "0644", "owner": "root", "size": 2476, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517123.6674607-77911-128645253706308/source", "state": "file", "uid": 0} TASK [opensdn_analytics_alarm : start contrail analytics_alarm] **************** changed: [10.0.0.241] => {"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_6_2_5-1", "labels": {"com.docker.compose.config-hash": "1417b32fe1e0ecd9450310769fa300e2d6c24c3dd79ce3987dc95df0f243c25f", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["/contrail-entrypoint.sh"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "782dc70212966af8eae8c60a0d11f9c6449f4c83e65bb1b4143a22096408e6b6", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "98112f2557605c7b319530c2307ba1c767fd7c939f03f16a98aa177821fd51c8", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "9ecb971f55ed4313fba677f56c4dcb5837def56758d7fc59ad6bdc16b863a6b5", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics snmp] ****************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics_snmp : update contrail-snmp-collector and contrail-analytics-snmp-topology image] *** changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.137281", "end": "2026-02-19 16:05:27.414310", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:05:27.277029", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.124516", "end": "2026-02-19 16:05:27.969482", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:05:27.844966", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:07.469806", "end": "2026-02-19 16:05:35.874317", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2026-02-19 16:05:28.404511", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n374e3d606d20: Pulling fs layer\n0cf18731d787: Pulling fs layer\nd70154f1e18f: Pulling fs layer\nc5b3d4bd480e: Pulling fs layer\nc5b3d4bd480e: Waiting\nd70154f1e18f: Verifying Checksum\nd70154f1e18f: Download complete\n374e3d606d20: Verifying Checksum\n374e3d606d20: Download complete\nc5b3d4bd480e: Verifying Checksum\nc5b3d4bd480e: Download complete\n374e3d606d20: Pull complete\n0cf18731d787: Verifying Checksum\n0cf18731d787: Download complete\n0cf18731d787: Pull complete\nd70154f1e18f: Pull complete\nc5b3d4bd480e: Pull complete\nDigest: sha256:89d2caff0535ac419d1e722a43b07076c8b7a5b586e4dbe8d462cfca2a6c4786\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "374e3d606d20: Pulling fs layer", "0cf18731d787: Pulling fs layer", "d70154f1e18f: Pulling fs layer", "c5b3d4bd480e: Pulling fs layer", "c5b3d4bd480e: Waiting", "d70154f1e18f: Verifying Checksum", "d70154f1e18f: Download complete", "374e3d606d20: Verifying Checksum", "374e3d606d20: Download complete", "c5b3d4bd480e: Verifying Checksum", "c5b3d4bd480e: Download complete", "374e3d606d20: Pull complete", "0cf18731d787: Verifying Checksum", "0cf18731d787: Download complete", "0cf18731d787: Pull complete", "d70154f1e18f: Pull complete", "c5b3d4bd480e: Pull complete", "Digest: sha256:89d2caff0535ac419d1e722a43b07076c8b7a5b586e4dbe8d462cfca2a6c4786", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.597137", "end": "2026-02-19 16:05:36.959509", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2026-02-19 16:05:36.362372", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\n374e3d606d20: Already exists\n0cf18731d787: Already exists\nf1a242e58a57: Pulling fs layer\n93dfa6adff09: Pulling fs layer\nf1a242e58a57: Download complete\n93dfa6adff09: Verifying Checksum\n93dfa6adff09: Download complete\nf1a242e58a57: Pull complete\n93dfa6adff09: Pull complete\nDigest: sha256:e69c5b7fd0916b34b9869cb7e3b979872d47c5be539fae0e8825445742463ec1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "374e3d606d20: Already exists", "0cf18731d787: Already exists", "f1a242e58a57: Pulling fs layer", "93dfa6adff09: Pulling fs layer", "f1a242e58a57: Download complete", "93dfa6adff09: Verifying Checksum", "93dfa6adff09: Download complete", "f1a242e58a57: Pull complete", "93dfa6adff09: Pull complete", "Digest: sha256:e69c5b7fd0916b34b9869cb7e3b979872d47c5be539fae0e8825445742463ec1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.136280", "end": "2026-02-19 16:05:37.547180", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:05:37.410900", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************ changed: [10.0.0.241] => {"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.241] => {"changed": true, "checksum": "0b18b840dfa52998d34e910ff7ed049098a01f33", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1c98bb9e0719a7eaddde666a9ab2bd8c", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517138.307636-80218-47327016976813/source", "state": "file", "uid": 0} TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ****************** changed: [10.0.0.241] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "5c22a2ab52d02d34a85d98d3946ec38efd041b1196e2147baac464fbf27611ee", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "763484796d4d425c5f67785d404f6b3443f9d74e696f40ad70fbdc4194a269b4", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "dde290c74aff63add5b33dfb5dbed814048f969fd3d7b41967cb1b739a4dbadd", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "fe9ec68f62b1708794a54469e8e2032a1cf9fc227a1d2ecfcf996ee31218031a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail rsyslogd for Linux] ************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_rsyslogd : update contrail rsyslogd image] *********************** changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:00.637902", "end": "2026-02-19 16:05:43.201845", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2026-02-19 16:05:42.563943", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\ne45a38bb2b0e: Pulling fs layer\n99262817d6fd: Pulling fs layer\nd823df553598: Pulling fs layer\ne14550721417: Pulling fs layer\ne14550721417: Waiting\ne45a38bb2b0e: Download complete\nd823df553598: Verifying Checksum\nd823df553598: Download complete\ne45a38bb2b0e: Pull complete\ne14550721417: Verifying Checksum\ne14550721417: Download complete\n99262817d6fd: Verifying Checksum\n99262817d6fd: Download complete\n99262817d6fd: Pull complete\nd823df553598: Pull complete\ne14550721417: Pull complete\nDigest: sha256:61a0fb788c5a1d6b9bf74cd72744f77aa4294c3e5e51fe7774cc085efd36da51\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "e45a38bb2b0e: Pulling fs layer", "99262817d6fd: Pulling fs layer", "d823df553598: Pulling fs layer", "e14550721417: Pulling fs layer", "e14550721417: Waiting", "e45a38bb2b0e: Download complete", "d823df553598: Verifying Checksum", "d823df553598: Download complete", "e45a38bb2b0e: Pull complete", "e14550721417: Verifying Checksum", "e14550721417: Download complete", "99262817d6fd: Verifying Checksum", "99262817d6fd: Download complete", "99262817d6fd: Pull complete", "d823df553598: Pull complete", "e14550721417: Pull complete", "Digest: sha256:61a0fb788c5a1d6b9bf74cd72744f77aa4294c3e5e51fe7774cc085efd36da51", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_6_2_5-1"]} TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************ changed: [10.0.0.241] => {"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.241] => {"changed": true, "checksum": "08e45e3eb59b442293db3b72363188bf8c87a063", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "dd8a59fdfb8907d8ffaa8982eeb0f5bf", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517143.8652105-81566-116685317755162/source", "state": "file", "uid": 0} TASK [opensdn_rsyslogd : start rsyslogd] *************************************** changed: [10.0.0.241] => {"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_6_2_5-1", "labels": {"com.docker.compose.config-hash": "a96e81dc3dc8e842ffbb4e8ea8ed37e41c9113317d2bd39dc553fa51bddfc3ab", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail vrouter for Linux] *************************************** TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.241] => {"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.241] => (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_6_2_5-1", "delta": "0:00:00.118934", "end": "2026-02-19 16:05:46.569922", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-02-19 16:05:46.450988", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-node-init\nDigest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-node-init", "Digest: sha256:da78c0313371a33471aadaa9c629985d4195a671a6572ac7604623d2a33938ae", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "delta": "0:00:00.105793", "end": "2026-02-19 16:05:47.099929", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-02-19 16:05:46.994136", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-nodemgr\nDigest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-nodemgr", "Digest: sha256:d933fc426d7e7f3abfbf311b68ddab581ccce56e64cf2bbb3526a4f9a3601234", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1"]} changed: [10.0.0.241] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "delta": "0:00:00.114074", "end": "2026-02-19 16:05:47.631342", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-02-19 16:05:47.517268", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-provisioner\nDigest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-provisioner", "Digest: sha256:2d0c57a97d32802f0608ed0c3e4a944a30c43ec0bdc935f5b04023433f591287", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:11.605808", "end": "2026-02-19 16:05:59.699704", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2026-02-19 16:05:48.093896", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-vrouter-kernel-build-init\n505b3596871d: Pulling fs layer\nb688f92634ed: Pulling fs layer\n4cb969666fb0: Pulling fs layer\n87f27c0a240c: Pulling fs layer\nde1dbabd2a29: Pulling fs layer\n3b7fba94ed6c: Pulling fs layer\na1e1d0c75280: Pulling fs layer\n6b9da30dfd9d: Pulling fs layer\n453eadf502ab: Pulling fs layer\n87f27c0a240c: Waiting\nde1dbabd2a29: Waiting\n3b7fba94ed6c: Waiting\na1e1d0c75280: Waiting\n6b9da30dfd9d: Waiting\n453eadf502ab: Waiting\nb688f92634ed: Verifying Checksum\nb688f92634ed: Download complete\n4cb969666fb0: Verifying Checksum\n4cb969666fb0: Download complete\n87f27c0a240c: Verifying Checksum\n87f27c0a240c: Download complete\nde1dbabd2a29: Verifying Checksum\nde1dbabd2a29: Download complete\n3b7fba94ed6c: Verifying Checksum\n3b7fba94ed6c: Download complete\n6b9da30dfd9d: Download complete\n453eadf502ab: Verifying Checksum\n453eadf502ab: Download complete\n505b3596871d: Verifying Checksum\n505b3596871d: Download complete\n505b3596871d: Pull complete\nb688f92634ed: Pull complete\n4cb969666fb0: Pull complete\n87f27c0a240c: Pull complete\nde1dbabd2a29: Pull complete\n3b7fba94ed6c: Pull complete\na1e1d0c75280: Verifying Checksum\na1e1d0c75280: Download complete\na1e1d0c75280: Pull complete\n6b9da30dfd9d: Pull complete\n453eadf502ab: Pull complete\nDigest: sha256:31a7ace09aa51703e632c85eca7aaccb8b9309a0b4e97a1261db4311ff1dabfb\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-vrouter-kernel-build-init", "505b3596871d: Pulling fs layer", "b688f92634ed: Pulling fs layer", "4cb969666fb0: Pulling fs layer", "87f27c0a240c: Pulling fs layer", "de1dbabd2a29: Pulling fs layer", "3b7fba94ed6c: Pulling fs layer", "a1e1d0c75280: Pulling fs layer", "6b9da30dfd9d: Pulling fs layer", "453eadf502ab: Pulling fs layer", "87f27c0a240c: Waiting", "de1dbabd2a29: Waiting", "3b7fba94ed6c: Waiting", "a1e1d0c75280: Waiting", "6b9da30dfd9d: Waiting", "453eadf502ab: Waiting", "b688f92634ed: Verifying Checksum", "b688f92634ed: Download complete", "4cb969666fb0: Verifying Checksum", "4cb969666fb0: Download complete", "87f27c0a240c: Verifying Checksum", "87f27c0a240c: Download complete", "de1dbabd2a29: Verifying Checksum", "de1dbabd2a29: Download complete", "3b7fba94ed6c: Verifying Checksum", "3b7fba94ed6c: Download complete", "6b9da30dfd9d: Download complete", "453eadf502ab: Verifying Checksum", "453eadf502ab: Download complete", "505b3596871d: Verifying Checksum", "505b3596871d: Download complete", "505b3596871d: Pull complete", "b688f92634ed: Pull complete", "4cb969666fb0: Pull complete", "87f27c0a240c: Pull complete", "de1dbabd2a29: Pull complete", "3b7fba94ed6c: Pull complete", "a1e1d0c75280: Verifying Checksum", "a1e1d0c75280: Download complete", "a1e1d0c75280: Pull complete", "6b9da30dfd9d: Pull complete", "453eadf502ab: Pull complete", "Digest: sha256:31a7ace09aa51703e632c85eca7aaccb8b9309a0b4e97a1261db4311ff1dabfb", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_6_2_5-1"]} changed: [10.0.0.241] => (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_6_2_5-1", "delta": "0:00:20.641771", "end": "2026-02-19 16:06:20.793517", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2026-02-19 16:06:00.151746", "stderr": "", "stderr_lines": [], "stdout": "master-2_6_2_5-1: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n782c39146925: Already exists\n5ab0bf85ddb4: Already exists\n851eb6934c72: Already exists\nf0831f68983f: Already exists\n32aaabec38b5: Already exists\n453b2ec87531: Already exists\n5065b10088a5: Already exists\n5df926d97a93: Already exists\nc5e7888613fc: Already exists\n84467f434d8a: Already exists\nb5c35b6de4ac: Already exists\nf2232c5db57a: Already exists\nad764aafbf97: Already exists\ne58b4049831b: Pulling fs layer\ndf339dada4ef: Pulling fs layer\n877856359dbb: Pulling fs layer\nb90d11ce244c: Pulling fs layer\n7ccf25919b04: Pulling fs layer\nb85c04274226: Pulling fs layer\n4b10b52ac400: Pulling fs layer\n66b887201024: Pulling fs layer\nf6da83c49e6d: Pulling fs layer\n35b0af5fc2a6: Pulling fs layer\n2cbc9d0cc386: Pulling fs layer\n8c632af08c76: Pulling fs layer\n841390c81fad: Pulling fs layer\n505b73e52ff9: Pulling fs layer\n6488e38c735c: Pulling fs layer\nb90d11ce244c: Waiting\n7ccf25919b04: Waiting\nb85c04274226: Waiting\n4b10b52ac400: Waiting\n66b887201024: Waiting\nf6da83c49e6d: Waiting\n35b0af5fc2a6: Waiting\n2cbc9d0cc386: Waiting\n8c632af08c76: Waiting\n841390c81fad: Waiting\n505b73e52ff9: Waiting\n6488e38c735c: Waiting\ne58b4049831b: Verifying Checksum\ne58b4049831b: Download complete\ndf339dada4ef: Verifying Checksum\ndf339dada4ef: Download complete\nb90d11ce244c: Verifying Checksum\nb90d11ce244c: Download complete\ne58b4049831b: Pull complete\n7ccf25919b04: Verifying Checksum\n7ccf25919b04: Download complete\ndf339dada4ef: Pull complete\nb85c04274226: Verifying Checksum\nb85c04274226: Download complete\n4b10b52ac400: Verifying Checksum\n4b10b52ac400: Download complete\nf6da83c49e6d: Verifying Checksum\nf6da83c49e6d: Download complete\n35b0af5fc2a6: Verifying Checksum\n35b0af5fc2a6: Download complete\n877856359dbb: Verifying Checksum\n877856359dbb: Download complete\n2cbc9d0cc386: Verifying Checksum\n2cbc9d0cc386: Download complete\n841390c81fad: Verifying Checksum\n841390c81fad: Download complete\n505b73e52ff9: Verifying Checksum\n505b73e52ff9: Download complete\n6488e38c735c: Verifying Checksum\n6488e38c735c: Download complete\n877856359dbb: Pull complete\nb90d11ce244c: Pull complete\n8c632af08c76: Verifying Checksum\n8c632af08c76: Download complete\n7ccf25919b04: Pull complete\nb85c04274226: Pull complete\n4b10b52ac400: Pull complete\n66b887201024: Verifying Checksum\n66b887201024: Download complete\n66b887201024: Pull complete\nf6da83c49e6d: Pull complete\n35b0af5fc2a6: Pull complete\n2cbc9d0cc386: Pull complete\n8c632af08c76: Pull complete\n841390c81fad: Pull complete\n505b73e52ff9: Pull complete\n6488e38c735c: Pull complete\nDigest: sha256:d0cf10d02f9fbddaf1399e9c9016b8c06c210adbb7ef707eece10ff81221e740\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_6_2_5-1\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_6_2_5-1", "stdout_lines": ["master-2_6_2_5-1: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "782c39146925: Already exists", "5ab0bf85ddb4: Already exists", "851eb6934c72: Already exists", "f0831f68983f: Already exists", "32aaabec38b5: Already exists", "453b2ec87531: Already exists", "5065b10088a5: Already exists", "5df926d97a93: Already exists", "c5e7888613fc: Already exists", "84467f434d8a: Already exists", "b5c35b6de4ac: Already exists", "f2232c5db57a: Already exists", "ad764aafbf97: Already exists", "e58b4049831b: Pulling fs layer", "df339dada4ef: Pulling fs layer", "877856359dbb: Pulling fs layer", "b90d11ce244c: Pulling fs layer", "7ccf25919b04: Pulling fs layer", "b85c04274226: Pulling fs layer", "4b10b52ac400: Pulling fs layer", "66b887201024: Pulling fs layer", "f6da83c49e6d: Pulling fs layer", "35b0af5fc2a6: Pulling fs layer", "2cbc9d0cc386: Pulling fs layer", "8c632af08c76: Pulling fs layer", "841390c81fad: Pulling fs layer", "505b73e52ff9: Pulling fs layer", "6488e38c735c: Pulling fs layer", "b90d11ce244c: Waiting", "7ccf25919b04: Waiting", "b85c04274226: Waiting", "4b10b52ac400: Waiting", "66b887201024: Waiting", "f6da83c49e6d: Waiting", "35b0af5fc2a6: Waiting", "2cbc9d0cc386: Waiting", "8c632af08c76: Waiting", "841390c81fad: Waiting", "505b73e52ff9: Waiting", "6488e38c735c: Waiting", "e58b4049831b: Verifying Checksum", "e58b4049831b: Download complete", "df339dada4ef: Verifying Checksum", "df339dada4ef: Download complete", "b90d11ce244c: Verifying Checksum", "b90d11ce244c: Download complete", "e58b4049831b: Pull complete", "7ccf25919b04: Verifying Checksum", "7ccf25919b04: Download complete", "df339dada4ef: Pull complete", "b85c04274226: Verifying Checksum", "b85c04274226: Download complete", "4b10b52ac400: Verifying Checksum", "4b10b52ac400: Download complete", "f6da83c49e6d: Verifying Checksum", "f6da83c49e6d: Download complete", "35b0af5fc2a6: Verifying Checksum", "35b0af5fc2a6: Download complete", "877856359dbb: Verifying Checksum", "877856359dbb: Download complete", "2cbc9d0cc386: Verifying Checksum", "2cbc9d0cc386: Download complete", "841390c81fad: Verifying Checksum", "841390c81fad: Download complete", "505b73e52ff9: Verifying Checksum", "505b73e52ff9: Download complete", "6488e38c735c: Verifying Checksum", "6488e38c735c: Download complete", "877856359dbb: Pull complete", "b90d11ce244c: Pull complete", "8c632af08c76: Verifying Checksum", "8c632af08c76: Download complete", "7ccf25919b04: Pull complete", "b85c04274226: Pull complete", "4b10b52ac400: Pull complete", "66b887201024: Verifying Checksum", "66b887201024: Download complete", "66b887201024: Pull complete", "f6da83c49e6d: Pull complete", "35b0af5fc2a6: Pull complete", "2cbc9d0cc386: Pull complete", "8c632af08c76: Pull complete", "841390c81fad: Pull complete", "505b73e52ff9: Pull complete", "6488e38c735c: Pull complete", "Digest: sha256:d0cf10d02f9fbddaf1399e9c9016b8c06c210adbb7ef707eece10ff81221e740", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_6_2_5-1", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_6_2_5-1"]} [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_vrouter : create /etc/contrail/vrouter] ************************** changed: [10.0.0.241] => {"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.241] => {"changed": true, "checksum": "5833f4b295acb859596853663b91f767fec58e5a", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "22227a55ce46dcd309673dd74abfbcac", "mode": "0640", "owner": "root", "size": 1038, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517181.8890672-83349-28923741460489/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.241] => {"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.241] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_vrouter : create contrail vrouter compose file] ****************** changed: [10.0.0.241] => {"changed": true, "checksum": "d35d534b62a2300e0cd139547369ab4e8026b04a", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "0a73f23c52b299f6d41756e6271668f6", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1771517183.629551-83454-109316612254940/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] ***************** changed: [10.0.0.241] => {"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.241] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "2cf08a20a583c1a6b507114ca4ed376dab0cde34bb6c7ae2fae4e4f0afdb421a", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "27e5f7418c8a0cb463e1369224e68440d12adf32dd234e9cf5aacee9bbc74eb3", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "a2224ada14adf170a73c62762e6b67f7fe89934f0d154e0ff04e090caff3b81b", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "465318473cb978ad0fd3c2235e48bfd79dfb293942998c94db04d8cba95b4d42", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_6_2_5-1", "labels": {"com.docker.compose.config-hash": "dc5a0590d8aa4357583e5309bf68500f8d62675b818947ce99deb5949e8ad7fa", "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_6_2_5-1"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [opensdn_vrouter : Set variables for DPDK plugins] ************************ ok: [10.0.0.241] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false} PLAY RECAP ********************************************************************* 10.0.0.241 : 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 Thu Feb 19 16:07:28 UTC 2026 INFO: controller nodes - 10.0.0.241 INFO: agent nodes - 10.0.0.241 INFO: openstack controller nodes - INFO: sync time on machine ubuntu@10.0.0.241 Warning: Permanently added '10.0.0.241' (ED25519) to the list of known hosts. Warning: Permanently added '10.0.0.241' (ED25519) to the list of known hosts. INFO: Thu Feb 19 16:07:29 UTC 2026: ensure time is synced (chronyd) INFO: Thu Feb 19 16:07:29 UTC 2026: time is synced TF Web UI must be available at https://10.0.0.241:8143 OpenStack UI must be avaiable at http://10.0.0.241 Use admin/contrail123 to log in INFO: Stage tf was run successfully Thu Feb 19 16:07:29 UTC 2026 INFO: Running stage wait at Thu Feb 19 16:07:29 UTC 2026 INFO: done in 0s INFO: Stage wait was run successfully Thu Feb 19 16:07:36 UTC 2026 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-2_6_2_5-1 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_6_2_5-1 CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ORCHESTRATOR=openstack OPENSTACK_VERSION="yoga" CONTROLLER_NODES="10.0.0.241 " AGENT_NODES="10.0.0.241" CONTROL_NODES="10.20.0.17 " 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.241' OS_AUTH_URL='http://10.0.0.241:5000/v3' AUTH_PASSWORD='contrail123' AUTH_URL='' INFO: Successful deployment Thu Feb 19 16:07:36 UTC 2026 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS