Started by upstream project "pipeline-gate" build number 1685 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-container-builder/+/2042 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 ab25880479f4fe1f84147ccdd46edc690f8b4eb3 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f ab25880479f4fe1f84147ccdd46edc690f8b4eb3 # timeout=10 Commit message: "Merge "use 'rpms' branch for tf-dev-env if build is not master"" > git rev-list --no-walk ab25880479f4fe1f84147ccdd46edc690f8b4eb3 # timeout=10 The recommended git tool is: NONE No credentials specified Wiping out workspace first. Cloning the remote Git repository Cloning repository https://github.com/opensdn-io/tf-devstack.git > git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-devstack # timeout=10 Fetching upstream changes from https://github.com/opensdn-io/tf-devstack.git > git --version # timeout=10 > git --version # 'git version 2.25.1' > git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-devstack.git +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url https://github.com/opensdn-io/tf-devstack.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 Checking out Revision d3c01d37713fef51920102f47298b4ba07ef0383 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10 Commit message: "Merge "fix issuue with nodetool command on rocky9"" > git rev-list --no-walk d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10 Copied 4 artifacts from "pipeline-gate" build number 1685 [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins11738136718740911738.sh + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-gate-1685 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-gate-1685 ++ 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/42/2042/3/gate_1685 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 ++ CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ export GERRIT_PIPELINE=gate ++ GERRIT_PIPELINE=gate ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I5c21c24337d9be2f504d87df811e304b81a1fe1a ++ GERRIT_CHANGE_ID=I5c21c24337d9be2f504d87df811e304b81a1fe1a ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-container-builder ++ GERRIT_PROJECT=opensdn-io/tf-container-builder ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest ++ export BASE_BUILD_ID_LIST=1684 ++ BASE_BUILD_ID_LIST=1684 + desc='Pipeline: pipeline-gate-1685 Random: 57391 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-gate-1685 Random: 57391 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685/ansible-os' DESCRIPTION Pipeline: pipeline-gate-1685 Random: 57391 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685/ansible-os [description-setter] Description set: Pipeline: pipeline-gate-1685 Random: 57391 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685/ansible-os' [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins13792520574724557689.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-gate-1685 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-gate-1685 ++ 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/42/2042/3/gate_1685 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 ++ CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ export GERRIT_PIPELINE=gate ++ GERRIT_PIPELINE=gate ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I5c21c24337d9be2f504d87df811e304b81a1fe1a ++ GERRIT_CHANGE_ID=I5c21c24337d9be2f504d87df811e304b81a1fe1a ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-container-builder ++ GERRIT_PROJECT=opensdn-io/tf-container-builder ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest ++ export BASE_BUILD_ID_LIST=1684 ++ BASE_BUILD_ID_LIST=1684 + ./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/jenkins4846678314307803187.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-gate-1685 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-gate-1685 ++ 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/42/2042/3/gate_1685 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2042/3/gate_1685 ++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 ++ CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_4_2-3 ++ export GERRIT_PIPELINE=gate ++ GERRIT_PIPELINE=gate ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I5c21c24337d9be2f504d87df811e304b81a1fe1a ++ GERRIT_CHANGE_ID=I5c21c24337d9be2f504d87df811e304b81a1fe1a ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-container-builder ++ GERRIT_PROJECT=opensdn-io/tf-container-builder ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest ++ export BASE_BUILD_ID_LIST=1684 ++ BASE_BUILD_ID_LIST=1684 + source ./src/opensdn-io/tf-jenkins/infra/openstack/definitions ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export OS_NETWORK=management ++ OS_NETWORK=management ++ export OS_DATA_NETWORK=data ++ OS_DATA_NETWORK=data ++ export OS_SG=default ++ OS_SG=default ++ export RESERVED_INSTANCES_COUNT=3 ++ RESERVED_INSTANCES_COUNT=3 ++ export RESERVED_CORES_COUNT=16 ++ RESERVED_CORES_COUNT=16 ++ export VM_BOOT_RETRIES=120 ++ VM_BOOT_RETRIES=120 ++ export VM_BOOT_DELAY=60 ++ VM_BOOT_DELAY=60 ++ export VOLUME_TYPE=ceph-ssd ++ VOLUME_TYPE=ceph-ssd ++ ENVIRONMENT_OS=rocky9 ++ VM_TYPES=(['xsmall']='STD3-1-4' ['small']='STD3-2-8' ['medium']='STD3-4-16' ['large']='STD3-8-32') ++ declare -A VM_TYPES ++ VOLUME_SIZE=(['xsmall']='50' ['small']='50' ['medium']='80' ['large']='80') ++ declare -A VOLUME_SIZE ++ OS_IMAGES=(['CENTOS7']='prepared-centos7' ['CENTOS8']='prepared-centos8' ['UBUNTU20']='prepared-ubuntu20' ['UBUNTU22']='prepared-ubuntu22' ['UBUNTU24']='prepared-ubuntu24' ['ROCKY9']='prepared-rocky95') ++ declare -A OS_IMAGES ++ OS_IMAGE_USERS=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky') ++ declare -A OS_IMAGE_USERS ++ OS_IMAGES_UP=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky') ++ declare -A OS_IMAGES_UP ++ OS_IMAGES_DOWN=(['CENTOS7']='' ['CENTOS8']='' ['UBUNTU20']='' ['UBUNTU22']='' ['UBUNTU24']='' ['ROCKY9']='' ['ROCKY92']='' ['ROCKY95']='') ++ declare -A OS_IMAGES_DOWN ++ SSH_OPTIONS='-T -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PasswordAuthentication=no' + source /home/jenkins/workspace/deploy-tf-ansible-os/deps.deploy-tf-ansible-os.57391.env ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export ENVIRONMENT_OS=ubuntu22 ++ ENVIRONMENT_OS=ubuntu22 ++ export DATA_NETWORK=10.20.0.0/24 ++ DATA_NETWORK=10.20.0.0/24 ++ head -1 ++ export VROUTER_GATEWAY=10.20.0.1 ++ VROUTER_GATEWAY=10.20.0.1 ++ export IMAGE=4744ca8a-852c-4f31-8cf0-48b97ea797c5 ++ IMAGE=4744ca8a-852c-4f31-8cf0-48b97ea797c5 ++ export IMAGE_SSH_USER=ubuntu ++ IMAGE_SSH_USER=ubuntu ++ export INSTANCE_IDS=77b5058d-9590-445a-8486-b8888aa287b1, ++ INSTANCE_IDS=77b5058d-9590-445a-8486-b8888aa287b1, ++ export instance_ip=10.0.0.23 ++ instance_ip=10.0.0.23 ++ export CONTROLLER_NODES=10.0.0.23, ++ CONTROLLER_NODES=10.0.0.23, ++ export CONTROL_NODES=10.20.0.254, ++ CONTROL_NODES=10.20.0.254, ++ export ORCHESTRATOR=openstack ++ ORCHESTRATOR=openstack ++ export DEPLOYER=ansible ++ DEPLOYER=ansible ++ export JOB_LOGS_PATH=ansible-os ++ JOB_LOGS_PATH=ansible-os + source /home/jenkins/workspace/deploy-tf-ansible-os/vars.deploy-tf-ansible-os.57391.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/42/2042/3/gate_1685/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2042/3/gate_1685/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.23' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.23' (ECDSA) to the list of known hosts. INFO: =================== Wed Oct 8 22:08:56 UTC 2025 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Wed Oct 8 22:08:56 UTC 2025 Skipping stage machines because it's finished INFO: Stage machines was run successfully Wed Oct 8 22:08:56 UTC 2025 INFO: Running stage k8s at Wed Oct 8 22:08:56 UTC 2025 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Wed Oct 8 22:08:56 UTC 2025 INFO: Running stage openstack at Wed Oct 8 22:08:56 UTC 2025 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Wed Oct 8 22:08:56 UTC 2025 INFO: Running stage tf at Wed Oct 8 22:08:56 UTC 2025 [WARNING]: log file at /var/log/ansible.log is not writeable and we cannot create it, aborting Using /home/ubuntu/tf-ansible-deployer/ansible.cfg as config file [WARNING]: No inventory was parsed, only implicit localhost is available [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' PLAY [Create container host group and evaluate variables for opensdn] ********** TASK [Gathering Facts] ********************************************************* ok: [localhost] TASK [Expose instances] ******************************************************** ok: [localhost] => {"ansible_facts": {"instances": {"node_10_0_0_23": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_23", "private_ip": "10.0.0.23"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_23", "private_ip": "10.0.0.23"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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_23', 'value': {'ip': '10.0.0.23', '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.23"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"tsn_nodes_list": []}, "changed": false} TASK [opensdn_deployer : set global variables] ********************************* included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_global_variables.yml for localhost TASK [opensdn_deployer : set container tag contrail version if defined] ******** ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "latest"}, "changed": false} TASK [opensdn_deployer : add specific contrail version tag if defined] ********* ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "master-2_0_4_2-3"}, "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_23', 'value': {'ip': '10.0.0.23', '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_23": {"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_23", "value": {"ip": "10.0.0.23", "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.23", "opencontrail_collector_ip": "10.0.0.23"}, "changed": false} TASK [opensdn_deployer : set default variables] ******************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_default_variables.yml for localhost TASK [opensdn_deployer : set orchestrator param] ******************************* ok: [localhost] => {"ansible_facts": {"default_configuration": {"VXLAN_VN_ID_MODE": "automatic"}}, "changed": false} TASK [opensdn_deployer : set contrail variables] ******************************* included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_contrail_variables.yml for localhost TASK [opensdn_deployer : set stdin_open to true if it's not defined] *********** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "VROUTER_ENCRYPTION": false}}, "changed": false} TASK [opensdn_deployer : set tty to true if it's not defined] ****************** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "changed": false} TASK [opensdn_deployer : add nodes to contrail_configuration] ****************** ok: [localhost] => (item={'name': 'CONFIG_NODES', 'nodes': ['10.0.0.23']}) => {"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.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIG_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.23']}) => {"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.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONTROLLER_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.23']}) => {"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.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIGDB_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.23']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.23']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_SNMP_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.23']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_ALARM_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.23']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.23", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICSDB_NODES", "nodes": ["10.0.0.23"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.23']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.23", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.23"]}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.23", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "changed": false} TASK [opensdn_deployer : check analyticsdb presence] *************************** ok: [localhost] => (item={'key': 'node_10_0_0_23', 'value': {'ip': '10.0.0.23', '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.23", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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.23", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => (item={'key': 'node_10_0_0_23', 'value': {'ip': '10.0.0.23', '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.23", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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.23", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => (item={'key': 'node_10_0_0_23', 'value': {'ip': '10.0.0.23', '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.23", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.23", "ANALYTICS_NODES": "10.0.0.23", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.23", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.23", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.23", "CONTRAIL_CONTAINER_TAG": "master-2_0_4_2-3", "CONTROLLER_NODES": "10.0.0.23", "CONTROL_NODES": "10.20.0.254", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.23"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_23", "value": {"ip": "10.0.0.23", "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.23"}, "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.23] 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.23] TASK [opensdn : set instance data] ********************************************* ok: [10.0.0.23] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.23", "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.23] => {"ansible_facts": {"instance_name": "node_10_0_0_23"}, "changed": false} TASK [opensdn : run common tasks] ********************************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.23 TASK [opensdn : create /var/log/contrail] ************************************** changed: [10.0.0.23] => {"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.23] => {"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.23] => {"changed": true, "checksum": "8845f37b3fd29be41c36c9fc432b5140b08677d0", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "d9bcb1713612b0b89e11f40c582a58f4", "mode": "0640", "owner": "root", "size": 1023, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961349.4812481-53176-60376806892348/source", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [10.0.0.23] => {"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-1759961350.2707772-53229-66523439008716/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.23] => (item=opensdn-external-redis) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_4_2-3", "delta": "0:00:02.928567", "end": "2025-10-08 22:09:14.270976", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-10-08 22:09:11.342409", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: 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\na987a9db0aac: Pulling fs layer\n672c193b6ffd: Pulling fs layer\n141c53b2f78a: Pulling fs layer\nd41d7fead98f: Pulling fs layer\nf1b700c31442: Waiting\nb96556682ce1: Waiting\n0df3a9e3510c: Waiting\na987a9db0aac: Waiting\n672c193b6ffd: Waiting\n141c53b2f78a: Waiting\nd41d7fead98f: Waiting\nbb595d48e52d: Verifying Checksum\nbb595d48e52d: Download complete\nd479b54c3bb2: Verifying Checksum\nd479b54c3bb2: Download complete\nb96556682ce1: Verifying Checksum\nb96556682ce1: Download complete\nf1b700c31442: Verifying Checksum\nf1b700c31442: Download complete\n0df3a9e3510c: Verifying Checksum\n0df3a9e3510c: Download complete\na987a9db0aac: Download complete\n672c193b6ffd: Verifying Checksum\n672c193b6ffd: Download complete\n141c53b2f78a: Verifying Checksum\n141c53b2f78a: Download complete\nfaef57eae888: Verifying Checksum\nfaef57eae888: Download complete\nd41d7fead98f: Verifying Checksum\nd41d7fead98f: Download complete\nfaef57eae888: Pull complete\nbb595d48e52d: Pull complete\nd479b54c3bb2: Pull complete\nf1b700c31442: Pull complete\nb96556682ce1: Pull complete\n0df3a9e3510c: Pull complete\na987a9db0aac: Pull complete\n672c193b6ffd: Pull complete\n141c53b2f78a: Pull complete\nd41d7fead98f: Pull complete\nDigest: sha256:ae05d4fc41f7409bdc6b09a25932f6bb910c59ef950434fc9b7ce350104207c0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: 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", "a987a9db0aac: Pulling fs layer", "672c193b6ffd: Pulling fs layer", "141c53b2f78a: Pulling fs layer", "d41d7fead98f: Pulling fs layer", "f1b700c31442: Waiting", "b96556682ce1: Waiting", "0df3a9e3510c: Waiting", "a987a9db0aac: Waiting", "672c193b6ffd: Waiting", "141c53b2f78a: Waiting", "d41d7fead98f: Waiting", "bb595d48e52d: Verifying Checksum", "bb595d48e52d: Download complete", "d479b54c3bb2: Verifying Checksum", "d479b54c3bb2: Download complete", "b96556682ce1: Verifying Checksum", "b96556682ce1: Download complete", "f1b700c31442: Verifying Checksum", "f1b700c31442: Download complete", "0df3a9e3510c: Verifying Checksum", "0df3a9e3510c: Download complete", "a987a9db0aac: Download complete", "672c193b6ffd: Verifying Checksum", "672c193b6ffd: Download complete", "141c53b2f78a: Verifying Checksum", "141c53b2f78a: Download complete", "faef57eae888: Verifying Checksum", "faef57eae888: Download complete", "d41d7fead98f: Verifying Checksum", "d41d7fead98f: Download complete", "faef57eae888: Pull complete", "bb595d48e52d: Pull complete", "d479b54c3bb2: Pull complete", "f1b700c31442: Pull complete", "b96556682ce1: Pull complete", "0df3a9e3510c: Pull complete", "a987a9db0aac: Pull complete", "672c193b6ffd: Pull complete", "141c53b2f78a: Pull complete", "d41d7fead98f: Pull complete", "Digest: sha256:ae05d4fc41f7409bdc6b09a25932f6bb910c59ef950434fc9b7ce350104207c0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-external-stunnel) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_4_2-3", "delta": "0:00:01.153377", "end": "2025-10-08 22:09:15.830082", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-10-08 22:09:14.676705", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\n7c22831e8a1f: Pulling fs layer\ne040d57e6303: Pulling fs layer\n7c22831e8a1f: Download complete\n7c22831e8a1f: Pull complete\ne040d57e6303: Verifying Checksum\ne040d57e6303: Download complete\ne040d57e6303: Pull complete\nDigest: sha256:dc301e44b2ff30db87861d93293cd89ed221a9bf639dec1f66d44e44769bb271\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "7c22831e8a1f: Pulling fs layer", "e040d57e6303: Pulling fs layer", "7c22831e8a1f: Download complete", "7c22831e8a1f: Pull complete", "e040d57e6303: Verifying Checksum", "e040d57e6303: Download complete", "e040d57e6303: Pull complete", "Digest: sha256:dc301e44b2ff30db87861d93293cd89ed221a9bf639dec1f66d44e44769bb271", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_4_2-3"]} TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [10.0.0.23] => {"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.23] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [10.0.0.23] => {"changed": true, "checksum": "aff1a5e2f9ae0c522f9092f8b0c5b69b58215d03", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "691adab006397ecfeb8bcaa12ba88f3a", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961356.6834507-53525-152375368106579/source", "state": "file", "uid": 0} TASK [opensdn_redis : start redis] ********************************************* changed: [10.0.0.23] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "9853dbdac6f57e3a0e788a893953ff9c59a6fd9ba825904d0508244ddcb8aa34", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "redis", "com.docker.compose.project.config_files": "/etc/contrail/redis/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/redis", "com.docker.compose.service": "redis", "com.docker.compose.version": "1.29.2", "description": "Contrail Redis server supports query engine.", "io.opensdn.container.name": "opensdn-external-redis", "io.opensdn.service": "redis", "name": "opensdn-external-redis", "release": "5.1.0", "summary": "Contrail Redis", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:03.741370", "end": "2025-10-08 22:09:23.159376", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:09:19.418006", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Pulling fs layer\nccfbed45ece9: Pulling fs layer\nfdb34f477251: Pulling fs layer\n48f12b2f9854: Pulling fs layer\nb2609ab89bdd: Pulling fs layer\n1a88326e8ab9: Pulling fs layer\n1a88326e8ab9: Waiting\n48f12b2f9854: Waiting\nb2609ab89bdd: Waiting\nccfbed45ece9: Verifying Checksum\nccfbed45ece9: Download complete\nf100d3ecc6a4: Verifying Checksum\nf100d3ecc6a4: Download complete\nfdb34f477251: Verifying Checksum\nfdb34f477251: Download complete\nf100d3ecc6a4: Pull complete\nb2609ab89bdd: Download complete\nccfbed45ece9: Pull complete\n1a88326e8ab9: Download complete\nfdb34f477251: Pull complete\n48f12b2f9854: Download complete\n48f12b2f9854: Pull complete\nb2609ab89bdd: Pull complete\n1a88326e8ab9: Pull complete\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Pulling fs layer", "ccfbed45ece9: Pulling fs layer", "fdb34f477251: Pulling fs layer", "48f12b2f9854: Pulling fs layer", "b2609ab89bdd: Pulling fs layer", "1a88326e8ab9: Pulling fs layer", "1a88326e8ab9: Waiting", "48f12b2f9854: Waiting", "b2609ab89bdd: Waiting", "ccfbed45ece9: Verifying Checksum", "ccfbed45ece9: Download complete", "f100d3ecc6a4: Verifying Checksum", "f100d3ecc6a4: Download complete", "fdb34f477251: Verifying Checksum", "fdb34f477251: Download complete", "f100d3ecc6a4: Pull complete", "b2609ab89bdd: Download complete", "ccfbed45ece9: Pull complete", "1a88326e8ab9: Download complete", "fdb34f477251: Pull complete", "48f12b2f9854: Download complete", "48f12b2f9854: Pull complete", "b2609ab89bdd: Pull complete", "1a88326e8ab9: Pull complete", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:02.257497", "end": "2025-10-08 22:09:25.827802", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:09:23.570305", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n0e68377e1006: Pulling fs layer\nbbf16b582692: Pulling fs layer\nbbf16b582692: Download complete\n0e68377e1006: Verifying Checksum\n0e68377e1006: Download complete\n0e68377e1006: Pull complete\nbbf16b582692: Pull complete\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "0e68377e1006: Pulling fs layer", "bbf16b582692: Pulling fs layer", "bbf16b582692: Download complete", "0e68377e1006: Verifying Checksum", "0e68377e1006: Download complete", "0e68377e1006: Pull complete", "bbf16b582692: Pull complete", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "delta": "0:00:05.840095", "end": "2025-10-08 22:09:32.063623", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-10-08 22:09:26.223528", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\n00b3d513cea1: Pulling fs layer\n68aec6026e9f: Pulling fs layer\n00b3d513cea1: Verifying Checksum\n00b3d513cea1: Download complete\n00b3d513cea1: Pull complete\n68aec6026e9f: Verifying Checksum\n68aec6026e9f: Download complete\n68aec6026e9f: Pull complete\nDigest: sha256:ce81da04cddba870402944e504abecb6c40da9bba021e83b64233cbf88076bee\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "00b3d513cea1: Pulling fs layer", "68aec6026e9f: Pulling fs layer", "00b3d513cea1: Verifying Checksum", "00b3d513cea1: Download complete", "00b3d513cea1: Pull complete", "68aec6026e9f: Verifying Checksum", "68aec6026e9f: Download complete", "68aec6026e9f: Pull complete", "Digest: sha256:ce81da04cddba870402944e504abecb6c40da9bba021e83b64233cbf88076bee", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-external-zookeeper) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_4_2-3", "delta": "0:00:05.173786", "end": "2025-10-08 22:09:37.651121", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-10-08 22:09:32.477335", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-external-zookeeper\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\n87d7b1b1cb62: Pulling fs layer\n45a1c1e5a723: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Download complete\n87d7b1b1cb62: Verifying Checksum\n87d7b1b1cb62: Download complete\n87d7b1b1cb62: Pull complete\n45a1c1e5a723: Verifying Checksum\n45a1c1e5a723: Download complete\n45a1c1e5a723: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:248e5adfd02848eed63dbb61f75df2b19208ee1d7dc0607eb6368dc40e16ba50\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-external-zookeeper", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "87d7b1b1cb62: Pulling fs layer", "45a1c1e5a723: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Download complete", "87d7b1b1cb62: Verifying Checksum", "87d7b1b1cb62: Download complete", "87d7b1b1cb62: Pull complete", "45a1c1e5a723: Verifying Checksum", "45a1c1e5a723: Download complete", "45a1c1e5a723: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:248e5adfd02848eed63dbb61f75df2b19208ee1d7dc0607eb6368dc40e16ba50", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-external-rabbitmq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_4_2-3", "delta": "0:00:04.452341", "end": "2025-10-08 22:09:42.509474", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-10-08 22:09:38.057133", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: 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\nb98014fc5502: Pulling fs layer\n0b8a55d84fc7: Pulling fs layer\ne7add638ac41: Waiting\n9133e41fa10a: Pulling fs layer\nc47c3bedb477: Waiting\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n78c707bc7c70: Waiting\nb98014fc5502: Waiting\na49b9cb023b6: Waiting\n0b8a55d84fc7: Waiting\n6e8aae77390d: Waiting\n9133e41fa10a: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\n2d0a461f4591: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\nb98014fc5502: Verifying Checksum\nb98014fc5502: Download complete\n0b8a55d84fc7: Verifying Checksum\n0b8a55d84fc7: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\n675920708c8b: Pull complete\ne08fdafa88ce: Pull complete\n9133e41fa10a: Verifying Checksum\n9133e41fa10a: Download 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\nb98014fc5502: Pull complete\n0b8a55d84fc7: Pull complete\n9133e41fa10a: Pull complete\nDigest: sha256:b411c26283dcb0312379825aa40c0c98a5c9d37e4f35edd34b1bb89e6fad22a9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: 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", "b98014fc5502: Pulling fs layer", "0b8a55d84fc7: Pulling fs layer", "e7add638ac41: Waiting", "9133e41fa10a: Pulling fs layer", "c47c3bedb477: Waiting", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "78c707bc7c70: Waiting", "b98014fc5502: Waiting", "a49b9cb023b6: Waiting", "0b8a55d84fc7: Waiting", "6e8aae77390d: Waiting", "9133e41fa10a: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "2d0a461f4591: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "b98014fc5502: Verifying Checksum", "b98014fc5502: Download complete", "0b8a55d84fc7: Verifying Checksum", "0b8a55d84fc7: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "675920708c8b: Pull complete", "e08fdafa88ce: Pull complete", "9133e41fa10a: Verifying Checksum", "9133e41fa10a: Download 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", "b98014fc5502: Pull complete", "0b8a55d84fc7: Pull complete", "9133e41fa10a: Pull complete", "Digest: sha256:b411c26283dcb0312379825aa40c0c98a5c9d37e4f35edd34b1bb89e6fad22a9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.262481", "end": "2025-10-08 22:09:43.166680", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:09:42.904199", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\nc7d34cb0b815: Pulling fs layer\nc7d34cb0b815: Download complete\nc7d34cb0b815: Pull complete\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "c7d34cb0b815: Pulling fs layer", "c7d34cb0b815: Download complete", "c7d34cb0b815: Pull complete", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_config_database : create /etc/contrail/config_database] ********** changed: [10.0.0.23] => {"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.23] => {"ansible_facts": {"cassandra_seeds": "10.0.0.23"}, "changed": false} TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.23] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.23"}, "changed": false} TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.23] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.23"}, "changed": false} TASK [opensdn_config_database : Set variables for reaper tool] ***************** ok: [10.0.0.23] => {"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.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] *** changed: [10.0.0.23] => {"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.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => {"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.23]: 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.23] => {"changed": true, "checksum": "7c20d1d0bba27cdd27931d0a01c33b3e3895a938", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "48070af39e6ef7b5719397040d498897", "mode": "0644", "owner": "root", "size": 4019, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961400.2840505-56569-84835831219518/source", "state": "file", "uid": 0} TASK [opensdn_config_database : start contrail config database] **************** changed: [10.0.0.23] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "f28f67fba932b59dbc3f4246b0820877bd6624104df9de7c60a87e7ad38a2e73", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "f4a491062ed6e404c7832fc374d592c1e98796a22494f9baeee75d7bfff3870f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "cdffbf998c9bf2fb9995dac4912ad3878973457988c99ab6376115eac4c83c38", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "e75887527d2a149d540331917d7afb37222777ecf3dc4589e74f1179e8e453ee", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "rabbitmq", "com.docker.compose.version": "1.29.2", "description": "Contrail Rabbitmq is the message bus that different Contrail processes subscribe to.", "io.opensdn.container.name": "opensdn-external-rabbitmq", "io.opensdn.service": "rabbitmq", "name": "opensdn-external-rabbitmq", "release": "5.1.0", "summary": "Contrail RabbitMQ", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "518ed3288bf60684b1d036cd70cdc21044871cf872062740caef9d40704bce19", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "zookeeper", "com.docker.compose.version": "1.29.2", "description": "Contrail uses the Apache ZooKeeper process to maintain synchronization of Contrail configuration, analytics and database running on the different instances of controllers.", "io.opensdn.container.name": "opensdn-external-zookeeper", "io.opensdn.service": "zookeeper", "name": "opensdn-external-zookeeper", "release": "5.1.0", "summary": "Contrail Zookeeper", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.132708", "end": "2025-10-08 22:10:04.719159", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:10:04.586451", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.120107", "end": "2025-10-08 22:10:05.254186", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:10:05.134079", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-config-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_4_2-3", "delta": "0:00:01.157925", "end": "2025-10-08 22:10:06.841252", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-10-08 22:10:05.683327", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\nf76f1f798d98: Pulling fs layer\nc648b40a2fdc: Pulling fs layer\n7eddb375bf85: Pulling fs layer\nf76f1f798d98: Verifying Checksum\nf76f1f798d98: Download complete\nf76f1f798d98: Pull complete\nc648b40a2fdc: Verifying Checksum\nc648b40a2fdc: Download complete\n7eddb375bf85: Verifying Checksum\n7eddb375bf85: Download complete\nc648b40a2fdc: Pull complete\n7eddb375bf85: Pull complete\nDigest: sha256:080e23677024361051c76f5c1dbc2f4aeed4413f05edee198ecc93435fbbafcd\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "f76f1f798d98: Pulling fs layer", "c648b40a2fdc: Pulling fs layer", "7eddb375bf85: Pulling fs layer", "f76f1f798d98: Verifying Checksum", "f76f1f798d98: Download complete", "f76f1f798d98: Pull complete", "c648b40a2fdc: Verifying Checksum", "c648b40a2fdc: Download complete", "7eddb375bf85: Verifying Checksum", "7eddb375bf85: Download complete", "c648b40a2fdc: Pull complete", "7eddb375bf85: Pull complete", "Digest: sha256:080e23677024361051c76f5c1dbc2f4aeed4413f05edee198ecc93435fbbafcd", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-config-svcmonitor) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_4_2-3", "delta": "0:00:00.690297", "end": "2025-10-08 22:10:07.950210", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-10-08 22:10:07.259913", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n4c9e456ad788: Pulling fs layer\nfd6716a93c3a: Pulling fs layer\n4c9e456ad788: Verifying Checksum\n4c9e456ad788: Download complete\n4c9e456ad788: Pull complete\nfd6716a93c3a: Download complete\nfd6716a93c3a: Pull complete\nDigest: sha256:38dc7e14d6f694940b097d0a7b1fed522b084cba46ce2a51243f80364828adb6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "4c9e456ad788: Pulling fs layer", "fd6716a93c3a: Pulling fs layer", "4c9e456ad788: Verifying Checksum", "4c9e456ad788: Download complete", "4c9e456ad788: Pull complete", "fd6716a93c3a: Download complete", "fd6716a93c3a: Pull complete", "Digest: sha256:38dc7e14d6f694940b097d0a7b1fed522b084cba46ce2a51243f80364828adb6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-config-schema) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_4_2-3", "delta": "0:00:00.439563", "end": "2025-10-08 22:10:08.815035", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-10-08 22:10:08.375472", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n00cabdf8a9af: Pulling fs layer\ne4ddeacd598e: Pulling fs layer\ne4ddeacd598e: Verifying Checksum\ne4ddeacd598e: Download complete\n00cabdf8a9af: Verifying Checksum\n00cabdf8a9af: Download complete\n00cabdf8a9af: Pull complete\ne4ddeacd598e: Pull complete\nDigest: sha256:c3453822c5870b2545bef7e4ed992e3b6038bbdcacf901f6160758a50f112634\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "00cabdf8a9af: Pulling fs layer", "e4ddeacd598e: Pulling fs layer", "e4ddeacd598e: Verifying Checksum", "e4ddeacd598e: Download complete", "00cabdf8a9af: Verifying Checksum", "00cabdf8a9af: Download complete", "00cabdf8a9af: Pull complete", "e4ddeacd598e: Pull complete", "Digest: sha256:c3453822c5870b2545bef7e4ed992e3b6038bbdcacf901f6160758a50f112634", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-config-devicemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_4_2-3", "delta": "0:00:06.900343", "end": "2025-10-08 22:10:16.110504", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:10:09.210161", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n0202c57e88eb: Pulling fs layer\na60b662baa37: Pulling fs layer\n6f5e5e4b96c7: Pulling fs layer\n6f5e5e4b96c7: Verifying Checksum\n6f5e5e4b96c7: Download complete\n0202c57e88eb: Download complete\n0202c57e88eb: Pull complete\na60b662baa37: Verifying Checksum\na60b662baa37: Download complete\na60b662baa37: Pull complete\n6f5e5e4b96c7: Pull complete\nDigest: sha256:a8acd4eb5ed44775aca32354ed93294bf851d680b802c67dcd43d0ea1b167e2c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "0202c57e88eb: Pulling fs layer", "a60b662baa37: Pulling fs layer", "6f5e5e4b96c7: Pulling fs layer", "6f5e5e4b96c7: Verifying Checksum", "6f5e5e4b96c7: Download complete", "0202c57e88eb: Download complete", "0202c57e88eb: Pull complete", "a60b662baa37: Verifying Checksum", "a60b662baa37: Download complete", "a60b662baa37: Pull complete", "6f5e5e4b96c7: Pull complete", "Digest: sha256:a8acd4eb5ed44775aca32354ed93294bf851d680b802c67dcd43d0ea1b167e2c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-config-dnsmasq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_4_2-3", "delta": "0:00:00.491634", "end": "2025-10-08 22:10:17.098305", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-10-08 22:10:16.606671", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n9dac65cb755d: Pulling fs layer\n169bad7a9cf8: Pulling fs layer\na92f86d4aff5: Pulling fs layer\n475cc311eb93: Pulling fs layer\n475cc311eb93: Waiting\n169bad7a9cf8: Verifying Checksum\n169bad7a9cf8: Download complete\n9dac65cb755d: Verifying Checksum\n9dac65cb755d: Download complete\na92f86d4aff5: Verifying Checksum\na92f86d4aff5: Download complete\n9dac65cb755d: Pull complete\n169bad7a9cf8: Pull complete\n475cc311eb93: Verifying Checksum\n475cc311eb93: Download complete\na92f86d4aff5: Pull complete\n475cc311eb93: Pull complete\nDigest: sha256:6a2d3ce74f03eb98c58577a260452b935a0c7d24d795841ad8b0ab89f3eeda42\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "9dac65cb755d: Pulling fs layer", "169bad7a9cf8: Pulling fs layer", "a92f86d4aff5: Pulling fs layer", "475cc311eb93: Pulling fs layer", "475cc311eb93: Waiting", "169bad7a9cf8: Verifying Checksum", "169bad7a9cf8: Download complete", "9dac65cb755d: Verifying Checksum", "9dac65cb755d: Download complete", "a92f86d4aff5: Verifying Checksum", "a92f86d4aff5: Download complete", "9dac65cb755d: Pull complete", "169bad7a9cf8: Pull complete", "475cc311eb93: Verifying Checksum", "475cc311eb93: Download complete", "a92f86d4aff5: Pull complete", "475cc311eb93: Pull complete", "Digest: sha256:6a2d3ce74f03eb98c58577a260452b935a0c7d24d795841ad8b0ab89f3eeda42", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.106407", "end": "2025-10-08 22:10:17.615335", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:10:17.508928", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_config : create /etc/contrail/config] **************************** changed: [10.0.0.23] => {"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.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config : create /etc/contrail/common_config.env] ***************** changed: [10.0.0.23] => {"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.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => {"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.23]: 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.23] => {"ansible_facts": {"use_external_tftp": false}, "changed": false} TASK [opensdn_config : check if ironic_pxe is deployed on node] **************** fatal: [10.0.0.23]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.022499", "end": "2025-10-08 22:10:33.840844", "msg": "non-zero return code", "rc": 1, "start": "2025-10-08 22:10:33.818345", "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.23] => {"changed": true, "checksum": "175daf03e55dd7dcee5abfc85ef226f5281a9547", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "fc8d8936d8ea9a4f6ff25f3a6dae6385", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961434.1026068-61765-134255901561074/source", "state": "file", "uid": 0} TASK [opensdn_config : start contrail config] ********************************** changed: [10.0.0.23] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "7ec048688ac48eeb987dc47eaba80e7f86cc350d2ed72e705ca069e52df8da47", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Controller Configuration API provides a REST API to an orchestration system.", "io.opensdn.container.name": "opensdn-controller-config-api", "io.opensdn.pod": "config", "io.opensdn.service": "api", "name": "opensdn-controller-config-api", "release": "5.1.0", "summary": "Contrail Controller Configuration API", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "3340affc10b7bcf98c4b336ad07bf0de66342cefb41034a6db5ea0528b6ed468", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "devicemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Device Manager is used to manage network devices in the Contrail system.", "io.opensdn.container.name": "opensdn-controller-config-devicemgr", "io.opensdn.pod": "config", "io.opensdn.service": "device-manager", "name": "opensdn-controller-config-devicemgr", "release": "5.1.0", "summary": "Contrail Device Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "d00da19266e9b27b8995c456a88f2c73aaa5ea8796a305b2bde04eda0f25b68e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "dnsmasq", "com.docker.compose.version": "1.29.2", "description": "Contrail Dnsmasq provides network infrastructure: DNS, DHCP, router advertisement and network boot.", "io.opensdn.container.name": "opensdn-controller-config-dnsmasq", "io.opensdn.pod": "config", "io.opensdn.service": "dnsmasq", "name": "opensdn-controller-config-dnsmasq", "release": "5.1.0", "summary": "Contrail Dnsmasq", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "42d0023970a6b3a1a156b44725f277060504d79cef70a8ffa1226e850eea62ed", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "a35cc9654e94335813b4d9f0b0d0bb45b7ffb7994b984d153ef3533d063e46c0", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "0976ca0d5a2c2519ba102880fb652e88444d0b2d2afbeb5a526cb6cb7e8b83b1", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "schema", "com.docker.compose.version": "1.29.2", "description": "Contrail Schema Transformer compiles the high level, intent based data model into a low level configuration data model.", "io.opensdn.container.name": "opensdn-controller-config-schema", "io.opensdn.pod": "config", "io.opensdn.service": "schema", "name": "opensdn-controller-config-schema", "release": "5.1.0", "summary": "Contrail VNC Configuration Schema Transformer", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "6dbbce8da2000061435b66d1163a910960f6cc9d85c8f3b99f4cd0447f70612e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "svcmonitor", "com.docker.compose.version": "1.29.2", "description": "Contrail Service Monitor brings up and monitors any service instance that are spawned.", "io.opensdn.container.name": "opensdn-controller-config-svcmonitor", "io.opensdn.pod": "config", "io.opensdn.service": "svc-monitor", "name": "opensdn-controller-config-svcmonitor", "release": "5.1.0", "summary": "Contrail Service Monitor", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-controller-webui-web) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_4_2-3", "delta": "0:00:08.230900", "end": "2025-10-08 22:10:46.700186", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-10-08 22:10:38.469286", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nc017c643b4f8: Pulling fs layer\n360b295eca29: Pulling fs layer\n1b9587ee53ab: Pulling fs layer\na2c075d7c959: Pulling fs layer\n5a5c383bf3ec: Pulling fs layer\nd116f725daf0: Pulling fs layer\nd82b148cee81: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\na2c075d7c959: Waiting\n5a5c383bf3ec: Waiting\nd116f725daf0: Waiting\nd82b148cee81: Waiting\n4f4fb700ef54: Waiting\nc017c643b4f8: Verifying Checksum\nc017c643b4f8: Download complete\na2c075d7c959: Verifying Checksum\na2c075d7c959: Download complete\n5a5c383bf3ec: Verifying Checksum\n5a5c383bf3ec: Download complete\nd116f725daf0: Verifying Checksum\nd116f725daf0: Download complete\nd82b148cee81: Verifying Checksum\nd82b148cee81: Download complete\n4f4fb700ef54: Verifying Checksum\n360b295eca29: Verifying Checksum\n360b295eca29: Download complete\nc017c643b4f8: Pull complete\n1b9587ee53ab: Verifying Checksum\n1b9587ee53ab: Download complete\n360b295eca29: Pull complete\n1b9587ee53ab: Pull complete\na2c075d7c959: Pull complete\n5a5c383bf3ec: Pull complete\nd116f725daf0: Pull complete\nd82b148cee81: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:9729d3b427b0f50a30c352f6da7c6d6f497815bc97f9f6e792c188fe4b2be433\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "c017c643b4f8: Pulling fs layer", "360b295eca29: Pulling fs layer", "1b9587ee53ab: Pulling fs layer", "a2c075d7c959: Pulling fs layer", "5a5c383bf3ec: Pulling fs layer", "d116f725daf0: Pulling fs layer", "d82b148cee81: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "a2c075d7c959: Waiting", "5a5c383bf3ec: Waiting", "d116f725daf0: Waiting", "d82b148cee81: Waiting", "4f4fb700ef54: Waiting", "c017c643b4f8: Verifying Checksum", "c017c643b4f8: Download complete", "a2c075d7c959: Verifying Checksum", "a2c075d7c959: Download complete", "5a5c383bf3ec: Verifying Checksum", "5a5c383bf3ec: Download complete", "d116f725daf0: Verifying Checksum", "d116f725daf0: Download complete", "d82b148cee81: Verifying Checksum", "d82b148cee81: Download complete", "4f4fb700ef54: Verifying Checksum", "360b295eca29: Verifying Checksum", "360b295eca29: Download complete", "c017c643b4f8: Pull complete", "1b9587ee53ab: Verifying Checksum", "1b9587ee53ab: Download complete", "360b295eca29: Pull complete", "1b9587ee53ab: Pull complete", "a2c075d7c959: Pull complete", "5a5c383bf3ec: Pull complete", "d116f725daf0: Pull complete", "d82b148cee81: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:9729d3b427b0f50a30c352f6da7c6d6f497815bc97f9f6e792c188fe4b2be433", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-webui-job) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_4_2-3", "delta": "0:00:00.464665", "end": "2025-10-08 22:10:47.596814", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-10-08 22:10:47.132149", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nc017c643b4f8: Already exists\n360b295eca29: Already exists\n1b9587ee53ab: Already exists\na2c075d7c959: Already exists\n5a5c383bf3ec: Already exists\nd116f725daf0: Already exists\nd82b148cee81: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:974b4814138cb83c443ea65e56920fb6c0b47cbf58eb65f758ca096d3e5582fa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "c017c643b4f8: Already exists", "360b295eca29: Already exists", "1b9587ee53ab: Already exists", "a2c075d7c959: Already exists", "5a5c383bf3ec: Already exists", "d116f725daf0: Already exists", "d82b148cee81: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:974b4814138cb83c443ea65e56920fb6c0b47cbf58eb65f758ca096d3e5582fa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_4_2-3"]} TASK [opensdn_webui : create /etc/contrail/webui] ****************************** changed: [10.0.0.23] => {"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.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_webui : create /etc/contrail/common_webui.env] ******************* changed: [10.0.0.23] => {"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.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => {"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.23]: 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.23] => {"changed": true, "checksum": "c4368d7d3ab8132c25b669ec33ee425fccfd92fe", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "4d3f1d4bb54950af1d3f94440562eb46", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961463.7401977-65359-105803713033031/source", "state": "file", "uid": 0} TASK [opensdn_webui : start contrail webui] ************************************ changed: [10.0.0.23] => {"changed": true, "services": {"job": {"webui_job_1": {"cmd": ["/usr/bin/node", "jobServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "b5dd599cbd73cb0be808735f874a5438f8bcdf1ea900bef61725a353af663708", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "job", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI Job middleware handles jobs from the WebUI service and contacts other Contrail services to execute them.", "io.opensdn.container.name": "opensdn-controller-webui-job", "io.opensdn.pod": "webui", "io.opensdn.service": "job", "name": "opensdn-controller-webui-job", "release": "5.1.0", "summary": "Contrail WEB UI Job", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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_0_4_2-3", "labels": {"com.docker.compose.config-hash": "5ea331e07a7ef2f036baef35481c60f7d42384a2aa69433c6c3a561d1e24802c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "web", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI provides the Web UI service to end user.", "io.opensdn.container.name": "opensdn-controller-webui-web", "io.opensdn.pod": "webui", "io.opensdn.service": "web", "name": "opensdn-controller-webui-web", "release": "5.1.0", "summary": "Contrail WEB UI", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.109819", "end": "2025-10-08 22:11:07.523617", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:11:07.413798", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.109291", "end": "2025-10-08 22:11:08.043414", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:11:07.934123", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-control-control) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_4_2-3", "delta": "0:00:06.195703", "end": "2025-10-08 22:11:14.654157", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-10-08 22:11:08.458454", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n9ffbf531f98f: Pulling fs layer\nca5d03f9f319: Pulling fs layer\n6bf8597ecbc3: Pulling fs layer\n7495ee2b535b: Pulling fs layer\n7495ee2b535b: Waiting\n6bf8597ecbc3: Download complete\n7495ee2b535b: Verifying Checksum\n7495ee2b535b: Download complete\n9ffbf531f98f: Verifying Checksum\n9ffbf531f98f: Download complete\n9ffbf531f98f: Pull complete\nca5d03f9f319: Verifying Checksum\nca5d03f9f319: Download complete\nca5d03f9f319: Pull complete\n6bf8597ecbc3: Pull complete\n7495ee2b535b: Pull complete\nDigest: sha256:b6ea343eae3be281bcf9c3db6cb931e67ef2fb934f66093426d13e666493f502\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "9ffbf531f98f: Pulling fs layer", "ca5d03f9f319: Pulling fs layer", "6bf8597ecbc3: Pulling fs layer", "7495ee2b535b: Pulling fs layer", "7495ee2b535b: Waiting", "6bf8597ecbc3: Download complete", "7495ee2b535b: Verifying Checksum", "7495ee2b535b: Download complete", "9ffbf531f98f: Verifying Checksum", "9ffbf531f98f: Download complete", "9ffbf531f98f: Pull complete", "ca5d03f9f319: Verifying Checksum", "ca5d03f9f319: Download complete", "ca5d03f9f319: Pull complete", "6bf8597ecbc3: Pull complete", "7495ee2b535b: Pull complete", "Digest: sha256:b6ea343eae3be281bcf9c3db6cb931e67ef2fb934f66093426d13e666493f502", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-control-named) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_4_2-3", "delta": "0:00:00.461287", "end": "2025-10-08 22:11:15.551221", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-10-08 22:11:15.089934", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n9ffbf531f98f: Already exists\nc7781bb70f92: Pulling fs layer\n26d4bb0c144b: Pulling fs layer\na9daf852703d: Pulling fs layer\ne11584303355: Pulling fs layer\nb6816da9b25f: Pulling fs layer\neb39ea1cd5a8: Pulling fs layer\nb6816da9b25f: Waiting\neb39ea1cd5a8: Waiting\ne11584303355: Waiting\nc7781bb70f92: Download complete\n26d4bb0c144b: Download complete\na9daf852703d: Download complete\nc7781bb70f92: Pull complete\nb6816da9b25f: Download complete\ne11584303355: Verifying Checksum\ne11584303355: Download complete\neb39ea1cd5a8: Download complete\n26d4bb0c144b: Pull complete\na9daf852703d: Pull complete\ne11584303355: Pull complete\nb6816da9b25f: Pull complete\neb39ea1cd5a8: Pull complete\nDigest: sha256:e9e3ab8b20afc0b802a49a83f595ec64e6026fb5c87a2902b5b32bffe6e9b3c5\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "9ffbf531f98f: Already exists", "c7781bb70f92: Pulling fs layer", "26d4bb0c144b: Pulling fs layer", "a9daf852703d: Pulling fs layer", "e11584303355: Pulling fs layer", "b6816da9b25f: Pulling fs layer", "eb39ea1cd5a8: Pulling fs layer", "b6816da9b25f: Waiting", "eb39ea1cd5a8: Waiting", "e11584303355: Waiting", "c7781bb70f92: Download complete", "26d4bb0c144b: Download complete", "a9daf852703d: Download complete", "c7781bb70f92: Pull complete", "b6816da9b25f: Download complete", "e11584303355: Verifying Checksum", "e11584303355: Download complete", "eb39ea1cd5a8: Download complete", "26d4bb0c144b: Pull complete", "a9daf852703d: Pull complete", "e11584303355: Pull complete", "b6816da9b25f: Pull complete", "eb39ea1cd5a8: Pull complete", "Digest: sha256:e9e3ab8b20afc0b802a49a83f595ec64e6026fb5c87a2902b5b32bffe6e9b3c5", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-controller-control-dns) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_4_2-3", "delta": "0:00:03.173248", "end": "2025-10-08 22:11:19.139173", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-10-08 22:11:15.965925", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n9ffbf531f98f: Already exists\nadc1a70e5e33: Pulling fs layer\ndbc05ba06549: Pulling fs layer\n21b67bac60b5: Pulling fs layer\n0ebe4186afa1: Pulling fs layer\nd1d87850b9ed: Pulling fs layer\n97f6a013b286: Pulling fs layer\nc2d50f4d23d4: Pulling fs layer\n132fa1d41649: Pulling fs layer\n87564c978df6: Pulling fs layer\n0ebe4186afa1: Waiting\nd1d87850b9ed: Waiting\n97f6a013b286: Waiting\nc2d50f4d23d4: Waiting\n132fa1d41649: Waiting\n87564c978df6: Waiting\n21b67bac60b5: Verifying Checksum\n21b67bac60b5: Download complete\ndbc05ba06549: Verifying Checksum\ndbc05ba06549: Download complete\n0ebe4186afa1: Download complete\nd1d87850b9ed: Verifying Checksum\nd1d87850b9ed: Download complete\n97f6a013b286: Verifying Checksum\n97f6a013b286: Download complete\nc2d50f4d23d4: Verifying Checksum\nc2d50f4d23d4: Download complete\n132fa1d41649: Verifying Checksum\n132fa1d41649: Download complete\n87564c978df6: Verifying Checksum\n87564c978df6: Download complete\nadc1a70e5e33: Verifying Checksum\nadc1a70e5e33: Download complete\nadc1a70e5e33: Pull complete\ndbc05ba06549: Pull complete\n21b67bac60b5: Pull complete\n0ebe4186afa1: Pull complete\nd1d87850b9ed: Pull complete\n97f6a013b286: Pull complete\nc2d50f4d23d4: Pull complete\n132fa1d41649: Pull complete\n87564c978df6: Pull complete\nDigest: sha256:4c49d186ae3982989e794a96cd643e2b4cf28889a428f5a4085bb0099d854753\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "9ffbf531f98f: Already exists", "adc1a70e5e33: Pulling fs layer", "dbc05ba06549: Pulling fs layer", "21b67bac60b5: Pulling fs layer", "0ebe4186afa1: Pulling fs layer", "d1d87850b9ed: Pulling fs layer", "97f6a013b286: Pulling fs layer", "c2d50f4d23d4: Pulling fs layer", "132fa1d41649: Pulling fs layer", "87564c978df6: Pulling fs layer", "0ebe4186afa1: Waiting", "d1d87850b9ed: Waiting", "97f6a013b286: Waiting", "c2d50f4d23d4: Waiting", "132fa1d41649: Waiting", "87564c978df6: Waiting", "21b67bac60b5: Verifying Checksum", "21b67bac60b5: Download complete", "dbc05ba06549: Verifying Checksum", "dbc05ba06549: Download complete", "0ebe4186afa1: Download complete", "d1d87850b9ed: Verifying Checksum", "d1d87850b9ed: Download complete", "97f6a013b286: Verifying Checksum", "97f6a013b286: Download complete", "c2d50f4d23d4: Verifying Checksum", "c2d50f4d23d4: Download complete", "132fa1d41649: Verifying Checksum", "132fa1d41649: Download complete", "87564c978df6: Verifying Checksum", "87564c978df6: Download complete", "adc1a70e5e33: Verifying Checksum", "adc1a70e5e33: Download complete", "adc1a70e5e33: Pull complete", "dbc05ba06549: Pull complete", "21b67bac60b5: Pull complete", "0ebe4186afa1: Pull complete", "d1d87850b9ed: Pull complete", "97f6a013b286: Pull complete", "c2d50f4d23d4: Pull complete", "132fa1d41649: Pull complete", "87564c978df6: Pull complete", "Digest: sha256:4c49d186ae3982989e794a96cd643e2b4cf28889a428f5a4085bb0099d854753", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.093005", "end": "2025-10-08 22:11:19.736976", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:11:19.643971", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_control : create /etc/contrail/control] ************************** changed: [10.0.0.23] => {"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.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_control : create /etc/contrail/common_control.env] *************** changed: [10.0.0.23] => {"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.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => {"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.23]: 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.23] => {"changed": true, "checksum": "318d45ba5d887b2fcb9cdac04d449a21a4f5d411", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1545f8fe70479e777299ebeefb08b895", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961495.905539-69137-135781589550615/source", "state": "file", "uid": 0} TASK [opensdn_control : start contrail control] ******************************** changed: [10.0.0.23] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "f95925be9e20b27ef3db7e7562e5ee37aa18f0c160ee1a9b8b4eb00d2e63bf06", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "control", "com.docker.compose.version": "1.29.2", "description": "Contrail Control is xmpp/bgp based routing engine for Contrail.", "io.opensdn.container.name": "opensdn-controller-control-control", "io.opensdn.pod": "control", "io.opensdn.service": "control", "name": "opensdn-controller-control-control", "release": "5.1.0", "summary": "Contrail Controller", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "2fb68d1aa419d4803c94f1d1980b6eb81f7b2fc3e84a52f2ddbe68696452cee1", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "dns", "com.docker.compose.version": "1.29.2", "description": "Contrail DNS provides DNS service to the VMs spawned on compute nodes.", "io.opensdn.container.name": "opensdn-controller-control-dns", "io.opensdn.pod": "control", "io.opensdn.service": "dns", "name": "opensdn-controller-control-dns", "release": "5.1.0", "summary": "Contrail DNS", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "0f212280143a547ef81cecfd4155498a3b5b6fe33bbeda7c2c0e8ccf2df63d88", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "named", "com.docker.compose.version": "1.29.2", "description": "Contrail Named complements Contrail DNS service.", "io.opensdn.container.name": "opensdn-controller-control-named", "io.opensdn.pod": "control", "io.opensdn.service": "named", "name": "opensdn-controller-control-named", "release": "5.1.0", "summary": "Contrail Named", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "5ce91c45e140ce6943a6f370ef4dd5b1ff1f4ad50e0da345b0f92ae73955736a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "60adbceca300f3a937e2b3dcd84ee781f0bfd10924bd07d50f90de77fa6b3c74", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.270660", "end": "2025-10-08 22:11:40.300173", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:11:40.029513", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.097690", "end": "2025-10-08 22:11:40.853395", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:11:40.755705", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-analytics-query-engine) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_4_2-3", "delta": "0:00:02.087027", "end": "2025-10-08 22:11:43.344536", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-10-08 22:11:41.257509", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n6afa1afb7cd5: Pulling fs layer\nf96bcbd389a5: Pulling fs layer\n29fab42056d9: Pulling fs layer\n6afa1afb7cd5: Verifying Checksum\n6afa1afb7cd5: Download complete\n6afa1afb7cd5: Pull complete\n29fab42056d9: Verifying Checksum\nf96bcbd389a5: Verifying Checksum\nf96bcbd389a5: Download complete\nf96bcbd389a5: Pull complete\n29fab42056d9: Pull complete\nDigest: sha256:4512eae979add56e241099841ec04bebeabed303333a9ef1324a0c51f9244ee3\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "6afa1afb7cd5: Pulling fs layer", "f96bcbd389a5: Pulling fs layer", "29fab42056d9: Pulling fs layer", "6afa1afb7cd5: Verifying Checksum", "6afa1afb7cd5: Download complete", "6afa1afb7cd5: Pull complete", "29fab42056d9: Verifying Checksum", "f96bcbd389a5: Verifying Checksum", "f96bcbd389a5: Download complete", "f96bcbd389a5: Pull complete", "29fab42056d9: Pull complete", "Digest: sha256:4512eae979add56e241099841ec04bebeabed303333a9ef1324a0c51f9244ee3", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "delta": "0:00:00.097308", "end": "2025-10-08 22:11:43.853018", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-10-08 22:11:43.755710", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-external-cassandra\nDigest: sha256:ce81da04cddba870402944e504abecb6c40da9bba021e83b64233cbf88076bee\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-external-cassandra", "Digest: sha256:ce81da04cddba870402944e504abecb6c40da9bba021e83b64233cbf88076bee", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.094897", "end": "2025-10-08 22:11:44.351061", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:11:44.256164", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] **** changed: [10.0.0.23] => {"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.23] => {"ansible_facts": {"cassandra_seeds": "10.0.0.23"}, "changed": false} TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] *** ok: [10.0.0.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] *** changed: [10.0.0.23] => {"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.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => {"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.23]: 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.23] => {"changed": true, "checksum": "cff38b08619ba98839fe4e878131114296dfbe98", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "d67b966ffc4cde1bfdee9a230d1ffc7a", "mode": "0644", "owner": "root", "size": 3013, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961520.444465-72670-112370351449802/source", "state": "file", "uid": 0} TASK [opensdn_analytics_database : start contrail analyticsdb] ***************** changed: [10.0.0.23] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "f14bea18ed6372ec5d564148e90eed6757639320160ac1456b290776240b8069", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "c7a3602d63776fe56134e0914001c577ac4c4c9533db4d574c10db45b4d1b0cf", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "ea74c95540a77a65b6a40ab8fcb5e20b7ce18e61eb47fd0cbfd72d4d2e4d89c5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "34ae657a596df0c2ae6958266cc9a34d978c0cc21d4e6668db6191607cecb60b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "query-engine", "com.docker.compose.version": "1.29.2", "description": "Contrail Query Engine handles the queries to access data from Analytics DB.", "io.opensdn.container.name": "opensdn-analytics-query-engine", "io.opensdn.pod": "database", "io.opensdn.service": "query-engine", "name": "opensdn-analytics-query-engine", "release": "5.1.0", "summary": "Contrail Query Engine", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.102293", "end": "2025-10-08 22:12:03.463538", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:12:03.361245", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.109438", "end": "2025-10-08 22:12:03.976635", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:12:03.867197", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-analytics-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_4_2-3", "delta": "0:00:02.000651", "end": "2025-10-08 22:12:06.388217", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-10-08 22:12:04.387566", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\nd6e678a341e0: Pulling fs layer\nced16b0a3c4d: Pulling fs layer\nf7b8c4b0ce52: Pulling fs layer\n749cfb07a967: Pulling fs layer\n1512956635e3: Pulling fs layer\n749cfb07a967: Waiting\n1512956635e3: Waiting\nd6e678a341e0: Verifying Checksum\nd6e678a341e0: Download complete\nf7b8c4b0ce52: Verifying Checksum\nf7b8c4b0ce52: Download complete\nced16b0a3c4d: Verifying Checksum\nced16b0a3c4d: Download complete\n749cfb07a967: Download complete\nd6e678a341e0: Pull complete\nced16b0a3c4d: Pull complete\n1512956635e3: Verifying Checksum\n1512956635e3: Download complete\nf7b8c4b0ce52: Pull complete\n749cfb07a967: Pull complete\n1512956635e3: Pull complete\nDigest: sha256:ca47a3cfa5fff8154797d60217ef3eed02d24c99570ec8f30e1f44b0311eb76f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "d6e678a341e0: Pulling fs layer", "ced16b0a3c4d: Pulling fs layer", "f7b8c4b0ce52: Pulling fs layer", "749cfb07a967: Pulling fs layer", "1512956635e3: Pulling fs layer", "749cfb07a967: Waiting", "1512956635e3: Waiting", "d6e678a341e0: Verifying Checksum", "d6e678a341e0: Download complete", "f7b8c4b0ce52: Verifying Checksum", "f7b8c4b0ce52: Download complete", "ced16b0a3c4d: Verifying Checksum", "ced16b0a3c4d: Download complete", "749cfb07a967: Download complete", "d6e678a341e0: Pull complete", "ced16b0a3c4d: Pull complete", "1512956635e3: Verifying Checksum", "1512956635e3: Download complete", "f7b8c4b0ce52: Pull complete", "749cfb07a967: Pull complete", "1512956635e3: Pull complete", "Digest: sha256:ca47a3cfa5fff8154797d60217ef3eed02d24c99570ec8f30e1f44b0311eb76f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-analytics-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_4_2-3", "delta": "0:00:03.054171", "end": "2025-10-08 22:12:09.893057", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-10-08 22:12:06.838886", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n5b2d92e80050: Pulling fs layer\ncd01bfd504b6: Pulling fs layer\n1371a811db4b: Pulling fs layer\n5b2d92e80050: Verifying Checksum\n5b2d92e80050: Download complete\n5b2d92e80050: Pull complete\n1371a811db4b: Verifying Checksum\n1371a811db4b: Download complete\ncd01bfd504b6: Download complete\ncd01bfd504b6: Pull complete\n1371a811db4b: Pull complete\nDigest: sha256:4a17cd31aa19689f5f9cbd43f99739118563cb8c6b31554f0189179bcb7d2d93\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "5b2d92e80050: Pulling fs layer", "cd01bfd504b6: Pulling fs layer", "1371a811db4b: Pulling fs layer", "5b2d92e80050: Verifying Checksum", "5b2d92e80050: Download complete", "5b2d92e80050: Pull complete", "1371a811db4b: Verifying Checksum", "1371a811db4b: Download complete", "cd01bfd504b6: Download complete", "cd01bfd504b6: Pull complete", "1371a811db4b: Pull complete", "Digest: sha256:4a17cd31aa19689f5f9cbd43f99739118563cb8c6b31554f0189179bcb7d2d93", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.098889", "end": "2025-10-08 22:12:10.389011", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:12:10.290122", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_analytics : create /etc/contrail/analytics] ********************** changed: [10.0.0.23] => {"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.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] *********** changed: [10.0.0.23] => {"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.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.23] => {"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.23]: 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.23] => {"changed": true, "checksum": "298af716d759b36b51a18f9bb4f596c96babe81a", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "9e7e5a7dbd680f333dc5e950db664a48", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961546.181091-76860-127507201338955/source", "state": "file", "uid": 0} TASK [opensdn_analytics : start contrail analytics] **************************** changed: [10.0.0.23] => {"changed": true, "services": {"api": {"analytics_api_1": {"cmd": ["/usr/local/bin/contrail-analytics-api", "-c", "/etc/contrail/contrail-analytics-api.conf", "-c", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "a6839741879a9a9ed2bdabd81373427fad9ed6bbdd56261f306962e13e59c0b5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics API provides REST API to access collected analytics data.", "io.opensdn.container.name": "opensdn-analytics-api", "io.opensdn.pod": "analytics", "io.opensdn.service": "api", "name": "opensdn-analytics-api", "release": "5.1.0", "summary": "Contrail Analytics API", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "77c1c578e5ed01e019dd4d695ec0cea61b81afd84e134222355ef6d069f244fe", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "collector", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics Collector collects the running state of different processes sent by other nodes.", "io.opensdn.container.name": "opensdn-analytics-collector", "io.opensdn.pod": "analytics", "io.opensdn.service": "collector", "name": "opensdn-analytics-collector", "release": "5.1.0", "summary": "Contrail Analytics Collector", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "b7e2eacef9ee8e1404e098d9b01e3baedc012ad20e0e52a4afcd8f09a9a42fc5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "da2a15a4736175756006143a29a9eb80b11613009cfb815c82503c5490be93c4", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.101818", "end": "2025-10-08 22:12:29.389345", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:12:29.287527", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.099393", "end": "2025-10-08 22:12:29.912717", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:12:29.813324", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-analytics-alarm-gen) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_4_2-3", "delta": "0:00:00.485651", "end": "2025-10-08 22:12:30.801501", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-10-08 22:12:30.315850", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\n830d9943af3a: Pulling fs layer\n864d2bdc79e3: Pulling fs layer\n830d9943af3a: Download complete\n830d9943af3a: Pull complete\n864d2bdc79e3: Verifying Checksum\n864d2bdc79e3: Download complete\n864d2bdc79e3: Pull complete\nDigest: sha256:890285865b7ca84f2eafb166c6ae6d4983fd3e63259779dd886929dadaeb8387\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "830d9943af3a: Pulling fs layer", "864d2bdc79e3: Pulling fs layer", "830d9943af3a: Download complete", "830d9943af3a: Pull complete", "864d2bdc79e3: Verifying Checksum", "864d2bdc79e3: Download complete", "864d2bdc79e3: Pull complete", "Digest: sha256:890285865b7ca84f2eafb166c6ae6d4983fd3e63259779dd886929dadaeb8387", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-external-kafka) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_4_2-3", "delta": "0:00:07.176454", "end": "2025-10-08 22:12:38.420846", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-10-08 22:12:31.244392", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\n01ace17ac287: Pulling fs layer\ne12e40608edc: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Download complete\n01ace17ac287: Download complete\n01ace17ac287: Pull complete\ne12e40608edc: Verifying Checksum\ne12e40608edc: Download complete\ne12e40608edc: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:b347a4396f7f6ef3ba48d64b64a1b730a760be651912a9cd2fc710fcce89a78c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "01ace17ac287: Pulling fs layer", "e12e40608edc: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Download complete", "01ace17ac287: Download complete", "01ace17ac287: Pull complete", "e12e40608edc: Verifying Checksum", "e12e40608edc: Download complete", "e12e40608edc: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:b347a4396f7f6ef3ba48d64b64a1b730a760be651912a9cd2fc710fcce89a78c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.095678", "end": "2025-10-08 22:12:38.923568", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:12:38.827890", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] ********** changed: [10.0.0.23] => {"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.23] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.23"}, "changed": false} TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] *** changed: [10.0.0.23] => {"changed": true, "checksum": "122e4521328b1bf0e1f57eb6a190c20fa4f1a012", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "c99da0ba5c0edcf297b83ab3e6827fe7", "mode": "0644", "owner": "root", "size": 2475, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961559.8333418-78567-125679205309970/source", "state": "file", "uid": 0} TASK [opensdn_analytics_alarm : start contrail analytics_alarm] **************** changed: [10.0.0.23] => {"changed": true, "services": {"alarm-gen": {"analytics_alarm_alarm-gen_1": {"cmd": ["/usr/local/bin/contrail-alarm-gen", "-c", "/etc/contrail/contrail-alarm-gen.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "9d2f0ed15945d90eb69850cc568ae2e644d0695682551c18f03651f7e6d0393f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "alarm-gen", "com.docker.compose.version": "1.29.2", "description": "Contrail Alarm Generator generates alerts (alarms) which highlight unusual conditions that may require more urgent administrator attention and action.", "io.opensdn.container.name": "opensdn-analytics-alarm-gen", "io.opensdn.pod": "analytics-alarm", "io.opensdn.service": "alarm-gen", "name": "opensdn-analytics-alarm-gen", "release": "5.1.0", "summary": "Contrail Alarm Generator", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["bin/kafka-server-start.sh", "config/server.properties"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "ef5e93f7fd3a2ec42f9998c7d85d051b32ae4658e8b06523cb972587a5cf3c77", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "kafka", "com.docker.compose.version": "1.29.2", "description": "Contrail Kafka is used for streaming data in Analytics DB.", "io.opensdn.container.name": "opensdn-external-kafka", "io.opensdn.service": "kafka", "name": "opensdn-external-kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "c54f60e585b178132598b962b2833e4dc63787db8887348162da5e533aef1e1f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "913c234a881aedb717f5f56944421ed73c4cdb735ee1808a84efbcf2acc73b37", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.095769", "end": "2025-10-08 22:12:43.204050", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:12:43.108281", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.118857", "end": "2025-10-08 22:12:43.732841", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:12:43.613984", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-analytics-snmp-topology) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_4_2-3", "delta": "0:00:04.229443", "end": "2025-10-08 22:12:48.393217", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-10-08 22:12:44.163774", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\ne594ad096d34: Pulling fs layer\n3b4f15d792b4: Pulling fs layer\n20073ca5147e: Pulling fs layer\nb71ed1b4be52: Pulling fs layer\nb71ed1b4be52: Waiting\n20073ca5147e: Verifying Checksum\n20073ca5147e: Download complete\ne594ad096d34: Download complete\nb71ed1b4be52: Verifying Checksum\nb71ed1b4be52: Download complete\ne594ad096d34: Pull complete\n3b4f15d792b4: Verifying Checksum\n3b4f15d792b4: Download complete\n3b4f15d792b4: Pull complete\n20073ca5147e: Pull complete\nb71ed1b4be52: Pull complete\nDigest: sha256:ca746533da7828c5eeec08116f307430da14e539219a043f0b98a0cb7753de44\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "e594ad096d34: Pulling fs layer", "3b4f15d792b4: Pulling fs layer", "20073ca5147e: Pulling fs layer", "b71ed1b4be52: Pulling fs layer", "b71ed1b4be52: Waiting", "20073ca5147e: Verifying Checksum", "20073ca5147e: Download complete", "e594ad096d34: Download complete", "b71ed1b4be52: Verifying Checksum", "b71ed1b4be52: Download complete", "e594ad096d34: Pull complete", "3b4f15d792b4: Verifying Checksum", "3b4f15d792b4: Download complete", "3b4f15d792b4: Pull complete", "20073ca5147e: Pull complete", "b71ed1b4be52: Pull complete", "Digest: sha256:ca746533da7828c5eeec08116f307430da14e539219a043f0b98a0cb7753de44", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-analytics-snmp-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_4_2-3", "delta": "0:00:00.432034", "end": "2025-10-08 22:12:49.249349", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-10-08 22:12:48.817315", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\ne594ad096d34: Already exists\n3b4f15d792b4: Already exists\nd9d9b1b4bd34: Pulling fs layer\n875458262b1b: Pulling fs layer\n875458262b1b: Verifying Checksum\n875458262b1b: Download complete\nd9d9b1b4bd34: Download complete\nd9d9b1b4bd34: Pull complete\n875458262b1b: Pull complete\nDigest: sha256:51e6282dec9fb5c91c6fbdfab8538fd97340c05bde07acdfe737855b4fe0d787\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "e594ad096d34: Already exists", "3b4f15d792b4: Already exists", "d9d9b1b4bd34: Pulling fs layer", "875458262b1b: Pulling fs layer", "875458262b1b: Verifying Checksum", "875458262b1b: Download complete", "d9d9b1b4bd34: Download complete", "d9d9b1b4bd34: Pull complete", "875458262b1b: Pull complete", "Digest: sha256:51e6282dec9fb5c91c6fbdfab8538fd97340c05bde07acdfe737855b4fe0d787", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.137323", "end": "2025-10-08 22:12:49.802100", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:12:49.664777", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************ changed: [10.0.0.23] => {"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.23] => {"changed": true, "checksum": "13fb34f930698cc321f8da28b34c0306f3ac0f72", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "f5712e05c83d412de145df587a0aec9d", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961570.4896126-80903-169262957498106/source", "state": "file", "uid": 0} TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ****************** changed: [10.0.0.23] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "8c7547d7137cf18ca417fe7c5fefa75dfc8746d0abc9fea760c52521f13135fb", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "e9c9d27e6774e51b93303768aace784eea57e9a81ca59f08a2ec6e9edf7b5efe", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "70db6f233223308c9636d243cad1c20e319dcbe0837ee08a902d1f8c111d4278", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "snmp-collector", "com.docker.compose.version": "1.29.2", "description": "SNMP Collector collects data from switches(Spine/Leaf).", "io.opensdn.container.name": "opensdn-analytics-snmp-collector", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "snmp-collector", "name": "opensdn-analytics-snmp-collector", "release": "5.1.0", "summary": "SNMP Collector", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "7b916f0cc7fd3b3418c048eeb0c16e3f86c752f804d452f020cd96c320ecb53f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "topology", "com.docker.compose.version": "1.29.2", "description": "SNMP Topology periodically updates topology table, which is used by UI to draw maps.", "io.opensdn.container.name": "opensdn-analytics-snmp-topology", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "topology", "name": "opensdn-analytics-snmp-topology", "release": "5.1.0", "summary": "SNMP Topology", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => (item=opensdn-external-rsyslogd) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_4_2-3", "delta": "0:00:00.457474", "end": "2025-10-08 22:12:54.352060", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-10-08 22:12:53.894586", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\n592ff1fbec9e: Pulling fs layer\nd29ed4ef923a: Pulling fs layer\n4551261a5c4f: Pulling fs layer\nf05f35cf5fd4: Pulling fs layer\nf05f35cf5fd4: Waiting\n4551261a5c4f: Verifying Checksum\n4551261a5c4f: Download complete\n592ff1fbec9e: Verifying Checksum\nf05f35cf5fd4: Verifying Checksum\nf05f35cf5fd4: Download complete\n592ff1fbec9e: Pull complete\nd29ed4ef923a: Verifying Checksum\nd29ed4ef923a: Download complete\nd29ed4ef923a: Pull complete\n4551261a5c4f: Pull complete\nf05f35cf5fd4: Pull complete\nDigest: sha256:378d9aae5a7e7bdd89ff7318ae44d6b6e75b9d64f94101230e6318bdc941a8e7\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "592ff1fbec9e: Pulling fs layer", "d29ed4ef923a: Pulling fs layer", "4551261a5c4f: Pulling fs layer", "f05f35cf5fd4: Pulling fs layer", "f05f35cf5fd4: Waiting", "4551261a5c4f: Verifying Checksum", "4551261a5c4f: Download complete", "592ff1fbec9e: Verifying Checksum", "f05f35cf5fd4: Verifying Checksum", "f05f35cf5fd4: Download complete", "592ff1fbec9e: Pull complete", "d29ed4ef923a: Verifying Checksum", "d29ed4ef923a: Download complete", "d29ed4ef923a: Pull complete", "4551261a5c4f: Pull complete", "f05f35cf5fd4: Pull complete", "Digest: sha256:378d9aae5a7e7bdd89ff7318ae44d6b6e75b9d64f94101230e6318bdc941a8e7", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_4_2-3"]} TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************ changed: [10.0.0.23] => {"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.23] => {"changed": true, "checksum": "6327009a32bd8120add95aa9f3a885cb04c555ee", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "5d5758c8384ca3fbf28af78547dba7e8", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961574.9652758-82052-12243659135498/source", "state": "file", "uid": 0} TASK [opensdn_rsyslogd : start rsyslogd] *************************************** changed: [10.0.0.23] => {"changed": true, "services": {"rsyslogd": {"rsyslogd_rsyslogd_1": {"cmd": ["/bin/sh", "-c", "rsyslogd -n -f /etc/rsyslog.conf -i $RSYSLOGD_PIDFILE"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "d675b2d0c01991e349d9dd91946cff73d237bc1d843f99c5e19f2e2626f0ed42", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "rsyslogd", "com.docker.compose.project.config_files": "/etc/contrail/rsyslogd/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/rsyslogd", "com.docker.compose.service": "rsyslogd", "com.docker.compose.version": "1.29.2", "description": "Contrail rsyslogd support", "io.opensdn.container.name": "", "io.opensdn.service": "rsyslogd", "name": "", "release": "5.1.0", "summary": "Contrail rsyslogd", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => {"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.23] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "delta": "0:00:00.100042", "end": "2025-10-08 22:12:57.444825", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-08 22:12:57.344783", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-node-init\nDigest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-node-init", "Digest: sha256:113df958c0fa6a32aaed5c2dcb46e78c44d29f632e4b98dd5798003b9d5be9d3", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "delta": "0:00:00.098810", "end": "2025-10-08 22:12:57.949640", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-08 22:12:57.850830", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-nodemgr\nDigest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-nodemgr", "Digest: sha256:1693698a24d25d0d2986dc900286f63d191ce74095436323d7a580b179f865ce", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "delta": "0:00:00.098424", "end": "2025-10-08 22:12:58.508896", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-08 22:12:58.410472", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-provisioner\nDigest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-provisioner", "Digest: sha256:32373f34321f26e724ceda8c5c1882953eef875348ed34c40b1331a03e80405a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-vrouter-kernel-build-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_4_2-3", "delta": "0:00:06.254695", "end": "2025-10-08 22:13:05.209623", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-10-08 22:12:58.954928", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-vrouter-kernel-build-init\n02bf5e209e4a: Pulling fs layer\nb3e2f71a23d7: Pulling fs layer\nbe86d827b8ce: Pulling fs layer\n906354a3b4d3: Pulling fs layer\n9e1edd3d537f: Pulling fs layer\n661983f48ff7: Pulling fs layer\na6c217667cbb: Pulling fs layer\nfd68f8069fa5: Pulling fs layer\n661983f48ff7: Waiting\n906354a3b4d3: Waiting\n9e1edd3d537f: Waiting\na6c217667cbb: Waiting\nfd68f8069fa5: Waiting\nb3e2f71a23d7: Download complete\nbe86d827b8ce: Verifying Checksum\n906354a3b4d3: Verifying Checksum\n906354a3b4d3: Download complete\n9e1edd3d537f: Verifying Checksum\n9e1edd3d537f: Download complete\na6c217667cbb: Verifying Checksum\na6c217667cbb: Download complete\nfd68f8069fa5: Verifying Checksum\nfd68f8069fa5: Download complete\n02bf5e209e4a: Verifying Checksum\n02bf5e209e4a: Download complete\n02bf5e209e4a: Pull complete\nb3e2f71a23d7: Pull complete\nbe86d827b8ce: Pull complete\n906354a3b4d3: Pull complete\n9e1edd3d537f: Pull complete\n661983f48ff7: Verifying Checksum\n661983f48ff7: Download complete\n661983f48ff7: Pull complete\na6c217667cbb: Pull complete\nfd68f8069fa5: Pull complete\nDigest: sha256:aeecef6f3b670896ad468de4a06d0e62061941ab12b07df14b2971ac84ec1eed\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-vrouter-kernel-build-init", "02bf5e209e4a: Pulling fs layer", "b3e2f71a23d7: Pulling fs layer", "be86d827b8ce: Pulling fs layer", "906354a3b4d3: Pulling fs layer", "9e1edd3d537f: Pulling fs layer", "661983f48ff7: Pulling fs layer", "a6c217667cbb: Pulling fs layer", "fd68f8069fa5: Pulling fs layer", "661983f48ff7: Waiting", "906354a3b4d3: Waiting", "9e1edd3d537f: Waiting", "a6c217667cbb: Waiting", "fd68f8069fa5: Waiting", "b3e2f71a23d7: Download complete", "be86d827b8ce: Verifying Checksum", "906354a3b4d3: Verifying Checksum", "906354a3b4d3: Download complete", "9e1edd3d537f: Verifying Checksum", "9e1edd3d537f: Download complete", "a6c217667cbb: Verifying Checksum", "a6c217667cbb: Download complete", "fd68f8069fa5: Verifying Checksum", "fd68f8069fa5: Download complete", "02bf5e209e4a: Verifying Checksum", "02bf5e209e4a: Download complete", "02bf5e209e4a: Pull complete", "b3e2f71a23d7: Pull complete", "be86d827b8ce: Pull complete", "906354a3b4d3: Pull complete", "9e1edd3d537f: Pull complete", "661983f48ff7: Verifying Checksum", "661983f48ff7: Download complete", "661983f48ff7: Pull complete", "a6c217667cbb: Pull complete", "fd68f8069fa5: Pull complete", "Digest: sha256:aeecef6f3b670896ad468de4a06d0e62061941ab12b07df14b2971ac84ec1eed", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_4_2-3"]} changed: [10.0.0.23] => (item=opensdn-vrouter-agent) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_4_2-3", "delta": "0:00:11.239508", "end": "2025-10-08 22:13:16.923253", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-10-08 22:13:05.683745", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_4_2-3: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n7bcfecfc0ac4: Already exists\n3271be2be21d: Already exists\nb6cb8d7204d3: Already exists\n15833d01d1d5: Already exists\n14ec8806125c: Already exists\n9bbcb845e883: Already exists\nf100d3ecc6a4: Already exists\nccfbed45ece9: Already exists\nfdb34f477251: Already exists\n48f12b2f9854: Already exists\nb2609ab89bdd: Already exists\ncf2199472dc1: Pulling fs layer\nad5de887dc80: Pulling fs layer\n20b7cbbab146: Pulling fs layer\nb3c98a510a2b: Pulling fs layer\n36cb33b77948: Pulling fs layer\n34b5a66eb620: Pulling fs layer\n708e9978bd91: Pulling fs layer\nf5c95a720a7b: Pulling fs layer\ne3c4e7e4b8be: Pulling fs layer\n8290528ec007: Pulling fs layer\n538dd3f29794: Pulling fs layer\nabe7932268de: Pulling fs layer\nc967a7c44c8b: Pulling fs layer\n4124d01043c0: Pulling fs layer\ndacb73bed893: Pulling fs layer\nb3c98a510a2b: Waiting\n36cb33b77948: Waiting\n34b5a66eb620: Waiting\n708e9978bd91: Waiting\nf5c95a720a7b: Waiting\ne3c4e7e4b8be: Waiting\n8290528ec007: Waiting\n538dd3f29794: Waiting\nabe7932268de: Waiting\nc967a7c44c8b: Waiting\n4124d01043c0: Waiting\ndacb73bed893: Waiting\ncf2199472dc1: Download complete\nad5de887dc80: Verifying Checksum\nad5de887dc80: Download complete\nb3c98a510a2b: Download complete\ncf2199472dc1: Pull complete\n34b5a66eb620: Verifying Checksum\n34b5a66eb620: Download complete\n36cb33b77948: Verifying Checksum\n36cb33b77948: Download complete\nad5de887dc80: Pull complete\n708e9978bd91: Verifying Checksum\n708e9978bd91: Download complete\n20b7cbbab146: Verifying Checksum\n20b7cbbab146: Download complete\ne3c4e7e4b8be: Download complete\n8290528ec007: Verifying Checksum\n8290528ec007: Download complete\n538dd3f29794: Verifying Checksum\n538dd3f29794: Download complete\nc967a7c44c8b: Verifying Checksum\nc967a7c44c8b: Download complete\n4124d01043c0: Verifying Checksum\n4124d01043c0: Download complete\ndacb73bed893: Verifying Checksum\ndacb73bed893: Download complete\n20b7cbbab146: Pull complete\nb3c98a510a2b: Pull complete\n36cb33b77948: Pull complete\n34b5a66eb620: Pull complete\n708e9978bd91: Pull complete\nabe7932268de: Verifying Checksum\nabe7932268de: Download complete\nf5c95a720a7b: Download complete\nf5c95a720a7b: Pull complete\ne3c4e7e4b8be: Pull complete\n8290528ec007: Pull complete\n538dd3f29794: Pull complete\nabe7932268de: Pull complete\nc967a7c44c8b: Pull complete\n4124d01043c0: Pull complete\ndacb73bed893: Pull complete\nDigest: sha256:11cccb3e1a986abeb773c61652ac121aa1f35e89f45a2424e3a5511009260eb7\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_4_2-3\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_4_2-3", "stdout_lines": ["master-2_0_4_2-3: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "7bcfecfc0ac4: Already exists", "3271be2be21d: Already exists", "b6cb8d7204d3: Already exists", "15833d01d1d5: Already exists", "14ec8806125c: Already exists", "9bbcb845e883: Already exists", "f100d3ecc6a4: Already exists", "ccfbed45ece9: Already exists", "fdb34f477251: Already exists", "48f12b2f9854: Already exists", "b2609ab89bdd: Already exists", "cf2199472dc1: Pulling fs layer", "ad5de887dc80: Pulling fs layer", "20b7cbbab146: Pulling fs layer", "b3c98a510a2b: Pulling fs layer", "36cb33b77948: Pulling fs layer", "34b5a66eb620: Pulling fs layer", "708e9978bd91: Pulling fs layer", "f5c95a720a7b: Pulling fs layer", "e3c4e7e4b8be: Pulling fs layer", "8290528ec007: Pulling fs layer", "538dd3f29794: Pulling fs layer", "abe7932268de: Pulling fs layer", "c967a7c44c8b: Pulling fs layer", "4124d01043c0: Pulling fs layer", "dacb73bed893: Pulling fs layer", "b3c98a510a2b: Waiting", "36cb33b77948: Waiting", "34b5a66eb620: Waiting", "708e9978bd91: Waiting", "f5c95a720a7b: Waiting", "e3c4e7e4b8be: Waiting", "8290528ec007: Waiting", "538dd3f29794: Waiting", "abe7932268de: Waiting", "c967a7c44c8b: Waiting", "4124d01043c0: Waiting", "dacb73bed893: Waiting", "cf2199472dc1: Download complete", "ad5de887dc80: Verifying Checksum", "ad5de887dc80: Download complete", "b3c98a510a2b: Download complete", "cf2199472dc1: Pull complete", "34b5a66eb620: Verifying Checksum", "34b5a66eb620: Download complete", "36cb33b77948: Verifying Checksum", "36cb33b77948: Download complete", "ad5de887dc80: Pull complete", "708e9978bd91: Verifying Checksum", "708e9978bd91: Download complete", "20b7cbbab146: Verifying Checksum", "20b7cbbab146: Download complete", "e3c4e7e4b8be: Download complete", "8290528ec007: Verifying Checksum", "8290528ec007: Download complete", "538dd3f29794: Verifying Checksum", "538dd3f29794: Download complete", "c967a7c44c8b: Verifying Checksum", "c967a7c44c8b: Download complete", "4124d01043c0: Verifying Checksum", "4124d01043c0: Download complete", "dacb73bed893: Verifying Checksum", "dacb73bed893: Download complete", "20b7cbbab146: Pull complete", "b3c98a510a2b: Pull complete", "36cb33b77948: Pull complete", "34b5a66eb620: Pull complete", "708e9978bd91: Pull complete", "abe7932268de: Verifying Checksum", "abe7932268de: Download complete", "f5c95a720a7b: Download complete", "f5c95a720a7b: Pull complete", "e3c4e7e4b8be: Pull complete", "8290528ec007: Pull complete", "538dd3f29794: Pull complete", "abe7932268de: Pull complete", "c967a7c44c8b: Pull complete", "4124d01043c0: Pull complete", "dacb73bed893: Pull complete", "Digest: sha256:11cccb3e1a986abeb773c61652ac121aa1f35e89f45a2424e3a5511009260eb7", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_4_2-3", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_4_2-3"]} [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.23] => {"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.23] => {"changed": true, "checksum": "92e83a087f617c25aa61eac679c51c6d6cb0f045", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "8f8ab119fc71b9abe8f6796bdafc798f", "mode": "0640", "owner": "root", "size": 1026, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961597.9636269-83830-275676868457864/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.23] => {"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.23] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_vrouter : create contrail vrouter compose file] ****************** changed: [10.0.0.23] => {"changed": true, "checksum": "94969d21398f96da44b2366569032958e640a05c", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "99de16b47c1f8d40015b68b481b9d8b4", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759961599.5830295-84050-219088147988601/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] ***************** changed: [10.0.0.23] => {"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.23] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "65a68adc91cb4bbd92463fcadd056c3763d32679aa0aa760d9a90eb5a66c4c20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "3d459c3cff15422ad7d9177c98ebace8768d6b234bba5eb184569c322d99726c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "e86568b45c874901ae311a48ef6af737a667bf839d4daa2c1259d1fd441128f6", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "9959fb8ba6c251579dd2e006db1303efcfeae56d8fc1d096227d2325bad0fc09", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-agent", "com.docker.compose.version": "1.29.2", "description": "The vRouter agent is a user space process running inside Linux. It acts as the local, lightweight control plane.", "io.opensdn.container.name": "opensdn-vrouter-agent", "io.opensdn.pod": "vrouter", "io.opensdn.service": "agent", "name": "opensdn-vrouter-agent", "release": "5.1.0", "summary": "Contrail Vrouter Agent", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_4_2-3", "labels": {"com.docker.compose.config-hash": "9ad056a4fff16a02a24605f8edf6952c7d97c4a2c379007965d8140f3acb7f99", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-kernel-init", "com.docker.compose.version": "1.29.2", "description": "This image is used to build vrouter.ko for current ubuntu operating system that it's running on.", "io.opensdn.container.name": "opensdn-vrouter-kernel-build-init", "name": "opensdn-vrouter-kernel-build-init", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "24.04", "release": "5.1.0", "summary": "Contrail vrouter kernel module for ubuntu", "vendor": "OpenSDN-IO", "version": "master-2_0_4_2-3"}, "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.23] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false} PLAY RECAP ********************************************************************* 10.0.0.23 : ok=92 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7 localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0 INFO: done in 0s INFO: check time sync on nodes and force sync Wed Oct 8 22:14:26 UTC 2025 INFO: controller nodes - 10.0.0.23 INFO: agent nodes - 10.0.0.23 INFO: openstack controller nodes - INFO: sync time on machine ubuntu@10.0.0.23 Warning: Permanently added '10.0.0.23' (ED25519) to the list of known hosts. Warning: Permanently added '10.0.0.23' (ED25519) to the list of known hosts. INFO: Wed Oct 8 22:14:27 UTC 2025: ensure time is synced (chronyd) INFO: Wed Oct 8 22:14:27 UTC 2025: time is synced TF Web UI must be available at https://10.0.0.23:8143 OpenStack UI must be avaiable at http://10.0.0.23 Use admin/contrail123 to log in INFO: Stage tf was run successfully Wed Oct 8 22:14:27 UTC 2025 INFO: Running stage wait at Wed Oct 8 22:14:27 UTC 2025 INFO: done in 0s INFO: Stage wait was run successfully Wed Oct 8 22:14:34 UTC 2025 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-2_0_4_2-3 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_4_2-3 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.23 " AGENT_NODES="10.0.0.23" CONTROL_NODES="10.20.0.254 " SSL_ENABLE="false" LEGACY_ANALYTICS_ENABLE="true" HUGE_PAGES_1G= CONTAINER_RUNTIME=docker K8S_CA= DEPLOY_IPA_SERVER= IPA_PASSWORD= OPENSTACK_CONTROLLER_NODES='10.0.0.23' OS_AUTH_URL='http://10.0.0.23:5000/v3' AUTH_PASSWORD='contrail123' AUTH_URL='' INFO: Successful deployment Wed Oct 8 22:14:34 UTC 2025 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS