Started by upstream project "pipeline-check" build number 2586 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-analytics/+/2083 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@2 [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@2/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 4e3a6b43dcfd19360cbd528937bb2efd24be7a40 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 4e3a6b43dcfd19360cbd528937bb2efd24be7a40 # timeout=10 Commit message: "remove tag_suffix rocky9 from publishing to dockerhub" > git rev-list --no-walk 4e3a6b43dcfd19360cbd528937bb2efd24be7a40 # 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@2/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 2586 [deploy-tf-ansible-os@2] $ /bin/bash -xe /tmp/jenkins2356752562658138334.sh + source /home/jenkins/workspace/deploy-tf-ansible-os@2/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2586 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2586 ++ 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/83/2083/2/check_2586 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/83/2083/2/check_2586 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586 ++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 ++ CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I1eb031ce166167af5fdec9879b3c904379ab6397 ++ GERRIT_CHANGE_ID=I1eb031ce166167af5fdec9879b3c904379ab6397 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-analytics ++ GERRIT_PROJECT=opensdn-io/tf-analytics ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + desc='Pipeline: pipeline-check-2586 Random: 67287 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-check-2586 Random: 67287 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586/ansible-os' DESCRIPTION Pipeline: pipeline-check-2586 Random: 67287 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586/ansible-os [description-setter] Description set: Pipeline: pipeline-check-2586 Random: 67287 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586/ansible-os' [deploy-tf-ansible-os@2] $ /bin/bash -xe /tmp/jenkins2228476567235941014.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os@2/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2586 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2586 ++ 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/83/2083/2/check_2586 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/83/2083/2/check_2586 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586 ++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 ++ CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I1eb031ce166167af5fdec9879b3c904379ab6397 ++ GERRIT_CHANGE_ID=I1eb031ce166167af5fdec9879b3c904379ab6397 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-analytics ++ GERRIT_PROJECT=opensdn-io/tf-analytics ++ 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 INFO: run 'git fetch https://gerrit.opensdn.io//opensdn-io/tf-jenkins refs/changes/82/2082/4' From https://gerrit.opensdn.io//opensdn-io/tf-jenkins * branch refs/changes/82/2082/4 -> FETCH_HEAD INFO: FETCH_HEAD - 4e3a6b43 remove tag_suffix rocky9 from publishing to dockerhub [detached HEAD 05a815a9] prepare tests sandbox on rocky9 Author: tikitavi Date: Fri Aug 29 11:34:10 2025 +0300 2 files changed, 20 insertions(+), 10 deletions(-) + ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-devstack ./patchsets-info.json [deploy-tf-ansible-os@2] $ /bin/bash -xe /tmp/jenkins4721044436703611638.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os@2/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2586 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2586 ++ 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/83/2083/2/check_2586 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/83/2083/2/check_2586 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/83/2083/2/check_2586 ++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository ++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 ++ CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_0_8_3-2 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I1eb031ce166167af5fdec9879b3c904379ab6397 ++ GERRIT_CHANGE_ID=I1eb031ce166167af5fdec9879b3c904379ab6397 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-analytics ++ GERRIT_PROJECT=opensdn-io/tf-analytics ++ 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@2/deps.deploy-tf-ansible-os.67287.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=23ac235b-fe4d-458f-aa5c-c8e92705150c, ++ INSTANCE_IDS=23ac235b-fe4d-458f-aa5c-c8e92705150c, ++ export instance_ip=10.0.0.48 ++ instance_ip=10.0.0.48 ++ export CONTROLLER_NODES=10.0.0.48, ++ CONTROLLER_NODES=10.0.0.48, ++ 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@2/vars.deploy-tf-ansible-os.67287.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/83/2083/2/check_2586/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/83/2083/2/check_2586/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.48' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.48' (ECDSA) to the list of known hosts. INFO: =================== Tue Sep 2 22:27:14 UTC 2025 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Tue Sep 2 22:27:14 UTC 2025 Skipping stage machines because it's finished INFO: Stage machines was run successfully Tue Sep 2 22:27:14 UTC 2025 INFO: Running stage k8s at Tue Sep 2 22:27:14 UTC 2025 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Tue Sep 2 22:27:14 UTC 2025 INFO: Running stage openstack at Tue Sep 2 22:27:14 UTC 2025 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Tue Sep 2 22:27:14 UTC 2025 INFO: Running stage tf at Tue Sep 2 22:27:14 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_48": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_48", "private_ip": "10.0.0.48"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_48", "private_ip": "10.0.0.48"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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_48', 'value': {'ip': '10.0.0.48', '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.48"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"tsn_nodes_list": []}, "changed": false} TASK [opensdn_deployer : set global variables] ********************************* included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_global_variables.yml for localhost TASK [opensdn_deployer : set container tag contrail version if defined] ******** ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "latest"}, "changed": false} TASK [opensdn_deployer : add specific contrail version tag if defined] ********* ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "master-2_0_8_3-2"}, "changed": false} TASK [opensdn_deployer : set registry if defined] ****************************** ok: [localhost] => {"ansible_facts": {"container_registry": "nexus.gz1.opensdn.io:5101"}, "changed": false} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"roles": {}}, "changed": false} TASK [opensdn_deployer : add roles if defined] ********************************* ok: [localhost] => (item={'key': 'node_10_0_0_48', 'value': {'ip': '10.0.0.48', '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_48": {"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_48", "value": {"ip": "10.0.0.48", "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.48", "opencontrail_collector_ip": "10.0.0.48"}, "changed": false} TASK [opensdn_deployer : set default variables] ******************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_default_variables.yml for localhost TASK [opensdn_deployer : set orchestrator param] ******************************* ok: [localhost] => {"ansible_facts": {"default_configuration": {"VXLAN_VN_ID_MODE": "automatic"}}, "changed": false} TASK [opensdn_deployer : set contrail variables] ******************************* included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_contrail_variables.yml for localhost TASK [opensdn_deployer : set stdin_open to true if it's not defined] *********** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "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_0_8_3-2", "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.48']}) => {"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.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "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.48"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.48']}) => {"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.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.48']}) => {"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.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.48']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.48']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.48']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.48']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.48", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.48']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.48", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.48"]}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.48", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "changed": false} TASK [opensdn_deployer : check analyticsdb presence] *************************** ok: [localhost] => (item={'key': 'node_10_0_0_48', 'value': {'ip': '10.0.0.48', '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.48", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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.48", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => (item={'key': 'node_10_0_0_48', 'value': {'ip': '10.0.0.48', '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.48", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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.48", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => (item={'key': 'node_10_0_0_48', 'value': {'ip': '10.0.0.48', '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.48", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.48", "ANALYTICS_NODES": "10.0.0.48", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.48", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.48", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.48", "CONTRAIL_CONTAINER_TAG": "master-2_0_8_3-2", "CONTROLLER_NODES": "10.0.0.48", "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.48"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_48", "value": {"ip": "10.0.0.48", "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.48"}, "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.48] 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.48] TASK [opensdn : set instance data] ********************************************* ok: [10.0.0.48] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.48", "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.48] => {"ansible_facts": {"instance_name": "node_10_0_0_48"}, "changed": false} TASK [opensdn : run common tasks] ********************************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.48 TASK [opensdn : create /var/log/contrail] ************************************** changed: [10.0.0.48] => {"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.48] => {"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.48] => {"changed": true, "checksum": "344ea31267be5ffd6274a5325fbcb6b3ebdc1082", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "7604c7682f35be377e692f1ab5aecbd9", "mode": "0640", "owner": "root", "size": 1022, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852049.241247-54357-224683344561641/source", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [10.0.0.48] => {"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-1756852050.0554547-54430-251385856327482/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.48] => (item=opensdn-external-redis) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_8_3-2", "delta": "0:00:01.197808", "end": "2025-09-02 22:27:32.341029", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-09-02 22:27:31.143221", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-redis\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\nba44a53124a8: Pulling fs layer\nb04cff6088d8: Pulling fs layer\n13666b883e6e: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Waiting\nba44a53124a8: Download complete\n13666b883e6e: Verifying Checksum\n13666b883e6e: Download complete\nba44a53124a8: Pull complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nb04cff6088d8: Verifying Checksum\nb04cff6088d8: Download complete\nb04cff6088d8: Pull complete\n13666b883e6e: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:96b9cb95dfe064c065c0fa154ac0998d6be648e4f6c7c83757dab5c5ab8a7281\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-redis", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "ba44a53124a8: Pulling fs layer", "b04cff6088d8: Pulling fs layer", "13666b883e6e: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Waiting", "ba44a53124a8: Download complete", "13666b883e6e: Verifying Checksum", "13666b883e6e: Download complete", "ba44a53124a8: Pull complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "b04cff6088d8: Verifying Checksum", "b04cff6088d8: Download complete", "b04cff6088d8: Pull complete", "13666b883e6e: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:96b9cb95dfe064c065c0fa154ac0998d6be648e4f6c7c83757dab5c5ab8a7281", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-external-stunnel) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_8_3-2", "delta": "0:00:01.096269", "end": "2025-09-02 22:27:33.882338", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-09-02 22:27:32.786069", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n9b3b0fc13979: Pulling fs layer\n98f392a400d5: Pulling fs layer\n9b3b0fc13979: Download complete\n9b3b0fc13979: Pull complete\n98f392a400d5: Verifying Checksum\n98f392a400d5: Download complete\n98f392a400d5: Pull complete\nDigest: sha256:a366c8d71ac19395c8ff79a8c5af84657e1049e35bf3e55b9e29a487d394ba93\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "9b3b0fc13979: Pulling fs layer", "98f392a400d5: Pulling fs layer", "9b3b0fc13979: Download complete", "9b3b0fc13979: Pull complete", "98f392a400d5: Verifying Checksum", "98f392a400d5: Download complete", "98f392a400d5: Pull complete", "Digest: sha256:a366c8d71ac19395c8ff79a8c5af84657e1049e35bf3e55b9e29a487d394ba93", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_0_8_3-2"]} TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [10.0.0.48] => {"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.48] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [10.0.0.48] => {"changed": true, "checksum": "fb13c1bb330af50caf1fe96e632033ed1ce389fc", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "0385267abee7d91efbf33c2026811385", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852054.7347543-54670-3964591056400/source", "state": "file", "uid": 0} TASK [opensdn_redis : start redis] ********************************************* changed: [10.0.0.48] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "aaded0cb7b658e333ed0eadcca0179a2fa2aebf7e6cec45c482273fb2501080a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "redis", "com.docker.compose.project.config_files": "/etc/contrail/redis/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/redis", "com.docker.compose.service": "redis", "com.docker.compose.version": "1.29.2", "description": "Contrail Redis server supports query engine.", "io.opensdn.container.name": "opensdn-external-redis", "io.opensdn.service": "redis", "name": "opensdn-external-redis", "release": "5.1.0", "summary": "Contrail Redis", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail config database] ***************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_config_database : update contrail config_database image] ********* changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:04.000002", "end": "2025-09-02 22:27:42.397621", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:27:38.397619", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Pulling fs layer\ne98154b4e309: Pulling fs layer\n3785aa6578ed: Pulling fs layer\nec56103c5de6: Pulling fs layer\n4e18d4b0b02a: Pulling fs layer\n957a65caffbe: Pulling fs layer\nec56103c5de6: Waiting\n4e18d4b0b02a: Waiting\n957a65caffbe: Waiting\n3785aa6578ed: Download complete\ne98154b4e309: Download complete\n44e33f7b41ab: Download complete\n4e18d4b0b02a: Verifying Checksum\n4e18d4b0b02a: Download complete\n44e33f7b41ab: Pull complete\n957a65caffbe: Verifying Checksum\n957a65caffbe: Download complete\ne98154b4e309: Pull complete\n3785aa6578ed: Pull complete\nec56103c5de6: Verifying Checksum\nec56103c5de6: Download complete\nec56103c5de6: Pull complete\n4e18d4b0b02a: Pull complete\n957a65caffbe: Pull complete\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Pulling fs layer", "e98154b4e309: Pulling fs layer", "3785aa6578ed: Pulling fs layer", "ec56103c5de6: Pulling fs layer", "4e18d4b0b02a: Pulling fs layer", "957a65caffbe: Pulling fs layer", "ec56103c5de6: Waiting", "4e18d4b0b02a: Waiting", "957a65caffbe: Waiting", "3785aa6578ed: Download complete", "e98154b4e309: Download complete", "44e33f7b41ab: Download complete", "4e18d4b0b02a: Verifying Checksum", "4e18d4b0b02a: Download complete", "44e33f7b41ab: Pull complete", "957a65caffbe: Verifying Checksum", "957a65caffbe: Download complete", "e98154b4e309: Pull complete", "3785aa6578ed: Pull complete", "ec56103c5de6: Verifying Checksum", "ec56103c5de6: Download complete", "ec56103c5de6: Pull complete", "4e18d4b0b02a: Pull complete", "957a65caffbe: Pull complete", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:02.068670", "end": "2025-09-02 22:27:44.880488", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:27:42.811818", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\nc348cae764dd: Pulling fs layer\n84448efed950: Pulling fs layer\n84448efed950: Verifying Checksum\n84448efed950: Download complete\nc348cae764dd: Download complete\nc348cae764dd: Pull complete\n84448efed950: Pull complete\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "c348cae764dd: Pulling fs layer", "84448efed950: Pulling fs layer", "84448efed950: Verifying Checksum", "84448efed950: Download complete", "c348cae764dd: Download complete", "c348cae764dd: Pull complete", "84448efed950: Pull complete", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "delta": "0:00:06.700525", "end": "2025-09-02 22:27:51.995047", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-09-02 22:27:45.294522", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n43d0203eaf71: Pulling fs layer\na43ff625a6b8: Pulling fs layer\n43d0203eaf71: Verifying Checksum\n43d0203eaf71: Download complete\n43d0203eaf71: Pull complete\na43ff625a6b8: Verifying Checksum\na43ff625a6b8: Download complete\na43ff625a6b8: Pull complete\nDigest: sha256:5b96e0737475082ce85ccf1134440ffaada237243c97fc6f24a7b27e44eafed0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "43d0203eaf71: Pulling fs layer", "a43ff625a6b8: Pulling fs layer", "43d0203eaf71: Verifying Checksum", "43d0203eaf71: Download complete", "43d0203eaf71: Pull complete", "a43ff625a6b8: Verifying Checksum", "a43ff625a6b8: Download complete", "a43ff625a6b8: Pull complete", "Digest: sha256:5b96e0737475082ce85ccf1134440ffaada237243c97fc6f24a7b27e44eafed0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-external-zookeeper) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_8_3-2", "delta": "0:00:05.940168", "end": "2025-09-02 22:27:58.381378", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-09-02 22:27:52.441210", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-zookeeper\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\nb75ba68172e7: Pulling fs layer\n95192a7c15cc: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\nb75ba68172e7: Verifying Checksum\nb75ba68172e7: Download complete\n4f4fb700ef54: Download complete\nb75ba68172e7: Pull complete\n95192a7c15cc: Verifying Checksum\n95192a7c15cc: Download complete\n95192a7c15cc: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:0d02ae13c91e7964d1aa19ea4482d7b9e551225522a084435c3073d2ace6fd62\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-zookeeper", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "b75ba68172e7: Pulling fs layer", "95192a7c15cc: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "b75ba68172e7: Verifying Checksum", "b75ba68172e7: Download complete", "4f4fb700ef54: Download complete", "b75ba68172e7: Pull complete", "95192a7c15cc: Verifying Checksum", "95192a7c15cc: Download complete", "95192a7c15cc: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:0d02ae13c91e7964d1aa19ea4482d7b9e551225522a084435c3073d2ace6fd62", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-external-rabbitmq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_8_3-2", "delta": "0:00:04.739495", "end": "2025-09-02 22:28:03.576228", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-09-02 22:27:58.836733", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-rabbitmq\n675920708c8b: Pulling fs layer\ne08fdafa88ce: Pulling fs layer\n92e5ca28c20e: Pulling fs layer\ne7add638ac41: Pulling fs layer\nc47c3bedb477: Pulling fs layer\n2d0a461f4591: Pulling fs layer\n027715895e8b: Pulling fs layer\n78c707bc7c70: Pulling fs layer\n6e8aae77390d: Pulling fs layer\na49b9cb023b6: Pulling fs layer\n63ce04d478b9: Pulling fs layer\nf75a1fa8749b: Pulling fs layer\n879cb5cc3d45: Pulling fs layer\n76102e966c25: Pulling fs layer\ne7add638ac41: Waiting\nc47c3bedb477: Waiting\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\n879cb5cc3d45: Waiting\n63ce04d478b9: Waiting\n76102e966c25: Waiting\nf75a1fa8749b: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\n2d0a461f4591: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\n63ce04d478b9: Verifying Checksum\n63ce04d478b9: Download complete\nf75a1fa8749b: Verifying Checksum\nf75a1fa8749b: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n879cb5cc3d45: Verifying Checksum\n879cb5cc3d45: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\n76102e966c25: Verifying Checksum\n76102e966c25: 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\n63ce04d478b9: Pull complete\nf75a1fa8749b: Pull complete\n879cb5cc3d45: Pull complete\n76102e966c25: Pull complete\nDigest: sha256:44f462238a84411abda04a0df495287c5d947916d5be99cd46e124e0c639274a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-rabbitmq", "675920708c8b: Pulling fs layer", "e08fdafa88ce: Pulling fs layer", "92e5ca28c20e: Pulling fs layer", "e7add638ac41: Pulling fs layer", "c47c3bedb477: Pulling fs layer", "2d0a461f4591: Pulling fs layer", "027715895e8b: Pulling fs layer", "78c707bc7c70: Pulling fs layer", "6e8aae77390d: Pulling fs layer", "a49b9cb023b6: Pulling fs layer", "63ce04d478b9: Pulling fs layer", "f75a1fa8749b: Pulling fs layer", "879cb5cc3d45: Pulling fs layer", "76102e966c25: Pulling fs layer", "e7add638ac41: Waiting", "c47c3bedb477: Waiting", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "879cb5cc3d45: Waiting", "63ce04d478b9: Waiting", "76102e966c25: Waiting", "f75a1fa8749b: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "2d0a461f4591: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "63ce04d478b9: Verifying Checksum", "63ce04d478b9: Download complete", "f75a1fa8749b: Verifying Checksum", "f75a1fa8749b: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "879cb5cc3d45: Verifying Checksum", "879cb5cc3d45: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "76102e966c25: Verifying Checksum", "76102e966c25: 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", "63ce04d478b9: Pull complete", "f75a1fa8749b: Pull complete", "879cb5cc3d45: Pull complete", "76102e966c25: Pull complete", "Digest: sha256:44f462238a84411abda04a0df495287c5d947916d5be99cd46e124e0c639274a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.251602", "end": "2025-09-02 22:28:04.246009", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:28:03.994407", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\ncebc8f30ca70: Pulling fs layer\ncebc8f30ca70: Verifying Checksum\ncebc8f30ca70: Download complete\ncebc8f30ca70: Pull complete\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "cebc8f30ca70: Pulling fs layer", "cebc8f30ca70: Verifying Checksum", "cebc8f30ca70: Download complete", "cebc8f30ca70: Pull complete", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_config_database : create /etc/contrail/config_database] ********** changed: [10.0.0.48] => {"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.48] => {"ansible_facts": {"cassandra_seeds": "10.0.0.48"}, "changed": false} TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.48] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.48"}, "changed": false} TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.48] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.48"}, "changed": false} TASK [opensdn_config_database : Set variables for reaper tool] ***************** ok: [10.0.0.48] => {"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.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] *** changed: [10.0.0.48] => {"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.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => {"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.48]: 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.48] => {"changed": true, "checksum": "0ae5527f0803ca512083e46d50305eb586ea9d49", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "b18e5955b668c0813ba40b6552b827b6", "mode": "0644", "owner": "root", "size": 4019, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852102.2366052-57582-263518604863235/source", "state": "file", "uid": 0} TASK [opensdn_config_database : start contrail config database] **************** changed: [10.0.0.48] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "e59c3a765e536849e4fb046b924d84df694bd639b7f113115f97b6b8de84bc9e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "3fc9730ebe43749ee102ee6568799e85c9270b6f74d2f23321e0bbfe585b1b59", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "a89f95984a295c5d7a00d3e8a414a65a6fca5b560d9019b3a8696716d6feda0d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "08146039562ba89c23ba19e220beb9f37e186390c1330b1cd3cc8909490b509a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "rabbitmq", "com.docker.compose.version": "1.29.2", "description": "Contrail Rabbitmq is the message bus that different Contrail processes subscribe to.", "io.opensdn.container.name": "opensdn-external-rabbitmq", "io.opensdn.service": "rabbitmq", "name": "opensdn-external-rabbitmq", "release": "5.1.0", "summary": "Contrail RabbitMQ", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "d791521ec706e81ab3f9bcbea30c04a538aa0c88d647ae6a3cba25ea73698818", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "zookeeper", "com.docker.compose.version": "1.29.2", "description": "Contrail uses the Apache ZooKeeper process to maintain synchronization of Contrail configuration, analytics and database running on the different instances of controllers.", "io.opensdn.container.name": "opensdn-external-zookeeper", "io.opensdn.service": "zookeeper", "name": "opensdn-external-zookeeper", "release": "5.1.0", "summary": "Contrail Zookeeper", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail config] ************************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_config : update contrail config image] *************************** changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.104989", "end": "2025-09-02 22:28:26.802873", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:28:26.697884", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.106202", "end": "2025-09-02 22:28:27.341233", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:28:27.235031", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-config-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_8_3-2", "delta": "0:00:03.406004", "end": "2025-09-02 22:28:31.174310", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-09-02 22:28:27.768306", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n41a90300f354: Pulling fs layer\n20e58a2d74a2: Pulling fs layer\n41a90300f354: Verifying Checksum\n41a90300f354: Download complete\n41a90300f354: Pull complete\n20e58a2d74a2: Verifying Checksum\n20e58a2d74a2: Download complete\n20e58a2d74a2: Pull complete\nDigest: sha256:cc183b06f5d63bc64b2e898edd340e1da59b0279c16c788a089817450d7036fb\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "41a90300f354: Pulling fs layer", "20e58a2d74a2: Pulling fs layer", "41a90300f354: Verifying Checksum", "41a90300f354: Download complete", "41a90300f354: Pull complete", "20e58a2d74a2: Verifying Checksum", "20e58a2d74a2: Download complete", "20e58a2d74a2: Pull complete", "Digest: sha256:cc183b06f5d63bc64b2e898edd340e1da59b0279c16c788a089817450d7036fb", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-config-svcmonitor) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_8_3-2", "delta": "0:00:00.564504", "end": "2025-09-02 22:28:32.185555", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-09-02 22:28:31.621051", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n5bb387d2e587: Pulling fs layer\nedd741e075dc: Pulling fs layer\n5bb387d2e587: Verifying Checksum\n5bb387d2e587: Download complete\n5bb387d2e587: Pull complete\nedd741e075dc: Verifying Checksum\nedd741e075dc: Download complete\nedd741e075dc: Pull complete\nDigest: sha256:c5cc907c4610c45bf81239d17e96e60b18c58479afaa44728fe5bd6ad0551846\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "5bb387d2e587: Pulling fs layer", "edd741e075dc: Pulling fs layer", "5bb387d2e587: Verifying Checksum", "5bb387d2e587: Download complete", "5bb387d2e587: Pull complete", "edd741e075dc: Verifying Checksum", "edd741e075dc: Download complete", "edd741e075dc: Pull complete", "Digest: sha256:c5cc907c4610c45bf81239d17e96e60b18c58479afaa44728fe5bd6ad0551846", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-config-schema) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_8_3-2", "delta": "0:00:00.302615", "end": "2025-09-02 22:28:32.995985", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-09-02 22:28:32.693370", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n9d4c494fc837: Pulling fs layer\nfaf59507d6c6: Pulling fs layer\n9d4c494fc837: Download complete\nfaf59507d6c6: Verifying Checksum\nfaf59507d6c6: Download complete\n9d4c494fc837: Pull complete\nfaf59507d6c6: Pull complete\nDigest: sha256:173d31c972b09ccd09bc392f1aa661bd7855b954284a627ae5929030ecbf5d61\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "9d4c494fc837: Pulling fs layer", "faf59507d6c6: Pulling fs layer", "9d4c494fc837: Download complete", "faf59507d6c6: Verifying Checksum", "faf59507d6c6: Download complete", "9d4c494fc837: Pull complete", "faf59507d6c6: Pull complete", "Digest: sha256:173d31c972b09ccd09bc392f1aa661bd7855b954284a627ae5929030ecbf5d61", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-config-devicemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_8_3-2", "delta": "0:00:07.122599", "end": "2025-09-02 22:28:40.556638", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:28:33.434039", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n5c460fec2cef: Pulling fs layer\n2638d1bc81f6: Pulling fs layer\nca493e1f7e48: Pulling fs layer\nca493e1f7e48: Verifying Checksum\nca493e1f7e48: Download complete\n5c460fec2cef: Verifying Checksum\n5c460fec2cef: Download complete\n5c460fec2cef: Pull complete\n2638d1bc81f6: Verifying Checksum\n2638d1bc81f6: Download complete\n2638d1bc81f6: Pull complete\nca493e1f7e48: Pull complete\nDigest: sha256:ffb96f938010c42dc7bf20d5d06048184e1b383fe416245364d280d5f2dee12d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "5c460fec2cef: Pulling fs layer", "2638d1bc81f6: Pulling fs layer", "ca493e1f7e48: Pulling fs layer", "ca493e1f7e48: Verifying Checksum", "ca493e1f7e48: Download complete", "5c460fec2cef: Verifying Checksum", "5c460fec2cef: Download complete", "5c460fec2cef: Pull complete", "2638d1bc81f6: Verifying Checksum", "2638d1bc81f6: Download complete", "2638d1bc81f6: Pull complete", "ca493e1f7e48: Pull complete", "Digest: sha256:ffb96f938010c42dc7bf20d5d06048184e1b383fe416245364d280d5f2dee12d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-config-dnsmasq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_8_3-2", "delta": "0:00:00.542663", "end": "2025-09-02 22:28:41.515302", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-09-02 22:28:40.972639", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n42f460e84d70: Pulling fs layer\n27f0a7e2c217: Pulling fs layer\n75e771fc88fe: Pulling fs layer\n3029d8318230: Pulling fs layer\n3029d8318230: Waiting\n75e771fc88fe: Verifying Checksum\n75e771fc88fe: Download complete\n27f0a7e2c217: Download complete\n42f460e84d70: Verifying Checksum\n42f460e84d70: Download complete\n42f460e84d70: Pull complete\n27f0a7e2c217: Pull complete\n3029d8318230: Verifying Checksum\n3029d8318230: Download complete\n75e771fc88fe: Pull complete\n3029d8318230: Pull complete\nDigest: sha256:79d14226d63e16db7fe663cc2cfa97c979aa77216da4f3464acfde8b8046694a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "42f460e84d70: Pulling fs layer", "27f0a7e2c217: Pulling fs layer", "75e771fc88fe: Pulling fs layer", "3029d8318230: Pulling fs layer", "3029d8318230: Waiting", "75e771fc88fe: Verifying Checksum", "75e771fc88fe: Download complete", "27f0a7e2c217: Download complete", "42f460e84d70: Verifying Checksum", "42f460e84d70: Download complete", "42f460e84d70: Pull complete", "27f0a7e2c217: Pull complete", "3029d8318230: Verifying Checksum", "3029d8318230: Download complete", "75e771fc88fe: Pull complete", "3029d8318230: Pull complete", "Digest: sha256:79d14226d63e16db7fe663cc2cfa97c979aa77216da4f3464acfde8b8046694a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.096379", "end": "2025-09-02 22:28:42.039193", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:28:41.942814", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_config : create /etc/contrail/config] **************************** changed: [10.0.0.48] => {"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.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config : create /etc/contrail/common_config.env] ***************** changed: [10.0.0.48] => {"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.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => {"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.48]: 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.48] => {"ansible_facts": {"use_external_tftp": false}, "changed": false} TASK [opensdn_config : check if ironic_pxe is deployed on node] **************** fatal: [10.0.0.48]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.028745", "end": "2025-09-02 22:28:59.668061", "msg": "non-zero return code", "rc": 1, "start": "2025-09-02 22:28:59.639316", "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.48] => {"changed": true, "checksum": "b1b7dae3bda094f5f43c8f8c727dddce5ee8447e", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "ad2713620636e7e45ceb384f129ddbac", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852139.9436257-62678-217615959017474/source", "state": "file", "uid": 0} TASK [opensdn_config : start contrail config] ********************************** changed: [10.0.0.48] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "4a2c5781607c4a9281baeb27a2e8a1c403fb8f5ad1107c8bdbe8dc4cfb0136d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Controller Configuration API provides a REST API to an orchestration system.", "io.opensdn.container.name": "opensdn-controller-config-api", "io.opensdn.pod": "config", "io.opensdn.service": "api", "name": "opensdn-controller-config-api", "release": "5.1.0", "summary": "Contrail Controller Configuration API", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "e9140cc25a634f53b247b9c120490b7cda6e54c780732f2dda81035aa39d369f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "devicemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Device Manager is used to manage network devices in the Contrail system.", "io.opensdn.container.name": "opensdn-controller-config-devicemgr", "io.opensdn.pod": "config", "io.opensdn.service": "device-manager", "name": "opensdn-controller-config-devicemgr", "release": "5.1.0", "summary": "Contrail Device Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "ba301c744a0fd2b39171f9d0c444db4e33eb893defda0f1210f1acf1ffb04efc", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "dnsmasq", "com.docker.compose.version": "1.29.2", "description": "Contrail Dnsmasq provides network infrastructure: DNS, DHCP, router advertisement and network boot.", "io.opensdn.container.name": "opensdn-controller-config-dnsmasq", "io.opensdn.pod": "config", "io.opensdn.service": "dnsmasq", "name": "opensdn-controller-config-dnsmasq", "release": "5.1.0", "summary": "Contrail Dnsmasq", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "1bf0a998ec0fbd65186edc323ac5860eee3f269167fbfb06023b09dca812aeae", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "120bced7126c28377b3132a3b640f10f1b09459c1ccfcdd51d3d6fc277389def", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "67fef09022335045d3a2b5563216ae9449a1ff6eb0d38f7a453ad60da6299a6e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "schema", "com.docker.compose.version": "1.29.2", "description": "Contrail Schema Transformer compiles the high level, intent based data model into a low level configuration data model.", "io.opensdn.container.name": "opensdn-controller-config-schema", "io.opensdn.pod": "config", "io.opensdn.service": "schema", "name": "opensdn-controller-config-schema", "release": "5.1.0", "summary": "Contrail VNC Configuration Schema Transformer", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "bed335ad21ce4a3281da6d5f060cd486f4a89d2fc53578b30fc020a74f6ad900", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "svcmonitor", "com.docker.compose.version": "1.29.2", "description": "Contrail Service Monitor brings up and monitors any service instance that are spawned.", "io.opensdn.container.name": "opensdn-controller-config-svcmonitor", "io.opensdn.pod": "config", "io.opensdn.service": "svc-monitor", "name": "opensdn-controller-config-svcmonitor", "release": "5.1.0", "summary": "Contrail Service Monitor", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail webui] *************************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_webui : update contrail webui image] ***************************** changed: [10.0.0.48] => (item=opensdn-controller-webui-web) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_8_3-2", "delta": "0:00:07.772199", "end": "2025-09-02 22:29:12.017433", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-09-02 22:29:04.245234", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n6df4d7445e3b: Pulling fs layer\nf1cb9281ebb2: Pulling fs layer\n7ac7c896952d: Pulling fs layer\n24942902d845: Pulling fs layer\nb6da9a97936b: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n24942902d845: Waiting\nb6da9a97936b: Waiting\n4f4fb700ef54: Waiting\nf1cb9281ebb2: Verifying Checksum\nf1cb9281ebb2: Download complete\nb6da9a97936b: Download complete\n24942902d845: Verifying Checksum\n24942902d845: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n6df4d7445e3b: Verifying Checksum\n6df4d7445e3b: Download complete\n6df4d7445e3b: Pull complete\nf1cb9281ebb2: Pull complete\n7ac7c896952d: Pull complete\n24942902d845: Pull complete\nb6da9a97936b: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:014bfc159affab4a97efa3a1f6d400732fc7ed1b1a57efa7de8a0095f80a9239\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "6df4d7445e3b: Pulling fs layer", "f1cb9281ebb2: Pulling fs layer", "7ac7c896952d: Pulling fs layer", "24942902d845: Pulling fs layer", "b6da9a97936b: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "24942902d845: Waiting", "b6da9a97936b: Waiting", "4f4fb700ef54: Waiting", "f1cb9281ebb2: Verifying Checksum", "f1cb9281ebb2: Download complete", "b6da9a97936b: Download complete", "24942902d845: Verifying Checksum", "24942902d845: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "6df4d7445e3b: Verifying Checksum", "6df4d7445e3b: Download complete", "6df4d7445e3b: Pull complete", "f1cb9281ebb2: Pull complete", "7ac7c896952d: Pull complete", "24942902d845: Pull complete", "b6da9a97936b: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:014bfc159affab4a97efa3a1f6d400732fc7ed1b1a57efa7de8a0095f80a9239", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-webui-job) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_8_3-2", "delta": "0:00:00.372490", "end": "2025-09-02 22:29:12.843759", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-09-02 22:29:12.471269", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n6df4d7445e3b: Already exists\nf1cb9281ebb2: Already exists\n7ac7c896952d: Already exists\n24942902d845: Already exists\nb6da9a97936b: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:2387608d3ac1b164791759bf9d63a4adcfd8866c1545fc4ecb0cac8bf11dc088\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "6df4d7445e3b: Already exists", "f1cb9281ebb2: Already exists", "7ac7c896952d: Already exists", "24942902d845: Already exists", "b6da9a97936b: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:2387608d3ac1b164791759bf9d63a4adcfd8866c1545fc4ecb0cac8bf11dc088", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_8_3-2"]} TASK [opensdn_webui : create /etc/contrail/webui] ****************************** changed: [10.0.0.48] => {"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.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_webui : create /etc/contrail/common_webui.env] ******************* changed: [10.0.0.48] => {"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.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => {"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.48]: 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.48] => {"changed": true, "checksum": "b42cff1f7e70a463f1160548661f314cb90a9b9a", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "b05f8226f7165fbf584c749e3d84ca98", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852169.679187-66780-40363498109026/source", "state": "file", "uid": 0} TASK [opensdn_webui : start contrail webui] ************************************ changed: [10.0.0.48] => {"changed": true, "services": {"job": {"webui_job_1": {"cmd": ["/usr/bin/node", "jobServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "7c68b38180f1b404ab328d0415c2e91d2e79f3f3a79d06515263d466b099d07c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "job", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI Job middleware handles jobs from the WebUI service and contacts other Contrail services to execute them.", "io.opensdn.container.name": "opensdn-controller-webui-job", "io.opensdn.pod": "webui", "io.opensdn.service": "job", "name": "opensdn-controller-webui-job", "release": "5.1.0", "summary": "Contrail WEB UI Job", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "web": {"webui_web_1": {"cmd": ["/usr/bin/node", "webServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "22d360de3337f27372c23387d494199e3fb23d52af17d77809eeaf4551b935f6", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "web", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI provides the Web UI service to end user.", "io.opensdn.container.name": "opensdn-controller-webui-web", "io.opensdn.pod": "webui", "io.opensdn.service": "web", "name": "opensdn-controller-webui-web", "release": "5.1.0", "summary": "Contrail WEB UI", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail control] ************************************************* [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_control : update contrail control image] ************************* changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.108020", "end": "2025-09-02 22:29:34.124329", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:29:34.016309", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.096560", "end": "2025-09-02 22:29:34.667353", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:29:34.570793", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-control-control) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_8_3-2", "delta": "0:00:05.581376", "end": "2025-09-02 22:29:40.689610", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-09-02 22:29:35.108234", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n1264fdeb6be2: Pulling fs layer\ncc03dbd62763: Pulling fs layer\nb855cb1272e8: Pulling fs layer\n61c8ff6f7ad6: Pulling fs layer\n61c8ff6f7ad6: Waiting\nb855cb1272e8: Verifying Checksum\nb855cb1272e8: Download complete\n61c8ff6f7ad6: Verifying Checksum\n61c8ff6f7ad6: Download complete\n1264fdeb6be2: Verifying Checksum\n1264fdeb6be2: Download complete\n1264fdeb6be2: Pull complete\ncc03dbd62763: Verifying Checksum\ncc03dbd62763: Download complete\ncc03dbd62763: Pull complete\nb855cb1272e8: Pull complete\n61c8ff6f7ad6: Pull complete\nDigest: sha256:8cbdf59e685f1ddb09bcedb73014717b304accdde578bf67d0f357ed2a582fe1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "1264fdeb6be2: Pulling fs layer", "cc03dbd62763: Pulling fs layer", "b855cb1272e8: Pulling fs layer", "61c8ff6f7ad6: Pulling fs layer", "61c8ff6f7ad6: Waiting", "b855cb1272e8: Verifying Checksum", "b855cb1272e8: Download complete", "61c8ff6f7ad6: Verifying Checksum", "61c8ff6f7ad6: Download complete", "1264fdeb6be2: Verifying Checksum", "1264fdeb6be2: Download complete", "1264fdeb6be2: Pull complete", "cc03dbd62763: Verifying Checksum", "cc03dbd62763: Download complete", "cc03dbd62763: Pull complete", "b855cb1272e8: Pull complete", "61c8ff6f7ad6: Pull complete", "Digest: sha256:8cbdf59e685f1ddb09bcedb73014717b304accdde578bf67d0f357ed2a582fe1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-control-named) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_8_3-2", "delta": "0:00:00.470381", "end": "2025-09-02 22:29:41.590116", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-09-02 22:29:41.119735", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n1264fdeb6be2: Already exists\n44cd91b553d5: Pulling fs layer\n0b89b82f99ea: Pulling fs layer\n09ccac8d6f93: Pulling fs layer\n28b5ce32c361: Pulling fs layer\nb5aeeb4fe36d: Pulling fs layer\nc15fefa0a431: Pulling fs layer\n28b5ce32c361: Waiting\nb5aeeb4fe36d: Waiting\nc15fefa0a431: Waiting\n0b89b82f99ea: Verifying Checksum\n0b89b82f99ea: Download complete\n44cd91b553d5: Download complete\n09ccac8d6f93: Download complete\n28b5ce32c361: Verifying Checksum\n28b5ce32c361: Download complete\n44cd91b553d5: Pull complete\nb5aeeb4fe36d: Verifying Checksum\nb5aeeb4fe36d: Download complete\nc15fefa0a431: Verifying Checksum\nc15fefa0a431: Download complete\n0b89b82f99ea: Pull complete\n09ccac8d6f93: Pull complete\n28b5ce32c361: Pull complete\nb5aeeb4fe36d: Pull complete\nc15fefa0a431: Pull complete\nDigest: sha256:6d813f8939fd92cbed4ff69a3a0aa605fd4e6618ae812e58d8023b19817bd424\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "1264fdeb6be2: Already exists", "44cd91b553d5: Pulling fs layer", "0b89b82f99ea: Pulling fs layer", "09ccac8d6f93: Pulling fs layer", "28b5ce32c361: Pulling fs layer", "b5aeeb4fe36d: Pulling fs layer", "c15fefa0a431: Pulling fs layer", "28b5ce32c361: Waiting", "b5aeeb4fe36d: Waiting", "c15fefa0a431: Waiting", "0b89b82f99ea: Verifying Checksum", "0b89b82f99ea: Download complete", "44cd91b553d5: Download complete", "09ccac8d6f93: Download complete", "28b5ce32c361: Verifying Checksum", "28b5ce32c361: Download complete", "44cd91b553d5: Pull complete", "b5aeeb4fe36d: Verifying Checksum", "b5aeeb4fe36d: Download complete", "c15fefa0a431: Verifying Checksum", "c15fefa0a431: Download complete", "0b89b82f99ea: Pull complete", "09ccac8d6f93: Pull complete", "28b5ce32c361: Pull complete", "b5aeeb4fe36d: Pull complete", "c15fefa0a431: Pull complete", "Digest: sha256:6d813f8939fd92cbed4ff69a3a0aa605fd4e6618ae812e58d8023b19817bd424", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-controller-control-dns) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_8_3-2", "delta": "0:00:03.007311", "end": "2025-09-02 22:29:45.033527", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-09-02 22:29:42.026216", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n1264fdeb6be2: Already exists\n6d904d2275d6: Pulling fs layer\n3c5efcde4494: Pulling fs layer\neecd4a094642: Pulling fs layer\n73cdb6ab8d12: Pulling fs layer\n7c6d268fe4b0: Pulling fs layer\nc28b71fe0bd2: Pulling fs layer\ndb9073ef2247: Pulling fs layer\n58aaed73b605: Pulling fs layer\n178b71b1c968: Pulling fs layer\n73cdb6ab8d12: Waiting\n7c6d268fe4b0: Waiting\nc28b71fe0bd2: Waiting\ndb9073ef2247: Waiting\n58aaed73b605: Waiting\n178b71b1c968: Waiting\neecd4a094642: Download complete\n3c5efcde4494: Verifying Checksum\n3c5efcde4494: Download complete\n73cdb6ab8d12: Verifying Checksum\n73cdb6ab8d12: Download complete\n7c6d268fe4b0: Verifying Checksum\n7c6d268fe4b0: Download complete\ndb9073ef2247: Verifying Checksum\ndb9073ef2247: Download complete\nc28b71fe0bd2: Verifying Checksum\nc28b71fe0bd2: Download complete\n58aaed73b605: Verifying Checksum\n58aaed73b605: Download complete\n178b71b1c968: Verifying Checksum\n178b71b1c968: Download complete\n6d904d2275d6: Verifying Checksum\n6d904d2275d6: Download complete\n6d904d2275d6: Pull complete\n3c5efcde4494: Pull complete\neecd4a094642: Pull complete\n73cdb6ab8d12: Pull complete\n7c6d268fe4b0: Pull complete\nc28b71fe0bd2: Pull complete\ndb9073ef2247: Pull complete\n58aaed73b605: Pull complete\n178b71b1c968: Pull complete\nDigest: sha256:3cb44f4aa843e0bb71fa39d4e8b3700771016929039f18b62a5524f8cd3cf974\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "1264fdeb6be2: Already exists", "6d904d2275d6: Pulling fs layer", "3c5efcde4494: Pulling fs layer", "eecd4a094642: Pulling fs layer", "73cdb6ab8d12: Pulling fs layer", "7c6d268fe4b0: Pulling fs layer", "c28b71fe0bd2: Pulling fs layer", "db9073ef2247: Pulling fs layer", "58aaed73b605: Pulling fs layer", "178b71b1c968: Pulling fs layer", "73cdb6ab8d12: Waiting", "7c6d268fe4b0: Waiting", "c28b71fe0bd2: Waiting", "db9073ef2247: Waiting", "58aaed73b605: Waiting", "178b71b1c968: Waiting", "eecd4a094642: Download complete", "3c5efcde4494: Verifying Checksum", "3c5efcde4494: Download complete", "73cdb6ab8d12: Verifying Checksum", "73cdb6ab8d12: Download complete", "7c6d268fe4b0: Verifying Checksum", "7c6d268fe4b0: Download complete", "db9073ef2247: Verifying Checksum", "db9073ef2247: Download complete", "c28b71fe0bd2: Verifying Checksum", "c28b71fe0bd2: Download complete", "58aaed73b605: Verifying Checksum", "58aaed73b605: Download complete", "178b71b1c968: Verifying Checksum", "178b71b1c968: Download complete", "6d904d2275d6: Verifying Checksum", "6d904d2275d6: Download complete", "6d904d2275d6: Pull complete", "3c5efcde4494: Pull complete", "eecd4a094642: Pull complete", "73cdb6ab8d12: Pull complete", "7c6d268fe4b0: Pull complete", "c28b71fe0bd2: Pull complete", "db9073ef2247: Pull complete", "58aaed73b605: Pull complete", "178b71b1c968: Pull complete", "Digest: sha256:3cb44f4aa843e0bb71fa39d4e8b3700771016929039f18b62a5524f8cd3cf974", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.094693", "end": "2025-09-02 22:29:45.545814", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:29:45.451121", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_control : create /etc/contrail/control] ************************** changed: [10.0.0.48] => {"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.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_control : create /etc/contrail/common_control.env] *************** changed: [10.0.0.48] => {"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.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => {"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.48]: 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.48] => {"changed": true, "checksum": "20c0f7656496dec08ada544582419823186974a2", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "3419f6d29a1b560519f585572a825f0f", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852202.666761-70417-39888650943227/source", "state": "file", "uid": 0} TASK [opensdn_control : start contrail control] ******************************** changed: [10.0.0.48] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "9f7f5313d6b7c45d3d98b0dd28b356c17e757399a8e4803879ac59cb0b3735b1", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "control", "com.docker.compose.version": "1.29.2", "description": "Contrail Control is xmpp/bgp based routing engine for Contrail.", "io.opensdn.container.name": "opensdn-controller-control-control", "io.opensdn.pod": "control", "io.opensdn.service": "control", "name": "opensdn-controller-control-control", "release": "5.1.0", "summary": "Contrail Controller", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "9e7906150ec605f525fa9c6ed311b66a9156ee13debab73e6578e6be81c0b561", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "dns", "com.docker.compose.version": "1.29.2", "description": "Contrail DNS provides DNS service to the VMs spawned on compute nodes.", "io.opensdn.container.name": "opensdn-controller-control-dns", "io.opensdn.pod": "control", "io.opensdn.service": "dns", "name": "opensdn-controller-control-dns", "release": "5.1.0", "summary": "Contrail DNS", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "703ac33c634af3b82415765ace52a47acc9fe6458ba1d692a9694e84e7174ea7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "named", "com.docker.compose.version": "1.29.2", "description": "Contrail Named complements Contrail DNS service.", "io.opensdn.container.name": "opensdn-controller-control-named", "io.opensdn.pod": "control", "io.opensdn.service": "named", "name": "opensdn-controller-control-named", "release": "5.1.0", "summary": "Contrail Named", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "581b5ce91534293e00bef90ccae1cf517a2063207160917ae4d1663ee4c2b7b5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "6922489664e83b30c346cf7e0e9a7541f7ac07b83982915e286861342118bba9", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics database] ************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics_database : update contrail analytics database image] *** changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.301015", "end": "2025-09-02 22:30:07.351079", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:30:07.050064", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.103859", "end": "2025-09-02 22:30:07.879975", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:30:07.776116", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-analytics-query-engine) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_8_3-2", "delta": "0:00:02.332666", "end": "2025-09-02 22:30:10.637184", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-09-02 22:30:08.304518", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n73928fbf6e07: Pulling fs layer\ncc36895ca512: Pulling fs layer\n6e5617c23f0e: Pulling fs layer\n73928fbf6e07: Verifying Checksum\n73928fbf6e07: Download complete\n73928fbf6e07: Pull complete\n6e5617c23f0e: Verifying Checksum\n6e5617c23f0e: Download complete\ncc36895ca512: Verifying Checksum\ncc36895ca512: Download complete\ncc36895ca512: Pull complete\n6e5617c23f0e: Pull complete\nDigest: sha256:ea31f06e31ea05b5ff49267d2cfa1d31137b0265aec0c097d1a164a3405f76ab\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "73928fbf6e07: Pulling fs layer", "cc36895ca512: Pulling fs layer", "6e5617c23f0e: Pulling fs layer", "73928fbf6e07: Verifying Checksum", "73928fbf6e07: Download complete", "73928fbf6e07: Pull complete", "6e5617c23f0e: Verifying Checksum", "6e5617c23f0e: Download complete", "cc36895ca512: Verifying Checksum", "cc36895ca512: Download complete", "cc36895ca512: Pull complete", "6e5617c23f0e: Pull complete", "Digest: sha256:ea31f06e31ea05b5ff49267d2cfa1d31137b0265aec0c097d1a164a3405f76ab", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "delta": "0:00:00.102724", "end": "2025-09-02 22:30:11.198072", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-09-02 22:30:11.095348", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-cassandra\nDigest: sha256:5b96e0737475082ce85ccf1134440ffaada237243c97fc6f24a7b27e44eafed0\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-cassandra", "Digest: sha256:5b96e0737475082ce85ccf1134440ffaada237243c97fc6f24a7b27e44eafed0", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.098144", "end": "2025-09-02 22:30:11.743106", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:30:11.644962", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] **** changed: [10.0.0.48] => {"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.48] => {"ansible_facts": {"cassandra_seeds": "10.0.0.48"}, "changed": false} TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] *** ok: [10.0.0.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] *** changed: [10.0.0.48] => {"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.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => {"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.48]: 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.48] => {"changed": true, "checksum": "f6851fd3861439e4426258e90fe3fe018d44bf2b", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "0841e2e0810e87df96269a1027f62efb", "mode": "0644", "owner": "root", "size": 3013, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852228.5826943-74144-270129238411374/source", "state": "file", "uid": 0} TASK [opensdn_analytics_database : start contrail analyticsdb] ***************** changed: [10.0.0.48] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "73af056c2c456034bbf6e08c010cc1c97accbd1e88cdb15b278e543e2a0e0f6c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "d029073942a16d7875a98abde006f0385985183b1dcc9d2890b2ede51b2dae7c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "ae69ecb308ec0d7231e52648c7bd645646995c0a6d2e3ffa63b03dd1b27fb68f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "65d36a84dcccf4b57469a5a96a48454784d5a1678dd3e49de74078f8d80c7f35", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "query-engine", "com.docker.compose.version": "1.29.2", "description": "Contrail Query Engine handles the queries to access data from Analytics DB.", "io.opensdn.container.name": "opensdn-analytics-query-engine", "io.opensdn.pod": "database", "io.opensdn.service": "query-engine", "name": "opensdn-analytics-query-engine", "release": "5.1.0", "summary": "Contrail Query Engine", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics] *********************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics : update contrail analytics images] ******************** changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.123320", "end": "2025-09-02 22:30:32.056127", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:30:31.932807", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.106456", "end": "2025-09-02 22:30:32.600199", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:30:32.493743", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-analytics-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_8_3-2", "delta": "0:00:02.854427", "end": "2025-09-02 22:30:35.907802", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-09-02 22:30:33.053375", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n1fb3f9b37c14: Pulling fs layer\ne41b38aef4ce: Pulling fs layer\n1fb3f9b37c14: Verifying Checksum\n1fb3f9b37c14: Download complete\n1fb3f9b37c14: Pull complete\ne41b38aef4ce: Verifying Checksum\ne41b38aef4ce: Download complete\ne41b38aef4ce: Pull complete\nDigest: sha256:8e84b4fcddb0c9564cee72da3bc7fdc500fee878c3031b9796daef0f4460ae32\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "1fb3f9b37c14: Pulling fs layer", "e41b38aef4ce: Pulling fs layer", "1fb3f9b37c14: Verifying Checksum", "1fb3f9b37c14: Download complete", "1fb3f9b37c14: Pull complete", "e41b38aef4ce: Verifying Checksum", "e41b38aef4ce: Download complete", "e41b38aef4ce: Pull complete", "Digest: sha256:8e84b4fcddb0c9564cee72da3bc7fdc500fee878c3031b9796daef0f4460ae32", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-analytics-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_8_3-2", "delta": "0:00:03.705908", "end": "2025-09-02 22:30:40.070862", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-09-02 22:30:36.364954", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n513be26c3144: Pulling fs layer\n0ef6b8d2cdbb: Pulling fs layer\nbe8e11e9891b: Pulling fs layer\n513be26c3144: Verifying Checksum\n513be26c3144: Download complete\n513be26c3144: Pull complete\nbe8e11e9891b: Verifying Checksum\nbe8e11e9891b: Download complete\n0ef6b8d2cdbb: Verifying Checksum\n0ef6b8d2cdbb: Download complete\n0ef6b8d2cdbb: Pull complete\nbe8e11e9891b: Pull complete\nDigest: sha256:b49328b1378ccb303637407e15730c23aa4fd75062778f4126191dd3b7dee65f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "513be26c3144: Pulling fs layer", "0ef6b8d2cdbb: Pulling fs layer", "be8e11e9891b: Pulling fs layer", "513be26c3144: Verifying Checksum", "513be26c3144: Download complete", "513be26c3144: Pull complete", "be8e11e9891b: Verifying Checksum", "be8e11e9891b: Download complete", "0ef6b8d2cdbb: Verifying Checksum", "0ef6b8d2cdbb: Download complete", "0ef6b8d2cdbb: Pull complete", "be8e11e9891b: Pull complete", "Digest: sha256:b49328b1378ccb303637407e15730c23aa4fd75062778f4126191dd3b7dee65f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.100437", "end": "2025-09-02 22:30:40.603992", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:30:40.503555", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_analytics : create /etc/contrail/analytics] ********************** changed: [10.0.0.48] => {"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.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] *********** changed: [10.0.0.48] => {"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.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.48] => {"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.48]: 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.48] => {"changed": true, "checksum": "ae4df0d6c3fd4abf75d422896edfab6493f21e40", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "efa9edba2e5dd167bf7b938bfbb7e872", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852257.0429595-78112-105339341115284/source", "state": "file", "uid": 0} TASK [opensdn_analytics : start contrail analytics] **************************** changed: [10.0.0.48] => {"changed": true, "services": {"api": {"analytics_api_1": {"cmd": ["/usr/local/bin/contrail-analytics-api", "-c", "/etc/contrail/contrail-analytics-api.conf", "-c", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "91ab0fb6f93b3a36a368c5e17c75cd51ff036989bee1b3c9ea6d4c2b23a965ce", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics API provides REST API to access collected analytics data.", "io.opensdn.container.name": "opensdn-analytics-api", "io.opensdn.pod": "analytics", "io.opensdn.service": "api", "name": "opensdn-analytics-api", "release": "5.1.0", "summary": "Contrail Analytics API", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "ff09694275754126ca6a0c898412124ca824584c4115cb9767167c76b0001fd7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "collector", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics Collector collects the running state of different processes sent by other nodes.", "io.opensdn.container.name": "opensdn-analytics-collector", "io.opensdn.pod": "analytics", "io.opensdn.service": "collector", "name": "opensdn-analytics-collector", "release": "5.1.0", "summary": "Contrail Analytics Collector", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "4b33d19505ba100b05cccaa7fbd352cc31f1e221f023e2253c47555d4ed7427a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "03fb10604dbdc908505a6f557d5b13b959c5e7f211108b1147a3426538c89c6d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics alarm] ***************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics_alarm : update alarm, external-kafka image] ************ changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.102930", "end": "2025-09-02 22:31:00.743780", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:31:00.640850", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.097227", "end": "2025-09-02 22:31:01.287910", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:31:01.190683", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-analytics-alarm-gen) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_8_3-2", "delta": "0:00:00.575134", "end": "2025-09-02 22:31:02.286384", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-09-02 22:31:01.711250", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n0441a7830de3: Pulling fs layer\na715d0340131: Pulling fs layer\n0441a7830de3: Verifying Checksum\n0441a7830de3: Download complete\n0441a7830de3: Pull complete\na715d0340131: Verifying Checksum\na715d0340131: Download complete\na715d0340131: Pull complete\nDigest: sha256:e8a47a7d4a1eeadba200c175c9757b9df7f9e7613120dd4f8b38e5e32d6ca438\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "0441a7830de3: Pulling fs layer", "a715d0340131: Pulling fs layer", "0441a7830de3: Verifying Checksum", "0441a7830de3: Download complete", "0441a7830de3: Pull complete", "a715d0340131: Verifying Checksum", "a715d0340131: Download complete", "a715d0340131: Pull complete", "Digest: sha256:e8a47a7d4a1eeadba200c175c9757b9df7f9e7613120dd4f8b38e5e32d6ca438", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-external-kafka) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_8_3-2", "delta": "0:00:07.620313", "end": "2025-09-02 22:31:10.407469", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-09-02 22:31:02.787156", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n935b3564a214: Pulling fs layer\n9049a77b02eb: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n935b3564a214: Download complete\n935b3564a214: Pull complete\n9049a77b02eb: Verifying Checksum\n9049a77b02eb: Download complete\n9049a77b02eb: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:4149bb38696464eafe27cb1ef3a64040cfb1b73e0e2fc6c3dc0789b2f5d89df8\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "935b3564a214: Pulling fs layer", "9049a77b02eb: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "935b3564a214: Download complete", "935b3564a214: Pull complete", "9049a77b02eb: Verifying Checksum", "9049a77b02eb: Download complete", "9049a77b02eb: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:4149bb38696464eafe27cb1ef3a64040cfb1b73e0e2fc6c3dc0789b2f5d89df8", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.095797", "end": "2025-09-02 22:31:10.929950", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:31:10.834153", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] ********** changed: [10.0.0.48] => {"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.48] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.48"}, "changed": false} TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] *** changed: [10.0.0.48] => {"changed": true, "checksum": "2350bea609d4cba6a8c64bc29662338c4f541ed4", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "d401a5a516cbb3215c7344dd5e8f1008", "mode": "0644", "owner": "root", "size": 2475, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852271.8829496-79917-188696690851039/source", "state": "file", "uid": 0} TASK [opensdn_analytics_alarm : start contrail analytics_alarm] **************** changed: [10.0.0.48] => {"changed": true, "services": {"alarm-gen": {"analytics_alarm_alarm-gen_1": {"cmd": ["/usr/local/bin/contrail-alarm-gen", "-c", "/etc/contrail/contrail-alarm-gen.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "0adda900ccc72aaf0ea9602da6f19b2723b0a03d7d280fc2572093b814d63ebc", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "alarm-gen", "com.docker.compose.version": "1.29.2", "description": "Contrail Alarm Generator generates alerts (alarms) which highlight unusual conditions that may require more urgent administrator attention and action.", "io.opensdn.container.name": "opensdn-analytics-alarm-gen", "io.opensdn.pod": "analytics-alarm", "io.opensdn.service": "alarm-gen", "name": "opensdn-analytics-alarm-gen", "release": "5.1.0", "summary": "Contrail Alarm Generator", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["bin/kafka-server-start.sh", "config/server.properties"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "69ed079420682a12f76078d4b9534c23b07b01c178c7988bc382be5495f23301", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "kafka", "com.docker.compose.version": "1.29.2", "description": "Contrail Kafka is used for streaming data in Analytics DB.", "io.opensdn.container.name": "opensdn-external-kafka", "io.opensdn.service": "kafka", "name": "opensdn-external-kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "668e20f4ade87bb409f16e351fb79fcd52c251f0cf98992b498cdb510162f50a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "6677881c886f02821ad09b997ff09e7b4af37df8dda8d67d2450b8a2deaf1969", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics snmp] ****************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_analytics_snmp : update contrail-snmp-collector and contrail-analytics-snmp-topology image] *** changed: [10.0.0.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.094562", "end": "2025-09-02 22:31:15.556819", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:31:15.462257", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.111872", "end": "2025-09-02 22:31:16.103162", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:31:15.991290", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-analytics-snmp-topology) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_8_3-2", "delta": "0:00:04.557908", "end": "2025-09-02 22:31:21.102368", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-09-02 22:31:16.544460", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\na95e28795d3b: Pulling fs layer\ne5a7dd69eacc: Pulling fs layer\na677fd69c663: Pulling fs layer\ne5a7dd69eacc: Verifying Checksum\ne5a7dd69eacc: Download complete\na677fd69c663: Verifying Checksum\na677fd69c663: Download complete\na95e28795d3b: Verifying Checksum\na95e28795d3b: Download complete\na95e28795d3b: Pull complete\ne5a7dd69eacc: Pull complete\na677fd69c663: Pull complete\nDigest: sha256:6829275aae0edd8a5634761f2281fc2e45acb2fe7b9da6decc5b345e7f0378f0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "a95e28795d3b: Pulling fs layer", "e5a7dd69eacc: Pulling fs layer", "a677fd69c663: Pulling fs layer", "e5a7dd69eacc: Verifying Checksum", "e5a7dd69eacc: Download complete", "a677fd69c663: Verifying Checksum", "a677fd69c663: Download complete", "a95e28795d3b: Verifying Checksum", "a95e28795d3b: Download complete", "a95e28795d3b: Pull complete", "e5a7dd69eacc: Pull complete", "a677fd69c663: Pull complete", "Digest: sha256:6829275aae0edd8a5634761f2281fc2e45acb2fe7b9da6decc5b345e7f0378f0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-analytics-snmp-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_8_3-2", "delta": "0:00:00.379278", "end": "2025-09-02 22:31:21.954216", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-09-02 22:31:21.574938", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\na95e28795d3b: Already exists\n2f7c105e11fc: Pulling fs layer\n79e7ea63b9d3: Pulling fs layer\n2f7c105e11fc: Verifying Checksum\n2f7c105e11fc: Download complete\n79e7ea63b9d3: Download complete\n2f7c105e11fc: Pull complete\n79e7ea63b9d3: Pull complete\nDigest: sha256:68151815acea04c3f6884518533aa1e2117ed68739e03d4748b89276a1f39386\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "a95e28795d3b: Already exists", "2f7c105e11fc: Pulling fs layer", "79e7ea63b9d3: Pulling fs layer", "2f7c105e11fc: Verifying Checksum", "2f7c105e11fc: Download complete", "79e7ea63b9d3: Download complete", "2f7c105e11fc: Pull complete", "79e7ea63b9d3: Pull complete", "Digest: sha256:68151815acea04c3f6884518533aa1e2117ed68739e03d4748b89276a1f39386", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.102087", "end": "2025-09-02 22:31:22.504020", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:31:22.401933", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************ changed: [10.0.0.48] => {"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.48] => {"changed": true, "checksum": "eac1fd03849e673be2361669dee7a0349854f11b", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "52f4e133e5be742a196ed841ba4c19d8", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852283.2192144-82174-238017386433993/source", "state": "file", "uid": 0} TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ****************** changed: [10.0.0.48] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "b607fc616ca67f200b46a768b19909a44f478ab3f5315e55a00661ec3bffce0d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "a52ba439961c03ff1331fe6e74c2f0fabeb3c7f0ac3be44514b7e2a48beb4879", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "6cb7478246c804d6f5cbc5a8ff94bd98c03139704cd17c846d025f30e5859e84", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "snmp-collector", "com.docker.compose.version": "1.29.2", "description": "SNMP Collector collects data from switches(Spine/Leaf).", "io.opensdn.container.name": "opensdn-analytics-snmp-collector", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "snmp-collector", "name": "opensdn-analytics-snmp-collector", "release": "5.1.0", "summary": "SNMP Collector", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "25a35a99d1076f2b4241f84574d64eecc9530cd4e219cf1cf724137ec8d578de", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "topology", "com.docker.compose.version": "1.29.2", "description": "SNMP Topology periodically updates topology table, which is used by UI to draw maps.", "io.opensdn.container.name": "opensdn-analytics-snmp-topology", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "topology", "name": "opensdn-analytics-snmp-topology", "release": "5.1.0", "summary": "SNMP Topology", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail rsyslogd for Linux] ************************************** [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_rsyslogd : update contrail rsyslogd image] *********************** changed: [10.0.0.48] => (item=opensdn-external-rsyslogd) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_8_3-2", "delta": "0:00:00.480023", "end": "2025-09-02 22:31:27.200903", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-09-02 22:31:26.720880", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n7201cd4bd489: Pulling fs layer\nb03abba29756: Pulling fs layer\n4014e64a1bc5: Pulling fs layer\n6eda233089d4: Pulling fs layer\n6eda233089d4: Waiting\n4014e64a1bc5: Verifying Checksum\n4014e64a1bc5: Download complete\n6eda233089d4: Verifying Checksum\n6eda233089d4: Download complete\n7201cd4bd489: Pull complete\nb03abba29756: Verifying Checksum\nb03abba29756: Download complete\nb03abba29756: Pull complete\n4014e64a1bc5: Pull complete\n6eda233089d4: Pull complete\nDigest: sha256:a16de565d4ad4ee017a7eae5473b757acc666cfb8d88e17c4bde97719e3902fc\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "7201cd4bd489: Pulling fs layer", "b03abba29756: Pulling fs layer", "4014e64a1bc5: Pulling fs layer", "6eda233089d4: Pulling fs layer", "6eda233089d4: Waiting", "4014e64a1bc5: Verifying Checksum", "4014e64a1bc5: Download complete", "6eda233089d4: Verifying Checksum", "6eda233089d4: Download complete", "7201cd4bd489: Pull complete", "b03abba29756: Verifying Checksum", "b03abba29756: Download complete", "b03abba29756: Pull complete", "4014e64a1bc5: Pull complete", "6eda233089d4: Pull complete", "Digest: sha256:a16de565d4ad4ee017a7eae5473b757acc666cfb8d88e17c4bde97719e3902fc", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_8_3-2"]} TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************ changed: [10.0.0.48] => {"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.48] => {"changed": true, "checksum": "ec2eaee66ba9d943b50a7fe75acdbb3804b93b2d", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "6d090f5941dbc61b62646042a55662ff", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852287.9258814-83395-36008011371466/source", "state": "file", "uid": 0} TASK [opensdn_rsyslogd : start rsyslogd] *************************************** changed: [10.0.0.48] => {"changed": true, "services": {"rsyslogd": {"rsyslogd_rsyslogd_1": {"cmd": ["/bin/sh", "-c", "rsyslogd -n -f /etc/rsyslog.conf -i $RSYSLOGD_PIDFILE"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "bfa74e7611f581e721b768e4c785f61111c552a258153c23701f747bf8524cbd", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "rsyslogd", "com.docker.compose.project.config_files": "/etc/contrail/rsyslogd/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/rsyslogd", "com.docker.compose.service": "rsyslogd", "com.docker.compose.version": "1.29.2", "description": "Contrail rsyslogd support", "io.opensdn.container.name": "", "io.opensdn.service": "rsyslogd", "name": "", "release": "5.1.0", "summary": "Contrail rsyslogd", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail vrouter for Linux] *************************************** TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.48] => {"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.48] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "delta": "0:00:00.099544", "end": "2025-09-02 22:31:30.533021", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-02 22:31:30.433477", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-node-init\nDigest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-node-init", "Digest: sha256:69baeb867569db2735da2da73718223860ef0bbd59b6b13988064dbbf6f108b4", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "delta": "0:00:00.098050", "end": "2025-09-02 22:31:31.126382", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-02 22:31:31.028332", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-nodemgr\nDigest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-nodemgr", "Digest: sha256:b2552bbab0c6184cea72da98cc1d43bd5fb3bba461e6f89e8e1c9dd3b02575cf", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "delta": "0:00:00.096524", "end": "2025-09-02 22:31:31.664434", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-02 22:31:31.567910", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-provisioner\nDigest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-provisioner", "Digest: sha256:7f62535da6746e499f973d322bec311f7e1ab037e15e490a332768c2a229cd14", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-vrouter-kernel-build-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_8_3-2", "delta": "0:00:07.039534", "end": "2025-09-02 22:31:39.155952", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-09-02 22:31:32.116418", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-vrouter-kernel-build-init\nde66fc90c55d: Pulling fs layer\na9607c731a03: Pulling fs layer\nc6ffc8162100: Pulling fs layer\nf30989835d8c: Pulling fs layer\n6966588394ee: Pulling fs layer\nd0d02ee4a5cb: Pulling fs layer\ndd6f1fe32e22: Pulling fs layer\na79d519900cf: Pulling fs layer\nf30989835d8c: Waiting\n6966588394ee: Waiting\nd0d02ee4a5cb: Waiting\ndd6f1fe32e22: Waiting\na79d519900cf: Waiting\nc6ffc8162100: Verifying Checksum\nc6ffc8162100: Download complete\na9607c731a03: Verifying Checksum\na9607c731a03: Download complete\nf30989835d8c: Verifying Checksum\nf30989835d8c: Download complete\n6966588394ee: Verifying Checksum\n6966588394ee: Download complete\ndd6f1fe32e22: Verifying Checksum\ndd6f1fe32e22: Download complete\na79d519900cf: Verifying Checksum\na79d519900cf: Download complete\nde66fc90c55d: Verifying Checksum\nde66fc90c55d: Download complete\nd0d02ee4a5cb: Verifying Checksum\nd0d02ee4a5cb: Download complete\nde66fc90c55d: Pull complete\na9607c731a03: Pull complete\nc6ffc8162100: Pull complete\nf30989835d8c: Pull complete\n6966588394ee: Pull complete\nd0d02ee4a5cb: Pull complete\ndd6f1fe32e22: Pull complete\na79d519900cf: Pull complete\nDigest: sha256:bc3a028303a187662da627a4603f70ef0c98cfe19b610e1d54386496e89be3ff\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-vrouter-kernel-build-init", "de66fc90c55d: Pulling fs layer", "a9607c731a03: Pulling fs layer", "c6ffc8162100: Pulling fs layer", "f30989835d8c: Pulling fs layer", "6966588394ee: Pulling fs layer", "d0d02ee4a5cb: Pulling fs layer", "dd6f1fe32e22: Pulling fs layer", "a79d519900cf: Pulling fs layer", "f30989835d8c: Waiting", "6966588394ee: Waiting", "d0d02ee4a5cb: Waiting", "dd6f1fe32e22: Waiting", "a79d519900cf: Waiting", "c6ffc8162100: Verifying Checksum", "c6ffc8162100: Download complete", "a9607c731a03: Verifying Checksum", "a9607c731a03: Download complete", "f30989835d8c: Verifying Checksum", "f30989835d8c: Download complete", "6966588394ee: Verifying Checksum", "6966588394ee: Download complete", "dd6f1fe32e22: Verifying Checksum", "dd6f1fe32e22: Download complete", "a79d519900cf: Verifying Checksum", "a79d519900cf: Download complete", "de66fc90c55d: Verifying Checksum", "de66fc90c55d: Download complete", "d0d02ee4a5cb: Verifying Checksum", "d0d02ee4a5cb: Download complete", "de66fc90c55d: Pull complete", "a9607c731a03: Pull complete", "c6ffc8162100: Pull complete", "f30989835d8c: Pull complete", "6966588394ee: Pull complete", "d0d02ee4a5cb: Pull complete", "dd6f1fe32e22: Pull complete", "a79d519900cf: Pull complete", "Digest: sha256:bc3a028303a187662da627a4603f70ef0c98cfe19b610e1d54386496e89be3ff", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_8_3-2"]} changed: [10.0.0.48] => (item=opensdn-vrouter-agent) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_8_3-2", "delta": "0:00:07.450815", "end": "2025-09-02 22:31:47.030860", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-09-02 22:31:39.580045", "stderr": "", "stderr_lines": [], "stdout": "master-2_0_8_3-2: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n8b365044d3a7: Already exists\n1969503ed97a: Already exists\n280b1ee3c851: Already exists\n64168ee0ecee: Already exists\n17d2f1e26288: Already exists\n9f210409240c: Already exists\n44e33f7b41ab: Already exists\ne98154b4e309: Already exists\n3785aa6578ed: Already exists\nec56103c5de6: Already exists\n4e18d4b0b02a: Already exists\n3b8e967c99fe: Pulling fs layer\n112575b6359e: Pulling fs layer\n147feefd22d8: Pulling fs layer\nc8e56abe728a: Pulling fs layer\n9af678ad0c83: Pulling fs layer\n8f429917044a: Pulling fs layer\nc8e56abe728a: Waiting\n9af678ad0c83: Waiting\n8f429917044a: Waiting\n112575b6359e: Download complete\nc8e56abe728a: Verifying Checksum\nc8e56abe728a: Download complete\n9af678ad0c83: Verifying Checksum\n9af678ad0c83: Download complete\n8f429917044a: Verifying Checksum\n8f429917044a: Download complete\n3b8e967c99fe: Download complete\n147feefd22d8: Verifying Checksum\n147feefd22d8: Download complete\n3b8e967c99fe: Pull complete\n112575b6359e: Pull complete\n147feefd22d8: Pull complete\nc8e56abe728a: Pull complete\n9af678ad0c83: Pull complete\n8f429917044a: Pull complete\nDigest: sha256:a6c2e017f65a75edbd8d6f3c2e313dfecc15553c8c5ab1a115d5d4a00391fcfe\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_8_3-2\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_8_3-2", "stdout_lines": ["master-2_0_8_3-2: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "8b365044d3a7: Already exists", "1969503ed97a: Already exists", "280b1ee3c851: Already exists", "64168ee0ecee: Already exists", "17d2f1e26288: Already exists", "9f210409240c: Already exists", "44e33f7b41ab: Already exists", "e98154b4e309: Already exists", "3785aa6578ed: Already exists", "ec56103c5de6: Already exists", "4e18d4b0b02a: Already exists", "3b8e967c99fe: Pulling fs layer", "112575b6359e: Pulling fs layer", "147feefd22d8: Pulling fs layer", "c8e56abe728a: Pulling fs layer", "9af678ad0c83: Pulling fs layer", "8f429917044a: Pulling fs layer", "c8e56abe728a: Waiting", "9af678ad0c83: Waiting", "8f429917044a: Waiting", "112575b6359e: Download complete", "c8e56abe728a: Verifying Checksum", "c8e56abe728a: Download complete", "9af678ad0c83: Verifying Checksum", "9af678ad0c83: Download complete", "8f429917044a: Verifying Checksum", "8f429917044a: Download complete", "3b8e967c99fe: Download complete", "147feefd22d8: Verifying Checksum", "147feefd22d8: Download complete", "3b8e967c99fe: Pull complete", "112575b6359e: Pull complete", "147feefd22d8: Pull complete", "c8e56abe728a: Pull complete", "9af678ad0c83: Pull complete", "8f429917044a: Pull complete", "Digest: sha256:a6c2e017f65a75edbd8d6f3c2e313dfecc15553c8c5ab1a115d5d4a00391fcfe", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_8_3-2", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_8_3-2"]} [WARNING]: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. TASK [opensdn_vrouter : create /etc/contrail/vrouter] ************************** changed: [10.0.0.48] => {"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.48] => {"changed": true, "checksum": "f89674fe7844ac5619c1b23f69dfff877b75eb71", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "28ce1b34d296b9713e3a0fcfbea1492e", "mode": "0640", "owner": "root", "size": 1025, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852308.1314542-84776-101724536669690/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.48] => {"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.48] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_vrouter : create contrail vrouter compose file] ****************** changed: [10.0.0.48] => {"changed": true, "checksum": "7ae9db7befbf48eb1733fa4689a8c9580836c76f", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "df2d5bd26ac33142b6afeb4235624090", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1756852309.8050413-84998-137504286156747/source", "state": "file", "uid": 0} TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] ***************** changed: [10.0.0.48] => {"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.48] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dd5dcbe02001a77d0cc971ec83cf2e480e24bdaf484e816b6ce1c253be0158af", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "c5087729ca8b7712e87c2c7c2c72a656be568a8ac10a57bd1dd7cfab8ec32479", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "9d11fa0b002926542d42be31840fc16cc864871218f64f326aa9326bb1ce54fa", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "17b529fdd23085c989f2e93180c53ddcedaaba7e5aca9de2b2b2fa08fe155548", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-agent", "com.docker.compose.version": "1.29.2", "description": "The vRouter agent is a user space process running inside Linux. It acts as the local, lightweight control plane.", "io.opensdn.container.name": "opensdn-vrouter-agent", "io.opensdn.pod": "vrouter", "io.opensdn.service": "agent", "name": "opensdn-vrouter-agent", "release": "5.1.0", "summary": "Contrail Vrouter Agent", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_0_8_3-2", "labels": {"com.docker.compose.config-hash": "dc0b2fb477e47469e022eb7d038009298ef8da7800ff651d69b8cea847d54d6c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-kernel-init", "com.docker.compose.version": "1.29.2", "description": "This image is used to build vrouter.ko for current ubuntu operating system that it's running on.", "io.opensdn.container.name": "opensdn-vrouter-kernel-build-init", "name": "opensdn-vrouter-kernel-build-init", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "24.04", "release": "5.1.0", "summary": "Contrail vrouter kernel module for ubuntu", "vendor": "OpenSDN-IO", "version": "master-2_0_8_3-2"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [opensdn_vrouter : Set variables for DPDK plugins] ************************ ok: [10.0.0.48] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false} PLAY RECAP ********************************************************************* 10.0.0.48 : ok=92 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7 localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0 INFO: done in 0s INFO: check time sync on nodes and force sync Tue Sep 2 22:32:57 UTC 2025 INFO: controller nodes - 10.0.0.48 INFO: agent nodes - 10.0.0.48 INFO: openstack controller nodes - INFO: sync time on machine ubuntu@10.0.0.48 Warning: Permanently added '10.0.0.48' (ED25519) to the list of known hosts. Warning: Permanently added '10.0.0.48' (ED25519) to the list of known hosts. INFO: Tue Sep 2 22:32:58 UTC 2025: ensure time is synced (chronyd) INFO: Tue Sep 2 22:32:58 UTC 2025: time is synced TF Web UI must be available at https://10.0.0.48:8143 OpenStack UI must be avaiable at http://10.0.0.48 Use admin/contrail123 to log in INFO: Stage tf was run successfully Tue Sep 2 22:32:58 UTC 2025 INFO: Running stage wait at Tue Sep 2 22:32:58 UTC 2025 INFO: done in 0s INFO: Stage wait was run successfully Tue Sep 2 22:33:05 UTC 2025 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-2_0_8_3-2 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_0_8_3-2 CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ORCHESTRATOR=openstack OPENSTACK_VERSION="yoga" CONTROLLER_NODES="10.0.0.48 " AGENT_NODES="10.0.0.48" 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.48' OS_AUTH_URL='http://10.0.0.48:5000/v3' AUTH_PASSWORD='contrail123' AUTH_URL='' INFO: Successful deployment Tue Sep 2 22:33:05 UTC 2025 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS