Started by upstream project "pipeline-check" build number 2839 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-vrouter/+/2144 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 b76fb9eb22c4f57cc3c7e7c7658cf9c0477dcfd6 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f b76fb9eb22c4f57cc3c7e7c7658cf9c0477dcfd6 # timeout=10 Commit message: "Merge "retry nslookup after vm start"" > git rev-list --no-walk b76fb9eb22c4f57cc3c7e7c7658cf9c0477dcfd6 # 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-check" build number 2839 [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins11235928915663593754.sh + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2839 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2839 ++ 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/44/2144/17/check_2839 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/44/2144/17/check_2839 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839 ++ 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_1_4_4-1_7 ++ CONTRAIL_CONTAINER_TAG=master-2_1_4_4-1_7 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 ++ 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_1_4_4-1_7 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I76b209049ecc0ba974d06086a815d85b0b3cf96f ++ GERRIT_CHANGE_ID=I76b209049ecc0ba974d06086a815d85b0b3cf96f ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-vrouter ++ GERRIT_PROJECT=opensdn-io/tf-vrouter ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + desc='Pipeline: pipeline-check-2839 Random: 98413 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-check-2839 Random: 98413 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839/ansible-os' DESCRIPTION Pipeline: pipeline-check-2839 Random: 98413 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839/ansible-os [description-setter] Description set: Pipeline: pipeline-check-2839 Random: 98413 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839/ansible-os' [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins2060417904589221822.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2839 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2839 ++ 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/44/2144/17/check_2839 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/44/2144/17/check_2839 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839 ++ 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_1_4_4-1_7 ++ CONTRAIL_CONTAINER_TAG=master-2_1_4_4-1_7 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 ++ 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_1_4_4-1_7 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I76b209049ecc0ba974d06086a815d85b0b3cf96f ++ GERRIT_CHANGE_ID=I76b209049ecc0ba974d06086a815d85b0b3cf96f ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-vrouter ++ GERRIT_PROJECT=opensdn-io/tf-vrouter ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-jenkins ./patchsets-info.json + ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-devstack ./patchsets-info.json [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins8366299232338752176.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2839 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2839 ++ 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/44/2144/17/check_2839 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/44/2144/17/check_2839 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/44/2144/17/check_2839 ++ 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_1_4_4-1_7 ++ CONTRAIL_CONTAINER_TAG=master-2_1_4_4-1_7 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 ++ 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_1_4_4-1_7 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_4-1_7 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I76b209049ecc0ba974d06086a815d85b0b3cf96f ++ GERRIT_CHANGE_ID=I76b209049ecc0ba974d06086a815d85b0b3cf96f ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-vrouter ++ GERRIT_PROJECT=opensdn-io/tf-vrouter ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + source ./src/opensdn-io/tf-jenkins/infra/openstack/definitions ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export OS_NETWORK=management ++ OS_NETWORK=management ++ export OS_DATA_NETWORK=data ++ OS_DATA_NETWORK=data ++ export OS_SG=default ++ OS_SG=default ++ export RESERVED_INSTANCES_COUNT=3 ++ RESERVED_INSTANCES_COUNT=3 ++ export RESERVED_CORES_COUNT=16 ++ RESERVED_CORES_COUNT=16 ++ export VM_BOOT_RETRIES=120 ++ VM_BOOT_RETRIES=120 ++ export VM_BOOT_DELAY=60 ++ VM_BOOT_DELAY=60 ++ export VOLUME_TYPE=ceph-ssd ++ VOLUME_TYPE=ceph-ssd ++ ENVIRONMENT_OS=rocky9 ++ VM_TYPES=(['xsmall']='STD3-1-4' ['small']='STD3-2-8' ['medium']='STD3-4-16' ['large']='STD3-8-32') ++ declare -A VM_TYPES ++ VOLUME_SIZE=(['xsmall']='50' ['small']='50' ['medium']='80' ['large']='80') ++ declare -A VOLUME_SIZE ++ OS_IMAGES=(['CENTOS7']='prepared-centos7' ['CENTOS8']='prepared-centos8' ['UBUNTU20']='prepared-ubuntu20' ['UBUNTU22']='prepared-ubuntu22' ['UBUNTU24']='prepared-ubuntu24' ['ROCKY9']='prepared-rocky95') ++ declare -A OS_IMAGES ++ OS_IMAGE_USERS=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky') ++ declare -A OS_IMAGE_USERS ++ OS_IMAGES_UP=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky') ++ declare -A OS_IMAGES_UP ++ OS_IMAGES_DOWN=(['CENTOS7']='' ['CENTOS8']='' ['UBUNTU20']='' ['UBUNTU22']='' ['UBUNTU24']='' ['ROCKY9']='' ['ROCKY92']='' ['ROCKY95']='') ++ declare -A OS_IMAGES_DOWN ++ SSH_OPTIONS='-T -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PasswordAuthentication=no' + source /home/jenkins/workspace/deploy-tf-ansible-os/deps.deploy-tf-ansible-os.98413.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=d8b9f20a-5280-4bdc-b52f-5dcd145b06f9, ++ INSTANCE_IDS=d8b9f20a-5280-4bdc-b52f-5dcd145b06f9, ++ export instance_ip=10.0.0.50 ++ instance_ip=10.0.0.50 ++ export CONTROLLER_NODES=10.0.0.50, ++ CONTROLLER_NODES=10.0.0.50, ++ export CONTROL_NODES=10.20.0.17, ++ CONTROL_NODES=10.20.0.17, ++ export ORCHESTRATOR=openstack ++ ORCHESTRATOR=openstack ++ export DEPLOYER=ansible ++ DEPLOYER=ansible ++ export JOB_LOGS_PATH=ansible-os ++ JOB_LOGS_PATH=ansible-os + source /home/jenkins/workspace/deploy-tf-ansible-os/vars.deploy-tf-ansible-os.98413.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/44/2144/17/check_2839/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/44/2144/17/check_2839/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.50' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.50' (ECDSA) to the list of known hosts. INFO: =================== Thu Sep 25 06:41:43 UTC 2025 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Thu Sep 25 06:41:43 UTC 2025 Skipping stage machines because it's finished INFO: Stage machines was run successfully Thu Sep 25 06:41:43 UTC 2025 INFO: Running stage k8s at Thu Sep 25 06:41:43 UTC 2025 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Thu Sep 25 06:41:43 UTC 2025 INFO: Running stage openstack at Thu Sep 25 06:41:43 UTC 2025 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Thu Sep 25 06:41:43 UTC 2025 INFO: Running stage tf at Thu Sep 25 06:41:43 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_50": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_50", "private_ip": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_50", "private_ip": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_50', 'value': {'ip': '10.0.0.50', '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.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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_1_4_4-1_7"}, "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_50', 'value': {'ip': '10.0.0.50', '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_50": {"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_50", "value": {"ip": "10.0.0.50", "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.50", "opencontrail_collector_ip": "10.0.0.50"}, "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_1_4_4-1_7", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "VROUTER_ENCRYPTION": false}}, "changed": false} TASK [opensdn_deployer : set tty to true if it's not defined] ****************** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "changed": false} TASK [opensdn_deployer : add nodes to contrail_configuration] ****************** ok: [localhost] => (item={'name': 'CONFIG_NODES', 'nodes': ['10.0.0.50']}) => {"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.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIG_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.50']}) => {"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.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONTROLLER_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.50']}) => {"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.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIGDB_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_SNMP_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_ALARM_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICSDB_NODES", "nodes": ["10.0.0.50"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.50"]}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "changed": false} TASK [opensdn_deployer : check analyticsdb presence] *************************** ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', '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.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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.50", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', '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.50", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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.50", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', '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.50", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_4-1_7", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "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.50"}, "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.50] 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.50] TASK [opensdn : set instance data] ********************************************* ok: [10.0.0.50] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.50", "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.50] => {"ansible_facts": {"instance_name": "node_10_0_0_50"}, "changed": false} TASK [opensdn : run common tasks] ********************************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.50 TASK [opensdn : create /var/log/contrail] ************************************** changed: [10.0.0.50] => {"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.50] => {"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.50] => {"changed": true, "checksum": "dc46b3e17543a3fb3e281087bf3da866c1485558", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "34c90ae7ce34c2789c93a7d1f76120b0", "mode": "0640", "owner": "root", "size": 1024, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782518.6537135-54626-183619466313965/source", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [10.0.0.50] => {"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-1758782519.5849237-54697-35022775167440/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.50] => (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_1_4_4-1_7", "delta": "0:00:01.436658", "end": "2025-09-25 06:42:02.199886", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-09-25 06:42:00.763228", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-redis\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n0e5fa41935be: Pulling fs layer\nea7dee94d275: Pulling fs layer\n263cde60cfd2: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Waiting\n263cde60cfd2: Verifying Checksum\n263cde60cfd2: Download complete\n0e5fa41935be: Verifying Checksum\n0e5fa41935be: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n0e5fa41935be: Pull complete\nea7dee94d275: Verifying Checksum\nea7dee94d275: Download complete\nea7dee94d275: Pull complete\n263cde60cfd2: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:aae2d89b7265eebb3b99dfacf7ea6d3b34fa6138df852601593464d3c56e05df\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-redis", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "0e5fa41935be: Pulling fs layer", "ea7dee94d275: Pulling fs layer", "263cde60cfd2: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Waiting", "263cde60cfd2: Verifying Checksum", "263cde60cfd2: Download complete", "0e5fa41935be: Verifying Checksum", "0e5fa41935be: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "0e5fa41935be: Pull complete", "ea7dee94d275: Verifying Checksum", "ea7dee94d275: Download complete", "ea7dee94d275: Pull complete", "263cde60cfd2: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:aae2d89b7265eebb3b99dfacf7ea6d3b34fa6138df852601593464d3c56e05df", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:01.292409", "end": "2025-09-25 06:42:03.943463", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-09-25 06:42:02.651054", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n5c999278df88: Pulling fs layer\n690b220c6246: Pulling fs layer\n5c999278df88: Verifying Checksum\n5c999278df88: Download complete\n5c999278df88: Pull complete\n690b220c6246: Verifying Checksum\n690b220c6246: Download complete\n690b220c6246: Pull complete\nDigest: sha256:8e5b902a6129009ed9f10eb7017a9dbb82c143fa79e20fa1dab0760ac9b7bbae\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "5c999278df88: Pulling fs layer", "690b220c6246: Pulling fs layer", "5c999278df88: Verifying Checksum", "5c999278df88: Download complete", "5c999278df88: Pull complete", "690b220c6246: Verifying Checksum", "690b220c6246: Download complete", "690b220c6246: Pull complete", "Digest: sha256:8e5b902a6129009ed9f10eb7017a9dbb82c143fa79e20fa1dab0760ac9b7bbae", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_4-1_7"]} TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [10.0.0.50] => {"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.50] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [10.0.0.50] => {"changed": true, "checksum": "a4d9f5ba3628b558266b5137ce9235cf654e39b8", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "836c04ddf16dd4005ab742271c19832e", "mode": "0644", "owner": "root", "size": 200, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782524.916292-55003-73209642631499/source", "state": "file", "uid": 0} TASK [opensdn_redis : start redis] ********************************************* changed: [10.0.0.50] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "32ccf21eda4f410b22aa839830dc816a0b6a9e7da5a9edfcd24c143fd96f11cf", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:03.968768", "end": "2025-09-25 06:42:11.679526", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:42:07.710758", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Pulling fs layer\n7545281b758e: Pulling fs layer\n07c3a4d61a04: Pulling fs layer\n7b55cc5eb179: Pulling fs layer\n1314cacc1e15: Pulling fs layer\n74b8e82ed7a2: Pulling fs layer\n7b55cc5eb179: Waiting\n1314cacc1e15: Waiting\n74b8e82ed7a2: Waiting\nfe70de7b8d3d: Verifying Checksum\nfe70de7b8d3d: Download complete\n07c3a4d61a04: Verifying Checksum\n07c3a4d61a04: Download complete\n7545281b758e: Verifying Checksum\n7545281b758e: Download complete\n1314cacc1e15: Verifying Checksum\n1314cacc1e15: Download complete\nfe70de7b8d3d: Pull complete\n74b8e82ed7a2: Download complete\n7545281b758e: Pull complete\n07c3a4d61a04: Pull complete\n7b55cc5eb179: Verifying Checksum\n7b55cc5eb179: Download complete\n7b55cc5eb179: Pull complete\n1314cacc1e15: Pull complete\n74b8e82ed7a2: Pull complete\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Pulling fs layer", "7545281b758e: Pulling fs layer", "07c3a4d61a04: Pulling fs layer", "7b55cc5eb179: Pulling fs layer", "1314cacc1e15: Pulling fs layer", "74b8e82ed7a2: Pulling fs layer", "7b55cc5eb179: Waiting", "1314cacc1e15: Waiting", "74b8e82ed7a2: Waiting", "fe70de7b8d3d: Verifying Checksum", "fe70de7b8d3d: Download complete", "07c3a4d61a04: Verifying Checksum", "07c3a4d61a04: Download complete", "7545281b758e: Verifying Checksum", "7545281b758e: Download complete", "1314cacc1e15: Verifying Checksum", "1314cacc1e15: Download complete", "fe70de7b8d3d: Pull complete", "74b8e82ed7a2: Download complete", "7545281b758e: Pull complete", "07c3a4d61a04: Pull complete", "7b55cc5eb179: Verifying Checksum", "7b55cc5eb179: Download complete", "7b55cc5eb179: Pull complete", "1314cacc1e15: Pull complete", "74b8e82ed7a2: Pull complete", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:02.408010", "end": "2025-09-25 06:42:14.556930", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:42:12.148920", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nfd854d4957b0: Pulling fs layer\nf1d7fc85c292: Pulling fs layer\nf1d7fc85c292: Verifying Checksum\nf1d7fc85c292: Download complete\nfd854d4957b0: Download complete\nfd854d4957b0: Pull complete\nf1d7fc85c292: Pull complete\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "fd854d4957b0: Pulling fs layer", "f1d7fc85c292: Pulling fs layer", "f1d7fc85c292: Verifying Checksum", "f1d7fc85c292: Download complete", "fd854d4957b0: Download complete", "fd854d4957b0: Pull complete", "f1d7fc85c292: Pull complete", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:05.574847", "end": "2025-09-25 06:42:20.676917", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-09-25 06:42:15.102070", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n540132ae320b: Pulling fs layer\n61c94c10f25d: Pulling fs layer\n540132ae320b: Download complete\n540132ae320b: Pull complete\n61c94c10f25d: Verifying Checksum\n61c94c10f25d: Download complete\n61c94c10f25d: Pull complete\nDigest: sha256:74fc392514457e4f06be15ceb2661b08b0183114a102453b4c4c8e9cad6905fa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "540132ae320b: Pulling fs layer", "61c94c10f25d: Pulling fs layer", "540132ae320b: Download complete", "540132ae320b: Pull complete", "61c94c10f25d: Verifying Checksum", "61c94c10f25d: Download complete", "61c94c10f25d: Pull complete", "Digest: sha256:74fc392514457e4f06be15ceb2661b08b0183114a102453b4c4c8e9cad6905fa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:05.153223", "end": "2025-09-25 06:42:26.310325", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-09-25 06:42:21.157102", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-zookeeper\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nd782fd483318: Pulling fs layer\n1de58bd558fb: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\nd782fd483318: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nd782fd483318: Pull complete\n1de58bd558fb: Verifying Checksum\n1de58bd558fb: Download complete\n1de58bd558fb: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:c9c94ffaaf0b4fe4dcc2d14d48521ea3ccfc62d49eefe2e77ec7b3ef09a0c3b4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-zookeeper", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "d782fd483318: Pulling fs layer", "1de58bd558fb: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "d782fd483318: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "d782fd483318: Pull complete", "1de58bd558fb: Verifying Checksum", "1de58bd558fb: Download complete", "1de58bd558fb: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:c9c94ffaaf0b4fe4dcc2d14d48521ea3ccfc62d49eefe2e77ec7b3ef09a0c3b4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:05.123433", "end": "2025-09-25 06:42:31.870509", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-09-25 06:42:26.747076", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: 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\ne7add638ac41: Waiting\na49b9cb023b6: Pulling fs layer\nc47c3bedb477: Waiting\n86fca04fa363: Pulling fs layer\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n25d7a0ec4c49: Pulling fs layer\n78c707bc7c70: Waiting\na38e195ec37c: Pulling fs layer\n86fca04fa363: Waiting\n25d7a0ec4c49: Waiting\na38e195ec37c: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\n2d0a461f4591: Verifying Checksum\n2d0a461f4591: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n027715895e8b: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\n86fca04fa363: Verifying Checksum\n86fca04fa363: Download complete\n25d7a0ec4c49: Verifying Checksum\n25d7a0ec4c49: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\na49b9cb023b6: Download complete\na38e195ec37c: Verifying Checksum\na38e195ec37c: Download complete\n675920708c8b: Pull complete\ne08fdafa88ce: Pull complete\n92e5ca28c20e: Pull complete\ne7add638ac41: Pull complete\nc47c3bedb477: Pull complete\n2d0a461f4591: Pull complete\n027715895e8b: Pull complete\n78c707bc7c70: Pull complete\n6e8aae77390d: Pull complete\na49b9cb023b6: Pull complete\n86fca04fa363: Pull complete\n25d7a0ec4c49: Pull complete\na38e195ec37c: Pull complete\nDigest: sha256:edbaf9f690ab5cc156e9cc039e1d9787b02235bbfac20a4df8becb748bd015b6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: 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", "e7add638ac41: Waiting", "a49b9cb023b6: Pulling fs layer", "c47c3bedb477: Waiting", "86fca04fa363: Pulling fs layer", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "25d7a0ec4c49: Pulling fs layer", "78c707bc7c70: Waiting", "a38e195ec37c: Pulling fs layer", "86fca04fa363: Waiting", "25d7a0ec4c49: Waiting", "a38e195ec37c: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "2d0a461f4591: Verifying Checksum", "2d0a461f4591: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "027715895e8b: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "86fca04fa363: Verifying Checksum", "86fca04fa363: Download complete", "25d7a0ec4c49: Verifying Checksum", "25d7a0ec4c49: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "a49b9cb023b6: Download complete", "a38e195ec37c: Verifying Checksum", "a38e195ec37c: Download complete", "675920708c8b: Pull complete", "e08fdafa88ce: Pull complete", "92e5ca28c20e: Pull complete", "e7add638ac41: Pull complete", "c47c3bedb477: Pull complete", "2d0a461f4591: Pull complete", "027715895e8b: Pull complete", "78c707bc7c70: Pull complete", "6e8aae77390d: Pull complete", "a49b9cb023b6: Pull complete", "86fca04fa363: Pull complete", "25d7a0ec4c49: Pull complete", "a38e195ec37c: Pull complete", "Digest: sha256:edbaf9f690ab5cc156e9cc039e1d9787b02235bbfac20a4df8becb748bd015b6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.395289", "end": "2025-09-25 06:42:32.736541", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:42:32.341252", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\ne2ac35651c36: Pulling fs layer\ne2ac35651c36: Verifying Checksum\ne2ac35651c36: Download complete\ne2ac35651c36: Pull complete\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "e2ac35651c36: Pulling fs layer", "e2ac35651c36: Verifying Checksum", "e2ac35651c36: Download complete", "e2ac35651c36: Pull complete", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_config_database : create /etc/contrail/config_database] ********** changed: [10.0.0.50] => {"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.50] => {"ansible_facts": {"cassandra_seeds": "10.0.0.50"}, "changed": false} TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.50] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.50"}, "changed": false} TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.50] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.50"}, "changed": false} TASK [opensdn_config_database : Set variables for reaper tool] ***************** ok: [10.0.0.50] => {"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.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] *** changed: [10.0.0.50] => {"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.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => {"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.50]: 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.50] => {"changed": true, "checksum": "9fa5f521d10f0858ee7f19854e562f1539841a99", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "34c57b521a13a012cad4e297b63afe38", "mode": "0644", "owner": "root", "size": 4033, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782572.0954947-58288-66528535362378/source", "state": "file", "uid": 0} TASK [opensdn_config_database : start contrail config database] **************** changed: [10.0.0.50] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "2bd15a700a62321d31007323bf6d5b26c832e7ee546c22242d6971f1ad08d9d2", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "267d80bc74264c3b69b722d0a0bd92c6fc99a042da5d7c02a49050e9cedb36be", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "52c15fdeaf7db39e89e1cb21cea152f804ef1f3db2ac00e075b794f3685e4105", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "17dfbf2e80aeeadaa70c2a2b0b49296f44f05d9c90d6e53f63871af1b9981def", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "9e9d7097a291c9b661c8423e64d31b6e103f516eb6cc7a8fefcfe0d4f80dd14a", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.135368", "end": "2025-09-25 06:42:56.809086", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:42:56.673718", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.109238", "end": "2025-09-25 06:42:57.564780", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:42:57.455542", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:01.158353", "end": "2025-09-25 06:42:59.227962", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-09-25 06:42:58.069609", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nd73ad29b4107: Pulling fs layer\nc87d43a98466: Pulling fs layer\n158e835f30ed: Pulling fs layer\nd73ad29b4107: Verifying Checksum\nd73ad29b4107: Download complete\nd73ad29b4107: Pull complete\nc87d43a98466: Download complete\n158e835f30ed: Verifying Checksum\n158e835f30ed: Download complete\nc87d43a98466: Pull complete\n158e835f30ed: Pull complete\nDigest: sha256:34db4f2ca5a381369970decd6075a866fc0542d9d48298ebd726fd9493315650\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "d73ad29b4107: Pulling fs layer", "c87d43a98466: Pulling fs layer", "158e835f30ed: Pulling fs layer", "d73ad29b4107: Verifying Checksum", "d73ad29b4107: Download complete", "d73ad29b4107: Pull complete", "c87d43a98466: Download complete", "158e835f30ed: Verifying Checksum", "158e835f30ed: Download complete", "c87d43a98466: Pull complete", "158e835f30ed: Pull complete", "Digest: sha256:34db4f2ca5a381369970decd6075a866fc0542d9d48298ebd726fd9493315650", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.729417", "end": "2025-09-25 06:43:00.427186", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-09-25 06:42:59.697769", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n7535883c2d4c: Pulling fs layer\ne7777e49e23a: Pulling fs layer\n7535883c2d4c: Download complete\ne7777e49e23a: Verifying Checksum\ne7777e49e23a: Download complete\n7535883c2d4c: Pull complete\ne7777e49e23a: Pull complete\nDigest: sha256:f27e591e9ba661df4edeec5d19c5e94fcab72222c65f3274e412c3b773f08a84\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "7535883c2d4c: Pulling fs layer", "e7777e49e23a: Pulling fs layer", "7535883c2d4c: Download complete", "e7777e49e23a: Verifying Checksum", "e7777e49e23a: Download complete", "7535883c2d4c: Pull complete", "e7777e49e23a: Pull complete", "Digest: sha256:f27e591e9ba661df4edeec5d19c5e94fcab72222c65f3274e412c3b773f08a84", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.438191", "end": "2025-09-25 06:43:01.409957", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-09-25 06:43:00.971766", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n063a9979dd83: Pulling fs layer\na259918f3e1e: Pulling fs layer\n063a9979dd83: Verifying Checksum\n063a9979dd83: Download complete\na259918f3e1e: Verifying Checksum\na259918f3e1e: Download complete\n063a9979dd83: Pull complete\na259918f3e1e: Pull complete\nDigest: sha256:79e1c82cc5cfe7184019b7dd3556d4dbdd0a60ae8bf93b5fad8f7a2e9988d622\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "063a9979dd83: Pulling fs layer", "a259918f3e1e: Pulling fs layer", "063a9979dd83: Verifying Checksum", "063a9979dd83: Download complete", "a259918f3e1e: Verifying Checksum", "a259918f3e1e: Download complete", "063a9979dd83: Pull complete", "a259918f3e1e: Pull complete", "Digest: sha256:79e1c82cc5cfe7184019b7dd3556d4dbdd0a60ae8bf93b5fad8f7a2e9988d622", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:07.332340", "end": "2025-09-25 06:43:09.245004", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:43:01.912664", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n5aff800829a1: Pulling fs layer\n155450ff0909: Pulling fs layer\n209f04b02d6e: Pulling fs layer\n209f04b02d6e: Verifying Checksum\n209f04b02d6e: Download complete\n5aff800829a1: Verifying Checksum\n5aff800829a1: Download complete\n5aff800829a1: Pull complete\n155450ff0909: Verifying Checksum\n155450ff0909: Download complete\n155450ff0909: Pull complete\n209f04b02d6e: Pull complete\nDigest: sha256:55ae0480a1a7a31d2f99c9976a9aed26c709ded0f916c504bbe4b30d35c791c9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "5aff800829a1: Pulling fs layer", "155450ff0909: Pulling fs layer", "209f04b02d6e: Pulling fs layer", "209f04b02d6e: Verifying Checksum", "209f04b02d6e: Download complete", "5aff800829a1: Verifying Checksum", "5aff800829a1: Download complete", "5aff800829a1: Pull complete", "155450ff0909: Verifying Checksum", "155450ff0909: Download complete", "155450ff0909: Pull complete", "209f04b02d6e: Pull complete", "Digest: sha256:55ae0480a1a7a31d2f99c9976a9aed26c709ded0f916c504bbe4b30d35c791c9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.591115", "end": "2025-09-25 06:43:10.281405", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-09-25 06:43:09.690290", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n624ac7a73d29: Pulling fs layer\n71c154a83442: Pulling fs layer\nf0de00d04357: Pulling fs layer\nb18a4da9ac94: Pulling fs layer\nb18a4da9ac94: Waiting\nf0de00d04357: Download complete\n624ac7a73d29: Verifying Checksum\n624ac7a73d29: Download complete\n71c154a83442: Download complete\n624ac7a73d29: Pull complete\n71c154a83442: Pull complete\nb18a4da9ac94: Verifying Checksum\nb18a4da9ac94: Download complete\nf0de00d04357: Pull complete\nb18a4da9ac94: Pull complete\nDigest: sha256:eef46d06c27d713e6f998d0a8fae53bcab3250f81bdaf4a54e85fe88c3f3af54\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "624ac7a73d29: Pulling fs layer", "71c154a83442: Pulling fs layer", "f0de00d04357: Pulling fs layer", "b18a4da9ac94: Pulling fs layer", "b18a4da9ac94: Waiting", "f0de00d04357: Download complete", "624ac7a73d29: Verifying Checksum", "624ac7a73d29: Download complete", "71c154a83442: Download complete", "624ac7a73d29: Pull complete", "71c154a83442: Pull complete", "b18a4da9ac94: Verifying Checksum", "b18a4da9ac94: Download complete", "f0de00d04357: Pull complete", "b18a4da9ac94: Pull complete", "Digest: sha256:eef46d06c27d713e6f998d0a8fae53bcab3250f81bdaf4a54e85fe88c3f3af54", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.116105", "end": "2025-09-25 06:43:10.889377", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:43:10.773272", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_config : create /etc/contrail/config] **************************** changed: [10.0.0.50] => {"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.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config : create /etc/contrail/common_config.env] ***************** changed: [10.0.0.50] => {"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.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => {"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.50]: 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.50] => {"ansible_facts": {"use_external_tftp": false}, "changed": false} TASK [opensdn_config : check if ironic_pxe is deployed on node] **************** fatal: [10.0.0.50]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.026443", "end": "2025-09-25 06:43:29.473150", "msg": "non-zero return code", "rc": 1, "start": "2025-09-25 06:43:29.446707", "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.50] => {"changed": true, "checksum": "7fc4c28d3c4a699f10ca0432332120128751e90d", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "7eec408fd422128ecd3482d21a95c655", "mode": "0644", "owner": "root", "size": 3950, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782609.7622535-63275-44487598344696/source", "state": "file", "uid": 0} TASK [opensdn_config : start contrail config] ********************************** changed: [10.0.0.50] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "f3f3623291e14458f67b3e9adf60e0ab5978893b49ec2b301a8602e941db5bcb", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "7e1b68a31cd2b7d9820bc2da4177474bb3bf009d6e4b517b19d90da5366e2f8f", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "c93c4faca71371faa9e16a20333dd56e5eb9d343fc16c4f4d6dd97ad05a7fc36", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "db0164074e8509e9345760b4728d4074c4aa7f2e5588ac9e87d88b219543e307", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "22d9c33b9f9cc335fb0e36e083cd7118fae9a9d8f771fa7f00c4e1dc2546cb64", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "026f45183d2154a94c0d86fb12538c9487baa102b2c67f40a549321ff88f5ae4", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "3a0c9c0a25f252ccf7a280f40dd88a4b870a23fbccaabfc8098bdf6f480b4cbe", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:11.064731", "end": "2025-09-25 06:43:45.134870", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-09-25 06:43:34.070139", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n520e09a967f1: Pulling fs layer\n33e793b2372a: Pulling fs layer\n0800ce8850e3: Pulling fs layer\nf78b870f1413: Pulling fs layer\n836d8abb1d26: Pulling fs layer\n579b3f41915c: Pulling fs layer\n826409ad3058: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n836d8abb1d26: Waiting\nf78b870f1413: Waiting\n579b3f41915c: Waiting\n826409ad3058: Waiting\n4f4fb700ef54: Waiting\n520e09a967f1: Verifying Checksum\n520e09a967f1: Download complete\nf78b870f1413: Download complete\n836d8abb1d26: Download complete\n579b3f41915c: Download complete\n826409ad3058: Verifying Checksum\n826409ad3058: Download complete\n4f4fb700ef54: Download complete\n33e793b2372a: Verifying Checksum\n33e793b2372a: Download complete\n520e09a967f1: Pull complete\n0800ce8850e3: Verifying Checksum\n0800ce8850e3: Download complete\n33e793b2372a: Pull complete\n0800ce8850e3: Pull complete\nf78b870f1413: Pull complete\n836d8abb1d26: Pull complete\n579b3f41915c: Pull complete\n826409ad3058: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:9c2807c5a187032d89b359ba7d3c1bf5f1d58fdb45d9a941a6e1e64e590052b3\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "520e09a967f1: Pulling fs layer", "33e793b2372a: Pulling fs layer", "0800ce8850e3: Pulling fs layer", "f78b870f1413: Pulling fs layer", "836d8abb1d26: Pulling fs layer", "579b3f41915c: Pulling fs layer", "826409ad3058: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "836d8abb1d26: Waiting", "f78b870f1413: Waiting", "579b3f41915c: Waiting", "826409ad3058: Waiting", "4f4fb700ef54: Waiting", "520e09a967f1: Verifying Checksum", "520e09a967f1: Download complete", "f78b870f1413: Download complete", "836d8abb1d26: Download complete", "579b3f41915c: Download complete", "826409ad3058: Verifying Checksum", "826409ad3058: Download complete", "4f4fb700ef54: Download complete", "33e793b2372a: Verifying Checksum", "33e793b2372a: Download complete", "520e09a967f1: Pull complete", "0800ce8850e3: Verifying Checksum", "0800ce8850e3: Download complete", "33e793b2372a: Pull complete", "0800ce8850e3: Pull complete", "f78b870f1413: Pull complete", "836d8abb1d26: Pull complete", "579b3f41915c: Pull complete", "826409ad3058: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:9c2807c5a187032d89b359ba7d3c1bf5f1d58fdb45d9a941a6e1e64e590052b3", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.313004", "end": "2025-09-25 06:43:45.908193", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-09-25 06:43:45.595189", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n520e09a967f1: Already exists\n33e793b2372a: Already exists\n0800ce8850e3: Already exists\nf78b870f1413: Already exists\n836d8abb1d26: Already exists\n579b3f41915c: Already exists\n826409ad3058: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:4d3b2af1693d3975997c25dfad82b98b34335b6a1027d9f5b79b35e6ca71659c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "520e09a967f1: Already exists", "33e793b2372a: Already exists", "0800ce8850e3: Already exists", "f78b870f1413: Already exists", "836d8abb1d26: Already exists", "579b3f41915c: Already exists", "826409ad3058: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:4d3b2af1693d3975997c25dfad82b98b34335b6a1027d9f5b79b35e6ca71659c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_4-1_7"]} TASK [opensdn_webui : create /etc/contrail/webui] ****************************** changed: [10.0.0.50] => {"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.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_webui : create /etc/contrail/common_webui.env] ******************* changed: [10.0.0.50] => {"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.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => {"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.50]: 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.50] => {"changed": true, "checksum": "a63e5d400f84931623afcedd9c7dbea376dc8aa9", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "0ab91a605157d1a765eb47fa7dd723e1", "mode": "0644", "owner": "root", "size": 1398, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782644.5948858-67524-172161604266158/source", "state": "file", "uid": 0} TASK [opensdn_webui : start contrail webui] ************************************ changed: [10.0.0.50] => {"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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "a97ecf9a20146806f48490d68116f898fa2249ccc8362b1c4d2df281db0c89d5", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "ccb321cf3983f9248c485c6a5423152fc9a7ce60d6f636a6c47567baf17f7d61", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.132706", "end": "2025-09-25 06:44:08.582454", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:44:08.449748", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.139754", "end": "2025-09-25 06:44:09.175989", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:44:09.036235", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:05.597127", "end": "2025-09-25 06:44:15.249476", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-09-25 06:44:09.652349", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nd28173401f1c: Pulling fs layer\n0fb34450c1c7: Pulling fs layer\naa15103cafc5: Pulling fs layer\n40e39f5a9bde: Pulling fs layer\n40e39f5a9bde: Waiting\naa15103cafc5: Verifying Checksum\naa15103cafc5: Download complete\n40e39f5a9bde: Verifying Checksum\n40e39f5a9bde: Download complete\nd28173401f1c: Verifying Checksum\nd28173401f1c: Download complete\nd28173401f1c: Pull complete\n0fb34450c1c7: Verifying Checksum\n0fb34450c1c7: Download complete\n0fb34450c1c7: Pull complete\naa15103cafc5: Pull complete\n40e39f5a9bde: Pull complete\nDigest: sha256:281e942d08adedc6f5c31c7d193959050cc16b6f7e04416f0ffd835b291dc1bb\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "d28173401f1c: Pulling fs layer", "0fb34450c1c7: Pulling fs layer", "aa15103cafc5: Pulling fs layer", "40e39f5a9bde: Pulling fs layer", "40e39f5a9bde: Waiting", "aa15103cafc5: Verifying Checksum", "aa15103cafc5: Download complete", "40e39f5a9bde: Verifying Checksum", "40e39f5a9bde: Download complete", "d28173401f1c: Verifying Checksum", "d28173401f1c: Download complete", "d28173401f1c: Pull complete", "0fb34450c1c7: Verifying Checksum", "0fb34450c1c7: Download complete", "0fb34450c1c7: Pull complete", "aa15103cafc5: Pull complete", "40e39f5a9bde: Pull complete", "Digest: sha256:281e942d08adedc6f5c31c7d193959050cc16b6f7e04416f0ffd835b291dc1bb", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.523489", "end": "2025-09-25 06:44:16.209487", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-09-25 06:44:15.685998", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nd28173401f1c: Already exists\ndabddddb2f38: Pulling fs layer\n55e9ad1f1c59: Pulling fs layer\necd6866c2c54: Pulling fs layer\n08cc2e4f66a4: Pulling fs layer\n3529d924eb76: Pulling fs layer\n17f79c94bbde: Pulling fs layer\n08cc2e4f66a4: Waiting\n3529d924eb76: Waiting\n17f79c94bbde: Waiting\ndabddddb2f38: Verifying Checksum\ndabddddb2f38: Download complete\n55e9ad1f1c59: Verifying Checksum\n55e9ad1f1c59: Download complete\ndabddddb2f38: Pull complete\n3529d924eb76: Verifying Checksum\n3529d924eb76: Download complete\n08cc2e4f66a4: Verifying Checksum\n08cc2e4f66a4: Download complete\necd6866c2c54: Verifying Checksum\necd6866c2c54: Download complete\n17f79c94bbde: Verifying Checksum\n17f79c94bbde: Download complete\n55e9ad1f1c59: Pull complete\necd6866c2c54: Pull complete\n08cc2e4f66a4: Pull complete\n3529d924eb76: Pull complete\n17f79c94bbde: Pull complete\nDigest: sha256:398b3dcd84b70ce1620507babe8ac27a63cf44d38fd6ae818403a8e357adbdd8\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "d28173401f1c: Already exists", "dabddddb2f38: Pulling fs layer", "55e9ad1f1c59: Pulling fs layer", "ecd6866c2c54: Pulling fs layer", "08cc2e4f66a4: Pulling fs layer", "3529d924eb76: Pulling fs layer", "17f79c94bbde: Pulling fs layer", "08cc2e4f66a4: Waiting", "3529d924eb76: Waiting", "17f79c94bbde: Waiting", "dabddddb2f38: Verifying Checksum", "dabddddb2f38: Download complete", "55e9ad1f1c59: Verifying Checksum", "55e9ad1f1c59: Download complete", "dabddddb2f38: Pull complete", "3529d924eb76: Verifying Checksum", "3529d924eb76: Download complete", "08cc2e4f66a4: Verifying Checksum", "08cc2e4f66a4: Download complete", "ecd6866c2c54: Verifying Checksum", "ecd6866c2c54: Download complete", "17f79c94bbde: Verifying Checksum", "17f79c94bbde: Download complete", "55e9ad1f1c59: Pull complete", "ecd6866c2c54: Pull complete", "08cc2e4f66a4: Pull complete", "3529d924eb76: Pull complete", "17f79c94bbde: Pull complete", "Digest: sha256:398b3dcd84b70ce1620507babe8ac27a63cf44d38fd6ae818403a8e357adbdd8", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:03.242584", "end": "2025-09-25 06:44:19.918908", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-09-25 06:44:16.676324", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nd28173401f1c: Already exists\nb312fb26e43a: Pulling fs layer\n1259139dd5b3: Pulling fs layer\nf6e53fe5782f: Pulling fs layer\n99f15254aee1: Pulling fs layer\n1579c6f84265: Pulling fs layer\ndb1dba9a05ab: Pulling fs layer\n0b8ac86826c6: Pulling fs layer\nc63326428625: Pulling fs layer\n99e195e17f7d: Pulling fs layer\n1579c6f84265: Waiting\ndb1dba9a05ab: Waiting\n0b8ac86826c6: Waiting\nc63326428625: Waiting\n99e195e17f7d: Waiting\n99f15254aee1: Waiting\nf6e53fe5782f: Download complete\n1259139dd5b3: Download complete\n99f15254aee1: Verifying Checksum\n1579c6f84265: Verifying Checksum\n1579c6f84265: Download complete\n0b8ac86826c6: Verifying Checksum\n0b8ac86826c6: Download complete\ndb1dba9a05ab: Verifying Checksum\ndb1dba9a05ab: Download complete\nc63326428625: Verifying Checksum\nc63326428625: Download complete\n99e195e17f7d: Download complete\nb312fb26e43a: Download complete\nb312fb26e43a: Pull complete\n1259139dd5b3: Pull complete\nf6e53fe5782f: Pull complete\n99f15254aee1: Pull complete\n1579c6f84265: Pull complete\ndb1dba9a05ab: Pull complete\n0b8ac86826c6: Pull complete\nc63326428625: Pull complete\n99e195e17f7d: Pull complete\nDigest: sha256:0c16de39523ed36ca049571b164013e55f1654b975b0b458fa77ecdce7cbb3f4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "d28173401f1c: Already exists", "b312fb26e43a: Pulling fs layer", "1259139dd5b3: Pulling fs layer", "f6e53fe5782f: Pulling fs layer", "99f15254aee1: Pulling fs layer", "1579c6f84265: Pulling fs layer", "db1dba9a05ab: Pulling fs layer", "0b8ac86826c6: Pulling fs layer", "c63326428625: Pulling fs layer", "99e195e17f7d: Pulling fs layer", "1579c6f84265: Waiting", "db1dba9a05ab: Waiting", "0b8ac86826c6: Waiting", "c63326428625: Waiting", "99e195e17f7d: Waiting", "99f15254aee1: Waiting", "f6e53fe5782f: Download complete", "1259139dd5b3: Download complete", "99f15254aee1: Verifying Checksum", "1579c6f84265: Verifying Checksum", "1579c6f84265: Download complete", "0b8ac86826c6: Verifying Checksum", "0b8ac86826c6: Download complete", "db1dba9a05ab: Verifying Checksum", "db1dba9a05ab: Download complete", "c63326428625: Verifying Checksum", "c63326428625: Download complete", "99e195e17f7d: Download complete", "b312fb26e43a: Download complete", "b312fb26e43a: Pull complete", "1259139dd5b3: Pull complete", "f6e53fe5782f: Pull complete", "99f15254aee1: Pull complete", "1579c6f84265: Pull complete", "db1dba9a05ab: Pull complete", "0b8ac86826c6: Pull complete", "c63326428625: Pull complete", "99e195e17f7d: Pull complete", "Digest: sha256:0c16de39523ed36ca049571b164013e55f1654b975b0b458fa77ecdce7cbb3f4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.137315", "end": "2025-09-25 06:44:20.524104", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:44:20.386789", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_control : create /etc/contrail/control] ************************** changed: [10.0.0.50] => {"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.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_control : create /etc/contrail/common_control.env] *************** changed: [10.0.0.50] => {"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.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => {"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.50]: 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.50] => {"changed": true, "checksum": "e8699d372adcd930ccb54c5a7cc49ed9a0b5ec8d", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "301146d7fffedae2e7a18eaf5671f36f", "mode": "0644", "owner": "root", "size": 3011, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782678.884107-71155-149429846775890/source", "state": "file", "uid": 0} TASK [opensdn_control : start contrail control] ******************************** changed: [10.0.0.50] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "b98d2d144ec1bf519e9bae1e72306458ce5fd5044c1a4e862bd2593809a33da6", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "03327c15990e42c6af969c07388705f4d20510ba3cba6e3ff635135f9e05a92b", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "5969f2cac99a82f17c656ea9a34fa34e4c19df5b90906d0ad32d271fd08e26f8", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "cacf72413789aed1795fb7c0bf7eb525d342db8aeeb542831401f8249733bf17", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "38b3ec11cfb279b99f334de625a39b3bc144f18035a57e81180f8dafd69e5827", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.223826", "end": "2025-09-25 06:44:43.596188", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:44:43.372362", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.107884", "end": "2025-09-25 06:44:44.326382", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:44:44.218498", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:02.328780", "end": "2025-09-25 06:44:47.106154", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-09-25 06:44:44.777374", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n8220ac303034: Pulling fs layer\n0187d1c35d9f: Pulling fs layer\n48d2ad8d46d0: Pulling fs layer\n8220ac303034: Pull complete\n48d2ad8d46d0: Verifying Checksum\n48d2ad8d46d0: Download complete\n0187d1c35d9f: Verifying Checksum\n0187d1c35d9f: Download complete\n0187d1c35d9f: Pull complete\n48d2ad8d46d0: Pull complete\nDigest: sha256:ea731f90f6594cee763140662c94c4e05dde4572c3375526767f8ea370a9b0ba\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "8220ac303034: Pulling fs layer", "0187d1c35d9f: Pulling fs layer", "48d2ad8d46d0: Pulling fs layer", "8220ac303034: Pull complete", "48d2ad8d46d0: Verifying Checksum", "48d2ad8d46d0: Download complete", "0187d1c35d9f: Verifying Checksum", "0187d1c35d9f: Download complete", "0187d1c35d9f: Pull complete", "48d2ad8d46d0: Pull complete", "Digest: sha256:ea731f90f6594cee763140662c94c4e05dde4572c3375526767f8ea370a9b0ba", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.110036", "end": "2025-09-25 06:44:47.693455", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-09-25 06:44:47.583419", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-cassandra\nDigest: sha256:74fc392514457e4f06be15ceb2661b08b0183114a102453b4c4c8e9cad6905fa\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-cassandra", "Digest: sha256:74fc392514457e4f06be15ceb2661b08b0183114a102453b4c4c8e9cad6905fa", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.107501", "end": "2025-09-25 06:44:48.242511", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:44:48.135010", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] **** changed: [10.0.0.50] => {"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.50] => {"ansible_facts": {"cassandra_seeds": "10.0.0.50"}, "changed": false} TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] *** ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] *** changed: [10.0.0.50] => {"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.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => {"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.50]: 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.50] => {"changed": true, "checksum": "9e68f179e814ffa24ee0928b1147c514d5fedb21", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "74bcaab48952e45075c4b7fa87269378", "mode": "0644", "owner": "root", "size": 3025, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782706.5103688-74898-66016579531793/source", "state": "file", "uid": 0} TASK [opensdn_analytics_database : start contrail analyticsdb] ***************** changed: [10.0.0.50] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "34fd03f5f6b39cefe6b52f3b9f7495e6a9e7013c213d9a357ddd82d2f15bfec1", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "35a7d961420282755f948c7c19ef9875a9045822261833523bf45bc8559e4c42", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "38e5ec96af016dd69d2e697aa0de9edda73141cb1585a7556f10d5eda2a6f13c", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "e38b5d2a1f0cbb0d765cb34de00c2b52276ac6f0e6312b263d0b22bfa76c40ff", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.111153", "end": "2025-09-25 06:45:09.866963", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:45:09.755810", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.123907", "end": "2025-09-25 06:45:10.452083", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:45:10.328176", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:02.186028", "end": "2025-09-25 06:45:13.162530", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-09-25 06:45:10.976502", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nf80f18f81756: Pulling fs layer\n6d935da3bc5d: Pulling fs layer\nb53d0eb89da5: Pulling fs layer\ne6603e100d92: Pulling fs layer\n629ab42e5746: Pulling fs layer\ne6603e100d92: Waiting\n629ab42e5746: Waiting\nf80f18f81756: Verifying Checksum\nf80f18f81756: Download complete\n6d935da3bc5d: Verifying Checksum\n6d935da3bc5d: Download complete\nb53d0eb89da5: Download complete\ne6603e100d92: Verifying Checksum\ne6603e100d92: Download complete\nf80f18f81756: Pull complete\n6d935da3bc5d: Pull complete\n629ab42e5746: Verifying Checksum\n629ab42e5746: Download complete\nb53d0eb89da5: Pull complete\ne6603e100d92: Pull complete\n629ab42e5746: Pull complete\nDigest: sha256:8f2702fce4338237e8a8d82e16b01746deb0939f7e1c541ba3a8a19200c15a79\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "f80f18f81756: Pulling fs layer", "6d935da3bc5d: Pulling fs layer", "b53d0eb89da5: Pulling fs layer", "e6603e100d92: Pulling fs layer", "629ab42e5746: Pulling fs layer", "e6603e100d92: Waiting", "629ab42e5746: Waiting", "f80f18f81756: Verifying Checksum", "f80f18f81756: Download complete", "6d935da3bc5d: Verifying Checksum", "6d935da3bc5d: Download complete", "b53d0eb89da5: Download complete", "e6603e100d92: Verifying Checksum", "e6603e100d92: Download complete", "f80f18f81756: Pull complete", "6d935da3bc5d: Pull complete", "629ab42e5746: Verifying Checksum", "629ab42e5746: Download complete", "b53d0eb89da5: Pull complete", "e6603e100d92: Pull complete", "629ab42e5746: Pull complete", "Digest: sha256:8f2702fce4338237e8a8d82e16b01746deb0939f7e1c541ba3a8a19200c15a79", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:03.327960", "end": "2025-09-25 06:45:16.980678", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-09-25 06:45:13.652718", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\nc7cfc370b963: Pulling fs layer\nd31868b198f0: Pulling fs layer\n2fc0c0aa29f6: Pulling fs layer\nc7cfc370b963: Verifying Checksum\nc7cfc370b963: Download complete\nc7cfc370b963: Pull complete\n2fc0c0aa29f6: Verifying Checksum\n2fc0c0aa29f6: Download complete\nd31868b198f0: Verifying Checksum\nd31868b198f0: Download complete\nd31868b198f0: Pull complete\n2fc0c0aa29f6: Pull complete\nDigest: sha256:2b916d0febbd0f6d49d56f936ee80f0064315fe0d68470a3b4be0827100bf34d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "c7cfc370b963: Pulling fs layer", "d31868b198f0: Pulling fs layer", "2fc0c0aa29f6: Pulling fs layer", "c7cfc370b963: Verifying Checksum", "c7cfc370b963: Download complete", "c7cfc370b963: Pull complete", "2fc0c0aa29f6: Verifying Checksum", "2fc0c0aa29f6: Download complete", "d31868b198f0: Verifying Checksum", "d31868b198f0: Download complete", "d31868b198f0: Pull complete", "2fc0c0aa29f6: Pull complete", "Digest: sha256:2b916d0febbd0f6d49d56f936ee80f0064315fe0d68470a3b4be0827100bf34d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.108066", "end": "2025-09-25 06:45:17.541350", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:45:17.433284", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_analytics : create /etc/contrail/analytics] ********************** changed: [10.0.0.50] => {"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.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] *********** changed: [10.0.0.50] => {"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.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.50] => {"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.50]: 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.50] => {"changed": true, "checksum": "f9fb19e1be265cb5eda8f1315a06c29c82ab04a8", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "cf0263f5b2bebe114fe63d7cae8beeff", "mode": "0644", "owner": "root", "size": 2415, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782735.8742912-78901-226058518240403/source", "state": "file", "uid": 0} TASK [opensdn_analytics : start contrail analytics] **************************** changed: [10.0.0.50] => {"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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bd4deb3da30bf2d2133cef771dd23c24f28e2111d2433afa79d955b81c857e8b", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "cdc1d0d2a1ee489cd14870a2ca49a40ab0202c2e1cd9152326b98f16e2307573", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "0755af596932b77723e14154f8a98ad0d5b4ef48e72b3512f41173ca72098b6a", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "a7796243008ddf5c3ab8cb1488f0f3d6ff0a4fddf9aae13bd894581392e0eee4", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.115298", "end": "2025-09-25 06:45:39.459536", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:45:39.344238", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.111170", "end": "2025-09-25 06:45:40.022746", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:45:39.911576", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.711821", "end": "2025-09-25 06:45:41.229395", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-09-25 06:45:40.517574", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n24fcea2f20b5: Pulling fs layer\n16a2a6207ff8: Pulling fs layer\n24fcea2f20b5: Verifying Checksum\n24fcea2f20b5: Download complete\n24fcea2f20b5: Pull complete\n16a2a6207ff8: Verifying Checksum\n16a2a6207ff8: Download complete\n16a2a6207ff8: Pull complete\nDigest: sha256:a692c44bfa3e18727b146f69a1300d76e9c9314994cfc506cf4ba4afb76d87d9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "24fcea2f20b5: Pulling fs layer", "16a2a6207ff8: Pulling fs layer", "24fcea2f20b5: Verifying Checksum", "24fcea2f20b5: Download complete", "24fcea2f20b5: Pull complete", "16a2a6207ff8: Verifying Checksum", "16a2a6207ff8: Download complete", "16a2a6207ff8: Pull complete", "Digest: sha256:a692c44bfa3e18727b146f69a1300d76e9c9314994cfc506cf4ba4afb76d87d9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:08.018142", "end": "2025-09-25 06:45:49.753280", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-09-25 06:45:41.735138", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n9257d1f61be7: Pulling fs layer\nd098a8d13dc6: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n9257d1f61be7: Verifying Checksum\n9257d1f61be7: Download complete\n9257d1f61be7: Pull complete\nd098a8d13dc6: Verifying Checksum\nd098a8d13dc6: Download complete\nd098a8d13dc6: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:6073925a7c2f44c69a7da4d163e10f16fe4a7e109646275c1cde0682952dd6b9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "9257d1f61be7: Pulling fs layer", "d098a8d13dc6: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "9257d1f61be7: Verifying Checksum", "9257d1f61be7: Download complete", "9257d1f61be7: Pull complete", "d098a8d13dc6: Verifying Checksum", "d098a8d13dc6: Download complete", "d098a8d13dc6: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:6073925a7c2f44c69a7da4d163e10f16fe4a7e109646275c1cde0682952dd6b9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.120285", "end": "2025-09-25 06:45:50.342182", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:45:50.221897", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] ********** changed: [10.0.0.50] => {"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.50] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.50"}, "changed": false} TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] *** changed: [10.0.0.50] => {"changed": true, "checksum": "6f5f913b5af5e337d4353fd55d149be4145422b7", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "b641ea86cd024224265304e9c3863e52", "mode": "0644", "owner": "root", "size": 2487, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782751.3179445-80691-241846378449547/source", "state": "file", "uid": 0} TASK [opensdn_analytics_alarm : start contrail analytics_alarm] **************** changed: [10.0.0.50] => {"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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "5302901cd9d3c30f432beaea938457e89492e3b72ba5caf507192b9292b02d68", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "a79d09b1e29e0fd4b2762841038bda536f533c32df166d51f2524a1942df6ea5", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "08af764a565fd696897b88631e757710e752c62109b0a5f113feed6b1b7d00a6", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bc01ac89f01109555d1833aeaabc8c42741644ab16b0857690d42ad05a9a6581", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.110129", "end": "2025-09-25 06:45:55.125307", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:45:55.015178", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.114183", "end": "2025-09-25 06:45:55.710904", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:45:55.596721", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:04.855057", "end": "2025-09-25 06:46:01.038268", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-09-25 06:45:56.183211", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n07fa74092d2b: Pulling fs layer\nab491f6506ff: Pulling fs layer\n4dbb08b496be: Pulling fs layer\nae355630b821: Pulling fs layer\nae355630b821: Waiting\n07fa74092d2b: Download complete\n4dbb08b496be: Verifying Checksum\n4dbb08b496be: Download complete\nae355630b821: Download complete\n07fa74092d2b: Pull complete\nab491f6506ff: Download complete\nab491f6506ff: Pull complete\n4dbb08b496be: Pull complete\nae355630b821: Pull complete\nDigest: sha256:64006124e0acf3386a5b8ab975b2c6b7802048fab47f28961ff04f26c080b25c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "07fa74092d2b: Pulling fs layer", "ab491f6506ff: Pulling fs layer", "4dbb08b496be: Pulling fs layer", "ae355630b821: Pulling fs layer", "ae355630b821: Waiting", "07fa74092d2b: Download complete", "4dbb08b496be: Verifying Checksum", "4dbb08b496be: Download complete", "ae355630b821: Download complete", "07fa74092d2b: Pull complete", "ab491f6506ff: Download complete", "ab491f6506ff: Pull complete", "4dbb08b496be: Pull complete", "ae355630b821: Pull complete", "Digest: sha256:64006124e0acf3386a5b8ab975b2c6b7802048fab47f28961ff04f26c080b25c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:00.491093", "end": "2025-09-25 06:46:02.043004", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-09-25 06:46:01.551911", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n07fa74092d2b: Already exists\nab491f6506ff: Already exists\n3f464807fea7: Pulling fs layer\n82de28b6cea3: Pulling fs layer\n3f464807fea7: Verifying Checksum\n3f464807fea7: Download complete\n82de28b6cea3: Download complete\n3f464807fea7: Pull complete\n82de28b6cea3: Pull complete\nDigest: sha256:7041634bc80de99baeec70abf6515014ba4db488d0f4f87eb7b428a000a48241\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "07fa74092d2b: Already exists", "ab491f6506ff: Already exists", "3f464807fea7: Pulling fs layer", "82de28b6cea3: Pulling fs layer", "3f464807fea7: Verifying Checksum", "3f464807fea7: Download complete", "82de28b6cea3: Download complete", "3f464807fea7: Pull complete", "82de28b6cea3: Pull complete", "Digest: sha256:7041634bc80de99baeec70abf6515014ba4db488d0f4f87eb7b428a000a48241", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.121032", "end": "2025-09-25 06:46:02.646295", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:46:02.525263", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************ changed: [10.0.0.50] => {"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.50] => {"changed": true, "checksum": "11037a1233f0a5dc9da3d540a8b733c661f7da26", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "14662e2131f79e42c0350a68ad940a10", "mode": "0644", "owner": "root", "size": 2368, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782763.352235-83036-82602828071132/source", "state": "file", "uid": 0} TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ****************** changed: [10.0.0.50] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "b954c232de161368b3c73e261bfed77452e5ea9d873d103ac80add2c4d0de999", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "8033a0df843cebec5c784654af8aad1da5ec6be33a5c596e7a7238c347f31237", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "30914ec94074fbd921da88ab80bbd7221f536f96ca3aeb97b32d882df3530d46", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "107e84f59913e73371c2bcc57c12eaf003d436cb2fae0e8a5565cde671c229f7", "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_1_4_4-1_7"}, "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.50] => (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_1_4_4-1_7", "delta": "0:00:00.517120", "end": "2025-09-25 06:46:07.825597", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-09-25 06:46:07.308477", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\n165a319c0cc4: Pulling fs layer\n56c749e455fa: Pulling fs layer\n81e5ba5a8087: Pulling fs layer\nf674dcfa53c8: Pulling fs layer\nf674dcfa53c8: Waiting\n165a319c0cc4: Verifying Checksum\n165a319c0cc4: Download complete\n81e5ba5a8087: Verifying Checksum\n81e5ba5a8087: Download complete\n165a319c0cc4: Pull complete\nf674dcfa53c8: Verifying Checksum\nf674dcfa53c8: Download complete\n56c749e455fa: Verifying Checksum\n56c749e455fa: Download complete\n56c749e455fa: Pull complete\n81e5ba5a8087: Pull complete\nf674dcfa53c8: Pull complete\nDigest: sha256:e91b715d519b10bf1d14d0789ee49fcda295601cc660fec10800fee3377667a0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "165a319c0cc4: Pulling fs layer", "56c749e455fa: Pulling fs layer", "81e5ba5a8087: Pulling fs layer", "f674dcfa53c8: Pulling fs layer", "f674dcfa53c8: Waiting", "165a319c0cc4: Verifying Checksum", "165a319c0cc4: Download complete", "81e5ba5a8087: Verifying Checksum", "81e5ba5a8087: Download complete", "165a319c0cc4: Pull complete", "f674dcfa53c8: Verifying Checksum", "f674dcfa53c8: Download complete", "56c749e455fa: Verifying Checksum", "56c749e455fa: Download complete", "56c749e455fa: Pull complete", "81e5ba5a8087: Pull complete", "f674dcfa53c8: Pull complete", "Digest: sha256:e91b715d519b10bf1d14d0789ee49fcda295601cc660fec10800fee3377667a0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_4-1_7"]} TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************ changed: [10.0.0.50] => {"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.50] => {"changed": true, "checksum": "40042c13c27c484a899a8be76be77063a78ed417", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "0559725eb484fed068f695e5db89c708", "mode": "0644", "owner": "root", "size": 617, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782768.5665627-84475-230380655598875/source", "state": "file", "uid": 0} TASK [opensdn_rsyslogd : start rsyslogd] *************************************** changed: [10.0.0.50] => {"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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "94cc6f388f72072e1fa793c8a23578c1c79f3d0bbebfc2e5942e1eedad70dce0", "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_1_4_4-1_7"}, "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.50] => {"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.50] => (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_1_4_4-1_7", "delta": "0:00:00.111704", "end": "2025-09-25 06:46:11.340233", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-25 06:46:11.228529", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-node-init\nDigest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-node-init", "Digest: sha256:6bd59a589a2f0a7f1e90b4efb75bab40435053cf9b0661b20150983b9c0fe43f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "delta": "0:00:00.112332", "end": "2025-09-25 06:46:11.971217", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-25 06:46:11.858885", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-nodemgr\nDigest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-nodemgr", "Digest: sha256:278764480e2dbdabe42dcdedeb247278c888ba4e686b979dd356bec90df33f23", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "delta": "0:00:00.119197", "end": "2025-09-25 06:46:12.576835", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-25 06:46:12.457638", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-provisioner\nDigest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-provisioner", "Digest: sha256:ba0fb347d480fc66778b16601588e2ed2821282b958ac3fea68d842219fd66a8", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:07.005672", "end": "2025-09-25 06:46:20.074729", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-09-25 06:46:13.069057", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-vrouter-kernel-build-init\n323b40e41d30: Pulling fs layer\n05e4adf5a9e7: Pulling fs layer\n91b761779d54: Pulling fs layer\nce9221bd9d2a: Pulling fs layer\nbad2d79c91ba: Pulling fs layer\n4dd14b15b1ce: Pulling fs layer\n0c5c11ca2509: Pulling fs layer\nd1afce3956dd: Pulling fs layer\n4dd14b15b1ce: Waiting\n0c5c11ca2509: Waiting\nd1afce3956dd: Waiting\nce9221bd9d2a: Waiting\nbad2d79c91ba: Waiting\n91b761779d54: Verifying Checksum\n91b761779d54: Download complete\n05e4adf5a9e7: Verifying Checksum\n05e4adf5a9e7: Download complete\nce9221bd9d2a: Verifying Checksum\nce9221bd9d2a: Download complete\nbad2d79c91ba: Verifying Checksum\nbad2d79c91ba: Download complete\n0c5c11ca2509: Verifying Checksum\n0c5c11ca2509: Download complete\nd1afce3956dd: Verifying Checksum\nd1afce3956dd: Download complete\n323b40e41d30: Verifying Checksum\n323b40e41d30: Download complete\n323b40e41d30: Pull complete\n05e4adf5a9e7: Pull complete\n91b761779d54: Pull complete\nce9221bd9d2a: Pull complete\nbad2d79c91ba: Pull complete\n4dd14b15b1ce: Verifying Checksum\n4dd14b15b1ce: Download complete\n4dd14b15b1ce: Pull complete\n0c5c11ca2509: Pull complete\nd1afce3956dd: Pull complete\nDigest: sha256:9fa39149bcfcf58fb10db2fb86a4d19e5c414393b35e1e4934b7d18c7c6e996d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-vrouter-kernel-build-init", "323b40e41d30: Pulling fs layer", "05e4adf5a9e7: Pulling fs layer", "91b761779d54: Pulling fs layer", "ce9221bd9d2a: Pulling fs layer", "bad2d79c91ba: Pulling fs layer", "4dd14b15b1ce: Pulling fs layer", "0c5c11ca2509: Pulling fs layer", "d1afce3956dd: Pulling fs layer", "4dd14b15b1ce: Waiting", "0c5c11ca2509: Waiting", "d1afce3956dd: Waiting", "ce9221bd9d2a: Waiting", "bad2d79c91ba: Waiting", "91b761779d54: Verifying Checksum", "91b761779d54: Download complete", "05e4adf5a9e7: Verifying Checksum", "05e4adf5a9e7: Download complete", "ce9221bd9d2a: Verifying Checksum", "ce9221bd9d2a: Download complete", "bad2d79c91ba: Verifying Checksum", "bad2d79c91ba: Download complete", "0c5c11ca2509: Verifying Checksum", "0c5c11ca2509: Download complete", "d1afce3956dd: Verifying Checksum", "d1afce3956dd: Download complete", "323b40e41d30: Verifying Checksum", "323b40e41d30: Download complete", "323b40e41d30: Pull complete", "05e4adf5a9e7: Pull complete", "91b761779d54: Pull complete", "ce9221bd9d2a: Pull complete", "bad2d79c91ba: Pull complete", "4dd14b15b1ce: Verifying Checksum", "4dd14b15b1ce: Download complete", "4dd14b15b1ce: Pull complete", "0c5c11ca2509: Pull complete", "d1afce3956dd: Pull complete", "Digest: sha256:9fa39149bcfcf58fb10db2fb86a4d19e5c414393b35e1e4934b7d18c7c6e996d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_4-1_7"]} changed: [10.0.0.50] => (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_1_4_4-1_7", "delta": "0:00:11.470092", "end": "2025-09-25 06:46:32.049346", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-09-25 06:46:20.579254", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_4-1_7: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\ncf0dd519103e: Already exists\na5ae1c5ca0f4: Already exists\n38d9d10bb96d: Already exists\na7031e407cc4: Already exists\n37e2da815787: Already exists\n6c492c2693ff: Already exists\nfe70de7b8d3d: Already exists\n7545281b758e: Already exists\n07c3a4d61a04: Already exists\n7b55cc5eb179: Already exists\n1314cacc1e15: Already exists\n07fa6b21864c: Pulling fs layer\n723e5ed8bea9: Pulling fs layer\n90b2b98036aa: Pulling fs layer\n69acb33d9fbe: Pulling fs layer\nc39d13df3ba2: Pulling fs layer\n8f5dc03794e0: Pulling fs layer\n5669cdb37775: Pulling fs layer\nb6ac12575ed8: Pulling fs layer\n40680059cc6c: Pulling fs layer\n6bcb7fc1d4d2: Pulling fs layer\nb398725300ac: Pulling fs layer\n02a0c1dbcce9: Pulling fs layer\n718167e85d9d: Pulling fs layer\n2f282462a20f: Pulling fs layer\nefb3ebb5b669: Pulling fs layer\n40680059cc6c: Waiting\n69acb33d9fbe: Waiting\nc39d13df3ba2: Waiting\n6bcb7fc1d4d2: Waiting\n8f5dc03794e0: Waiting\nb398725300ac: Waiting\n5669cdb37775: Waiting\nb6ac12575ed8: Waiting\n02a0c1dbcce9: Waiting\n718167e85d9d: Waiting\n2f282462a20f: Waiting\nefb3ebb5b669: Waiting\n07fa6b21864c: Download complete\n723e5ed8bea9: Verifying Checksum\n723e5ed8bea9: Download complete\n69acb33d9fbe: Verifying Checksum\n69acb33d9fbe: Download complete\nc39d13df3ba2: Verifying Checksum\nc39d13df3ba2: Download complete\n07fa6b21864c: Pull complete\n8f5dc03794e0: Verifying Checksum\n8f5dc03794e0: Download complete\n5669cdb37775: Verifying Checksum\n5669cdb37775: Download complete\n723e5ed8bea9: Pull complete\n40680059cc6c: Verifying Checksum\n40680059cc6c: Download complete\n90b2b98036aa: Verifying Checksum\n90b2b98036aa: Download complete\n6bcb7fc1d4d2: Verifying Checksum\n6bcb7fc1d4d2: Download complete\nb398725300ac: Download complete\n718167e85d9d: Verifying Checksum\n718167e85d9d: Download complete\n2f282462a20f: Verifying Checksum\n2f282462a20f: Download complete\nefb3ebb5b669: Download complete\n90b2b98036aa: Pull complete\n69acb33d9fbe: Pull complete\nc39d13df3ba2: Pull complete\n8f5dc03794e0: Pull complete\n5669cdb37775: Pull complete\n02a0c1dbcce9: Verifying Checksum\n02a0c1dbcce9: Download complete\nb6ac12575ed8: Verifying Checksum\nb6ac12575ed8: Download complete\nb6ac12575ed8: Pull complete\n40680059cc6c: Pull complete\n6bcb7fc1d4d2: Pull complete\nb398725300ac: Pull complete\n02a0c1dbcce9: Pull complete\n718167e85d9d: Pull complete\n2f282462a20f: Pull complete\nefb3ebb5b669: Pull complete\nDigest: sha256:bfb9f07255d7caf382ecd7bf3f93316f066140d23d5f7abe93cd6e4b0ddc5901\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_4-1_7\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_4-1_7", "stdout_lines": ["master-2_1_4_4-1_7: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "cf0dd519103e: Already exists", "a5ae1c5ca0f4: Already exists", "38d9d10bb96d: Already exists", "a7031e407cc4: Already exists", "37e2da815787: Already exists", "6c492c2693ff: Already exists", "fe70de7b8d3d: Already exists", "7545281b758e: Already exists", "07c3a4d61a04: Already exists", "7b55cc5eb179: Already exists", "1314cacc1e15: Already exists", "07fa6b21864c: Pulling fs layer", "723e5ed8bea9: Pulling fs layer", "90b2b98036aa: Pulling fs layer", "69acb33d9fbe: Pulling fs layer", "c39d13df3ba2: Pulling fs layer", "8f5dc03794e0: Pulling fs layer", "5669cdb37775: Pulling fs layer", "b6ac12575ed8: Pulling fs layer", "40680059cc6c: Pulling fs layer", "6bcb7fc1d4d2: Pulling fs layer", "b398725300ac: Pulling fs layer", "02a0c1dbcce9: Pulling fs layer", "718167e85d9d: Pulling fs layer", "2f282462a20f: Pulling fs layer", "efb3ebb5b669: Pulling fs layer", "40680059cc6c: Waiting", "69acb33d9fbe: Waiting", "c39d13df3ba2: Waiting", "6bcb7fc1d4d2: Waiting", "8f5dc03794e0: Waiting", "b398725300ac: Waiting", "5669cdb37775: Waiting", "b6ac12575ed8: Waiting", "02a0c1dbcce9: Waiting", "718167e85d9d: Waiting", "2f282462a20f: Waiting", "efb3ebb5b669: Waiting", "07fa6b21864c: Download complete", "723e5ed8bea9: Verifying Checksum", "723e5ed8bea9: Download complete", "69acb33d9fbe: Verifying Checksum", "69acb33d9fbe: Download complete", "c39d13df3ba2: Verifying Checksum", "c39d13df3ba2: Download complete", "07fa6b21864c: Pull complete", "8f5dc03794e0: Verifying Checksum", "8f5dc03794e0: Download complete", "5669cdb37775: Verifying Checksum", "5669cdb37775: Download complete", "723e5ed8bea9: Pull complete", "40680059cc6c: Verifying Checksum", "40680059cc6c: Download complete", "90b2b98036aa: Verifying Checksum", "90b2b98036aa: Download complete", "6bcb7fc1d4d2: Verifying Checksum", "6bcb7fc1d4d2: Download complete", "b398725300ac: Download complete", "718167e85d9d: Verifying Checksum", "718167e85d9d: Download complete", "2f282462a20f: Verifying Checksum", "2f282462a20f: Download complete", "efb3ebb5b669: Download complete", "90b2b98036aa: Pull complete", "69acb33d9fbe: Pull complete", "c39d13df3ba2: Pull complete", "8f5dc03794e0: Pull complete", "5669cdb37775: Pull complete", "02a0c1dbcce9: Verifying Checksum", "02a0c1dbcce9: Download complete", "b6ac12575ed8: Verifying Checksum", "b6ac12575ed8: Download complete", "b6ac12575ed8: Pull complete", "40680059cc6c: Pull complete", "6bcb7fc1d4d2: Pull complete", "b398725300ac: Pull complete", "02a0c1dbcce9: Pull complete", "718167e85d9d: Pull complete", "2f282462a20f: Pull complete", "efb3ebb5b669: Pull complete", "Digest: sha256:bfb9f07255d7caf382ecd7bf3f93316f066140d23d5f7abe93cd6e4b0ddc5901", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_4-1_7", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_4-1_7"]} [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.50] => {"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.50] => {"changed": true, "checksum": "9d2fd32aa87505e843ea948ae0e34f24dd01f78b", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "ed2b66e59aa9190c82e23f6ff3ac966d", "mode": "0640", "owner": "root", "size": 1027, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782793.1713772-85696-93015114872080/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.50] => {"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.50] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_vrouter : create contrail vrouter compose file] ****************** changed: [10.0.0.50] => {"changed": true, "checksum": "0862f2ec8b674d865e2f83cc61ca998e84fb21ba", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "0a4cf0f7f0a924aa5a5fdcc831b294dd", "mode": "0644", "owner": "root", "size": 2757, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758782794.8946886-85841-261251494063399/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] ***************** changed: [10.0.0.50] => {"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.50] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bf16ad9d331b41c9098ec6f22a01554f450c0ba8038673a1358b06244a241053", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "6a59563ea3c57e94fd3f7a843be7343a3ecd1c720c4f962d64681e6523129346", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "bd1b56d9020bbb85891ae66caf6aeb0eaa1046be9ffcf7566d240917535843a7", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "e383004c8567100f8982baddabc481d5353ed0ccca63f4b224b7834ed6b5b901", "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_1_4_4-1_7"}, "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_1_4_4-1_7", "labels": {"com.docker.compose.config-hash": "be303c7f6b1fda4c0917939d175c494b52e4a32d0b9539424c6cedf7d4aaa5d1", "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_1_4_4-1_7"}, "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.50] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false} PLAY RECAP ********************************************************************* 10.0.0.50 : ok=92 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7 localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0 INFO: done in 0s INFO: check time sync on nodes and force sync Thu Sep 25 06:47:41 UTC 2025 INFO: controller nodes - 10.0.0.50 INFO: agent nodes - 10.0.0.50 INFO: openstack controller nodes - INFO: sync time on machine ubuntu@10.0.0.50 Warning: Permanently added '10.0.0.50' (ED25519) to the list of known hosts. Warning: Permanently added '10.0.0.50' (ED25519) to the list of known hosts. INFO: Thu Sep 25 06:47:42 UTC 2025: ensure time is synced (chronyd) INFO: Thu Sep 25 06:47:42 UTC 2025: time is synced TF Web UI must be available at https://10.0.0.50:8143 OpenStack UI must be avaiable at http://10.0.0.50 Use admin/contrail123 to log in INFO: Stage tf was run successfully Thu Sep 25 06:47:42 UTC 2025 INFO: Running stage wait at Thu Sep 25 06:47:42 UTC 2025 INFO: done in 0s INFO: Stage wait was run successfully Thu Sep 25 06:47:49 UTC 2025 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-2_1_4_4-1_7 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_4-1_7 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.50 " AGENT_NODES="10.0.0.50" CONTROL_NODES="10.20.0.17 " SSL_ENABLE="false" LEGACY_ANALYTICS_ENABLE="true" HUGE_PAGES_1G= CONTAINER_RUNTIME=docker K8S_CA= DEPLOY_IPA_SERVER= IPA_PASSWORD= OPENSTACK_CONTROLLER_NODES='10.0.0.50' OS_AUTH_URL='http://10.0.0.50:5000/v3' AUTH_PASSWORD='contrail123' AUTH_URL='' INFO: Successful deployment Thu Sep 25 06:47:49 UTC 2025 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS