Started by upstream project "pipeline-check" build number 2792
originally caused by:
Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-container-builder/+/2142
Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on slave-openstack-gz1_1 (openstack) in workspace /home/jenkins/workspace/deploy-tf-ansible-os
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is disabled by the job configuration...
[WS-CLEANUP] Done
The recommended git tool is: git
No credentials specified
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/opensdn-io/tf-jenkins.git
> git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-jenkins # timeout=10
Fetching upstream changes from https://github.com/opensdn-io/tf-jenkins.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
> git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-jenkins.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/opensdn-io/tf-jenkins.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision fde0abc5a1ab47c83cd5260d69fe9f4fe66a6af2 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f fde0abc5a1ab47c83cd5260d69fe9f4fe66a6af2 # timeout=10
Commit message: "fix build-centos"
> git rev-list --no-walk fde0abc5a1ab47c83cd5260d69fe9f4fe66a6af2 # timeout=10
The recommended git tool is: NONE
No credentials specified
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/opensdn-io/tf-devstack.git
> git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-devstack # timeout=10
Fetching upstream changes from https://github.com/opensdn-io/tf-devstack.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
> git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-devstack.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/opensdn-io/tf-devstack.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision d3c01d37713fef51920102f47298b4ba07ef0383 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10
Commit message: "Merge "fix issuue with nodetool command on rocky9""
> git rev-list --no-walk d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10
Copied 4 artifacts from "pipeline-check" build number 2792
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins7088151641901071587.sh
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2792
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2792
++ export SLAVE=openstack
++ SLAVE=openstack
++ export SLAVE_REGION=gz1
++ SLAVE_REGION=gz1
++ export LOGS_HOST=nexus.gz1.opensdn.io
++ LOGS_HOST=nexus.gz1.opensdn.io
++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
++ CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=I481c3b7fc9fb898809e2c2ee2c88df4a1fe606ec
++ GERRIT_CHANGE_ID=I481c3b7fc9fb898809e2c2ee2c88df4a1fe606ec
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-container-builder
++ GERRIT_PROJECT=opensdn-io/tf-container-builder
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ desc='Pipeline: pipeline-check-2792 Random: 76887 Stream: ansible-os'
+ desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792/ansible-os'
+ echo 'DESCRIPTION Pipeline: pipeline-check-2792 Random: 76887 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792/ansible-os'
DESCRIPTION Pipeline: pipeline-check-2792 Random: 76887 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792/ansible-os
[description-setter] Description set: Pipeline: pipeline-check-2792 Random: 76887 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792/ansible-os'
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins1520888479199728740.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2792
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2792
++ export SLAVE=openstack
++ SLAVE=openstack
++ export SLAVE_REGION=gz1
++ SLAVE_REGION=gz1
++ export LOGS_HOST=nexus.gz1.opensdn.io
++ LOGS_HOST=nexus.gz1.opensdn.io
++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
++ CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=I481c3b7fc9fb898809e2c2ee2c88df4a1fe606ec
++ GERRIT_CHANGE_ID=I481c3b7fc9fb898809e2c2ee2c88df4a1fe606ec
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-container-builder
++ GERRIT_PROJECT=opensdn-io/tf-container-builder
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-jenkins ./patchsets-info.json
+ ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-devstack ./patchsets-info.json
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins11220329201280538249.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2792
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2792
++ export SLAVE=openstack
++ SLAVE=openstack
++ export SLAVE_REGION=gz1
++ SLAVE_REGION=gz1
++ export LOGS_HOST=nexus.gz1.opensdn.io
++ LOGS_HOST=nexus.gz1.opensdn.io
++ export LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/42/2142/5/check_2792
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
++ CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_2-5
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=I481c3b7fc9fb898809e2c2ee2c88df4a1fe606ec
++ GERRIT_CHANGE_ID=I481c3b7fc9fb898809e2c2ee2c88df4a1fe606ec
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-container-builder
++ GERRIT_PROJECT=opensdn-io/tf-container-builder
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ source ./src/opensdn-io/tf-jenkins/infra/openstack/definitions
++ export PROVIDER=openstack
++ PROVIDER=openstack
++ export OS_NETWORK=management
++ OS_NETWORK=management
++ export OS_DATA_NETWORK=data
++ OS_DATA_NETWORK=data
++ export OS_SG=default
++ OS_SG=default
++ export RESERVED_INSTANCES_COUNT=3
++ RESERVED_INSTANCES_COUNT=3
++ export RESERVED_CORES_COUNT=16
++ RESERVED_CORES_COUNT=16
++ export VM_BOOT_RETRIES=120
++ VM_BOOT_RETRIES=120
++ export VM_BOOT_DELAY=60
++ VM_BOOT_DELAY=60
++ export VOLUME_TYPE=ceph-ssd
++ VOLUME_TYPE=ceph-ssd
++ ENVIRONMENT_OS=rocky9
++ VM_TYPES=(['xsmall']='STD3-1-4' ['small']='STD3-2-8' ['medium']='STD3-4-16' ['large']='STD3-8-32')
++ declare -A VM_TYPES
++ VOLUME_SIZE=(['xsmall']='50' ['small']='50' ['medium']='80' ['large']='80')
++ declare -A VOLUME_SIZE
++ OS_IMAGES=(['CENTOS7']='prepared-centos7' ['CENTOS8']='prepared-centos8' ['UBUNTU20']='prepared-ubuntu20' ['UBUNTU22']='prepared-ubuntu22' ['UBUNTU24']='prepared-ubuntu24' ['ROCKY9']='prepared-rocky95')
++ declare -A OS_IMAGES
++ OS_IMAGE_USERS=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky')
++ declare -A OS_IMAGE_USERS
++ OS_IMAGES_UP=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY95']='rocky')
++ declare -A OS_IMAGES_UP
++ OS_IMAGES_DOWN=(['CENTOS7']='' ['CENTOS8']='' ['UBUNTU20']='' ['UBUNTU22']='' ['UBUNTU24']='' ['ROCKY9']='' ['ROCKY92']='' ['ROCKY95']='')
++ declare -A OS_IMAGES_DOWN
++ SSH_OPTIONS='-T -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PasswordAuthentication=no'
+ source /home/jenkins/workspace/deploy-tf-ansible-os/deps.deploy-tf-ansible-os.76887.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=68ab3f2d-93ff-48a2-a825-207657d19f34,
++ INSTANCE_IDS=68ab3f2d-93ff-48a2-a825-207657d19f34,
++ export instance_ip=10.0.0.50
++ instance_ip=10.0.0.50
++ export CONTROLLER_NODES=10.0.0.50,
++ CONTROLLER_NODES=10.0.0.50,
++ export CONTROL_NODES=10.20.0.17,
++ CONTROL_NODES=10.20.0.17,
++ export ORCHESTRATOR=openstack
++ ORCHESTRATOR=openstack
++ export DEPLOYER=ansible
++ DEPLOYER=ansible
++ export JOB_LOGS_PATH=ansible-os
++ JOB_LOGS_PATH=ansible-os
+ source /home/jenkins/workspace/deploy-tf-ansible-os/vars.deploy-tf-ansible-os.76887.env
++ export MONITORING_DEPLOY_TARGET=AIO
++ MONITORING_DEPLOY_TARGET=AIO
++ export MONITORING_DEPLOYER=ansible
++ MONITORING_DEPLOYER=ansible
++ export MONITORING_ORCHESTRATOR=os
++ MONITORING_ORCHESTRATOR=os
++ export USE_DATAPLANE_NETWORK=true
++ USE_DATAPLANE_NETWORK=true
+ export FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792/ansible-os
+ FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/42/2142/5/check_2792/ansible-os
+ ./src/opensdn-io/tf-jenkins/jobs/devstack/ansible/deploy_tf.sh
INFO: Deploy ansible/ (deploy-tf-ansible-os)
Warning: Permanently added '10.0.0.50' (ECDSA) to the list of known hosts.
Warning: Permanently added '10.0.0.50' (ECDSA) to the list of known hosts.
INFO: =================== Sun Sep 21 12:39:59 UTC 2025 ===================
[there is no tf devenv configuration to load]
INFO: Applying stages machines k8s openstack tf wait
INFO: Running stage machines at Sun Sep 21 12:39:59 UTC 2025
Skipping stage machines because it's finished
INFO: Stage machines was run successfully Sun Sep 21 12:39:59 UTC 2025
INFO: Running stage k8s at Sun Sep 21 12:39:59 UTC 2025
Skipping stage k8s because it's finished
INFO: Stage k8s was run successfully Sun Sep 21 12:39:59 UTC 2025
INFO: Running stage openstack at Sun Sep 21 12:39:59 UTC 2025
Skipping stage openstack because it's finished
INFO: Stage openstack was run successfully Sun Sep 21 12:39:59 UTC 2025
INFO: Running stage tf at Sun Sep 21 12:39:59 UTC 2025
[WARNING]: log file at /var/log/ansible.log is not writeable and we cannot create it, aborting
Using /home/ubuntu/tf-ansible-deployer/ansible.cfg as config file
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
PLAY [Create container host group and evaluate variables for opensdn] **********
TASK [Gathering Facts] *********************************************************
ok: [localhost]
TASK [Expose instances] ********************************************************
ok: [localhost] => {"ansible_facts": {"instances": {"node_10_0_0_50": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}, "changed": false}
TASK [Expose global configuration] *********************************************
ok: [localhost] => {"ansible_facts": {"global_configuration": {"CONTAINER_REGISTRY": "nexus.gz1.opensdn.io:5101", "ENABLE_DESTROY": false, "K8S_YUM_REPO_URL": "http://tf-mirrors.gz1.opensdn.io/repos/yum7/latest/k8s/", "REGISTRY_PRIVATE_INSECURE": true}}, "changed": false}
TASK [Expose remote_locations configuration] ***********************************
ok: [localhost] => {"ansible_facts": {"remote_locations": {}}, "changed": false}
TASK [Expose provider config] **************************************************
ok: [localhost] => {"ansible_facts": {"provider_config": {"bms": {"domainsuffix": "", "ssh_private_key": "/home/ubuntu/.ssh/id_rsa", "ssh_pwd": null, "ssh_user": "ubuntu"}}}, "changed": false}
TASK [opensdn_deployer : create container host group] **************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/create_container_host_group.yml for localhost
TASK [opensdn_deployer : add bms container hosts] ******************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"add_host": {"groups": ["container_hosts"], "host_name": "10.0.0.50", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_50", "private_ip": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : add bms container hosts] ******************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"add_host": {"groups": ["container_hosts"], "host_name": "10.0.0.50", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_50", "private_ip": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : build node lists] *************************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/build_node_lists.yml for localhost
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"config_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add config nodes to the list] *************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"config_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"control_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add control nodes to the list] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"control_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"configdb_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add configdb nodes to the list] ***********************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"configdb_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analytics_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analytics nodes to the list] **********************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analytics_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analytics_snmp_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analytics snmp nodes to the list] *****************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analytics_snmp_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analytics_alarm_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analytics alarm nodes to the list] ****************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analytics_alarm_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"analyticsdb_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add analyticsdb nodes to the list] ********************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"analyticsdb_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"webui_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add webui nodes to the list] **************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"webui_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"k8s_master_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"k8s_node_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"kubemanager_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"openstack_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add openstack nodes to the list] **********************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"openstack_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"vrouter_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : add Vrouter Nodes to the list] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"vrouter_nodes_list": ["10.0.0.50"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"tsn_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set global variables] *********************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_global_variables.yml for localhost
TASK [opensdn_deployer : set container tag contrail version if defined] ********
ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "latest"}, "changed": false}
TASK [opensdn_deployer : add specific contrail version tag if defined] *********
ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "master-2_1_4_2-5"}, "changed": false}
TASK [opensdn_deployer : set registry if defined] ******************************
ok: [localhost] => {"ansible_facts": {"container_registry": "nexus.gz1.opensdn.io:5101"}, "changed": false}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"roles": {}}, "changed": false}
TASK [opensdn_deployer : add roles if defined] *********************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"roles": {"node_10_0_0_50": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set vars for vanilla openstack deploy] ****************
ok: [localhost] => {"ansible_facts": {"analytics_api_port": 8081, "config_api_port": 8082, "keystone_auth_proto": "http", "keystone_auth_public_port": 5000, "opencontrail_api_server_ip": "10.0.0.50", "opencontrail_collector_ip": "10.0.0.50"}, "changed": false}
TASK [opensdn_deployer : set default variables] ********************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_default_variables.yml for localhost
TASK [opensdn_deployer : set orchestrator param] *******************************
ok: [localhost] => {"ansible_facts": {"default_configuration": {"VXLAN_VN_ID_MODE": "automatic"}}, "changed": false}
TASK [opensdn_deployer : set contrail variables] *******************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_contrail_variables.yml for localhost
TASK [opensdn_deployer : set stdin_open to true if it's not defined] ***********
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "VROUTER_ENCRYPTION": false}}, "changed": false}
TASK [opensdn_deployer : set tty to true if it's not defined] ******************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "changed": false}
TASK [opensdn_deployer : add nodes to contrail_configuration] ******************
ok: [localhost] => (item={'name': 'CONFIG_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIG_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONTROLLER_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "CONFIGDB_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_SNMP_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICS_ALARM_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "ANALYTICSDB_NODES", "nodes": ["10.0.0.50"]}}
ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.50']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.50"]}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "changed": false}
TASK [opensdn_deployer : check analyticsdb presence] ***************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "changed": false}
TASK [opensdn_deployer : check analytics alarm presence] ***********************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "changed": false}
TASK [opensdn_deployer : check analytics snmp presence] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_50', 'value': {'ip': '10.0.0.50', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'openstack': None, 'vrouter': None, 'openstack_compute': None}}}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.50", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.50", "ANALYTICS_NODES": "10.0.0.50", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.50", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.50", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.50", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_2-5", "CONTROLLER_NODES": "10.0.0.50", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.50"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_50", "value": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : explicitly set OpenStack variables for Contrail] ******
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
TASK [opensdn_deployer : get the internal VIP from openstack node if haproxy is disabled] ***
ok: [localhost] => {"ansible_facts": {"openstack_internal_vip": "10.0.0.50"}, "changed": false}
TASK [opensdn_deployer : set OpenStack endpoints from kolla_config.kolla_globals] ***
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
ok: [localhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
TASK [opensdn_deployer : combine contrail configuration defaults with contrail configuration] ***
ok: [localhost] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
TASK [opensdn_deployer : build cluster node role lists] ************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/cluster_node_role_lists.yml for localhost
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"cluster_roles_dict": {}}, "changed": false}
TASK [opensdn_deployer : Calculate Existing Roles] *****************************
ok: [localhost] => {"ansible_facts": {"cluster_roles_dict": {"api_server_ip": null, "deleted_nodes_dict": {}, "node_roles_dict": {}}}, "changed": false}
TASK [opensdn_deployer : Calculate node roles Dict] ****************************
ok: [localhost] => {"ansible_facts": {"node_roles_dict": {}}, "changed": false}
TASK [opensdn_deployer : Calculate deleted role Dict] **************************
ok: [localhost] => {"ansible_facts": {"deleted_nodes_dict": {}}, "changed": false}
TASK [opensdn_deployer : set api_server as validated active API server] ********
ok: [localhost] => {"ansible_facts": {"api_server": ""}, "changed": false}
TASK [k8s_deployer : init master_ip list] **************************************
ok: [localhost] => {"ansible_facts": {"k8s_master_ip_list": []}, "changed": false}
TASK [k8s_deployer : init master_name list] ************************************
ok: [localhost] => {"ansible_facts": {"k8s_master_name_list": []}, "changed": false}
TASK [k8s_deployer : show master_ip list] **************************************
ok: [localhost] => {
"msg": []
}
TASK [k8s_deployer : show master_name list] ************************************
ok: [localhost] => {
"msg": []
}
PLAY [Remove opensdn from Deleted Nodes ( Deregister )] ************************
TASK [Gathering Facts] *********************************************************
ok: [10.0.0.50]
PLAY [Remove opensdn from Deleted Nodes ( Cleanup )] ***************************
skipping: no hosts matched
[WARNING]: Found variable using reserved name: roles
PLAY [Install opensdn] *********************************************************
TASK [Gathering Facts] *********************************************************
ok: [10.0.0.50]
TASK [opensdn : set instance data] *********************************************
ok: [10.0.0.50] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.50", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}, "changed": false}
TASK [opensdn : set instance name] *********************************************
ok: [10.0.0.50] => {"ansible_facts": {"instance_name": "node_10_0_0_50"}, "changed": false}
TASK [opensdn : run common tasks] **********************************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.50
TASK [opensdn : create /var/log/contrail] **************************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/var/log/contrail", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn : create /etc/contrail/compose] **********************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/compose", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn : populate common.env] *******************************************
changed: [10.0.0.50] => {"changed": true, "checksum": "4048a66ff7bba7125b6b9afd4de70b53b2549adb", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "c35dde0cfb500986dcc48fb755611e92", "mode": "0640", "owner": "root", "size": 1022, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458412.9604886-52857-264894943610441/source", "state": "file", "uid": 0}
TASK [opensdn : populate defaults.env] *****************************************
changed: [10.0.0.50] => {"changed": true, "checksum": "d0ec2d02b27484bcf9f59ef41e7b993311d55516", "dest": "/etc/contrail/defaults.env", "gid": 0, "group": "root", "md5sum": "4a16eb30253a69c955c1d715f6fef5a6", "mode": "0644", "owner": "root", "size": 27, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458413.7437012-52910-21841368001661/source", "state": "file", "uid": 0}
TASK [create redis] ************************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_redis : update contrail redis image] *****************************
changed: [10.0.0.50] => (item=opensdn-external-redis) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_2-5", "delta": "0:00:01.314102", "end": "2025-09-21 12:40:16.149437", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-09-21 12:40:14.835335", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-redis\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\nd3805f94c49d: Pulling fs layer\n73688fc9cf21: Pulling fs layer\nc3ad3acc4279: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Waiting\nd3805f94c49d: Download complete\nc3ad3acc4279: Verifying Checksum\nc3ad3acc4279: Download complete\nd3805f94c49d: Pull complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n73688fc9cf21: Verifying Checksum\n73688fc9cf21: Download complete\n73688fc9cf21: Pull complete\nc3ad3acc4279: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:09719b85fffb10ee6843e91a8fe65f802a25cf2fa3ce2b642735c0071570ed34\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-redis", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "d3805f94c49d: Pulling fs layer", "73688fc9cf21: Pulling fs layer", "c3ad3acc4279: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Waiting", "d3805f94c49d: Download complete", "c3ad3acc4279: Verifying Checksum", "c3ad3acc4279: Download complete", "d3805f94c49d: Pull complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "73688fc9cf21: Verifying Checksum", "73688fc9cf21: Download complete", "73688fc9cf21: Pull complete", "c3ad3acc4279: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:09719b85fffb10ee6843e91a8fe65f802a25cf2fa3ce2b642735c0071570ed34", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-external-stunnel) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_2-5", "delta": "0:00:01.223092", "end": "2025-09-21 12:40:17.782785", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-09-21 12:40:16.559693", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n1deee5cbe652: Pulling fs layer\n26da3db883a9: Pulling fs layer\n1deee5cbe652: Verifying Checksum\n1deee5cbe652: Download complete\n1deee5cbe652: Pull complete\n26da3db883a9: Verifying Checksum\n26da3db883a9: Download complete\n26da3db883a9: Pull complete\nDigest: sha256:5f598dfbc4e50944b5b5cecffe88b2e059b36f6721ed587b8ce3791a49c40db2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "1deee5cbe652: Pulling fs layer", "26da3db883a9: Pulling fs layer", "1deee5cbe652: Verifying Checksum", "1deee5cbe652: Download complete", "1deee5cbe652: Pull complete", "26da3db883a9: Verifying Checksum", "26da3db883a9: Download complete", "26da3db883a9: Pull complete", "Digest: sha256:5f598dfbc4e50944b5b5cecffe88b2e059b36f6721ed587b8ce3791a49c40db2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_2-5"]}
TASK [opensdn_redis : create /etc/contrail/redis] ******************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/redis", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_redis : Set variables for Stunnel] *******************************
ok: [10.0.0.50] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false}
TASK [opensdn_redis : create redis compose file] *******************************
changed: [10.0.0.50] => {"changed": true, "checksum": "eac138d774c80b0db04a81829cd5f2dbdce7d21c", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "fe0eb37afaf801acc7145678a3d267ad", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458418.641021-53153-166377986074445/source", "state": "file", "uid": 0}
TASK [opensdn_redis : start redis] *********************************************
changed: [10.0.0.50] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "ad7fbd9345c5a9f3a138124dfc4aa386036a68a6df772cfc452b1680ad80ce67", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "redis", "com.docker.compose.project.config_files": "/etc/contrail/redis/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/redis", "com.docker.compose.service": "redis", "com.docker.compose.version": "1.29.2", "description": "Contrail Redis server supports query engine.", "io.opensdn.container.name": "opensdn-external-redis", "io.opensdn.service": "redis", "name": "opensdn-external-redis", "release": "5.1.0", "summary": "Contrail Redis", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail config database] *****************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config_database : update contrail config_database image] *********
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:03.455104", "end": "2025-09-21 12:40:24.629704", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:40:21.174600", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Pulling fs layer\ne46fe5682c56: Pulling fs layer\n2e208ebc6951: Pulling fs layer\ncb767c071479: Pulling fs layer\n0cd07b757146: Pulling fs layer\ne1c5f45d6827: Pulling fs layer\ne1c5f45d6827: Waiting\ncb767c071479: Waiting\n0cd07b757146: Waiting\n2d2f9bdea3a4: Verifying Checksum\n2d2f9bdea3a4: Download complete\ne46fe5682c56: Verifying Checksum\ne46fe5682c56: Download complete\n2e208ebc6951: Verifying Checksum\n2e208ebc6951: Download complete\n2d2f9bdea3a4: Pull complete\n0cd07b757146: Download complete\ne1c5f45d6827: Verifying Checksum\ne1c5f45d6827: Download complete\ne46fe5682c56: Pull complete\n2e208ebc6951: Pull complete\ncb767c071479: Download complete\ncb767c071479: Pull complete\n0cd07b757146: Pull complete\ne1c5f45d6827: Pull complete\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Pulling fs layer", "e46fe5682c56: Pulling fs layer", "2e208ebc6951: Pulling fs layer", "cb767c071479: Pulling fs layer", "0cd07b757146: Pulling fs layer", "e1c5f45d6827: Pulling fs layer", "e1c5f45d6827: Waiting", "cb767c071479: Waiting", "0cd07b757146: Waiting", "2d2f9bdea3a4: Verifying Checksum", "2d2f9bdea3a4: Download complete", "e46fe5682c56: Verifying Checksum", "e46fe5682c56: Download complete", "2e208ebc6951: Verifying Checksum", "2e208ebc6951: Download complete", "2d2f9bdea3a4: Pull complete", "0cd07b757146: Download complete", "e1c5f45d6827: Verifying Checksum", "e1c5f45d6827: Download complete", "e46fe5682c56: Pull complete", "2e208ebc6951: Pull complete", "cb767c071479: Download complete", "cb767c071479: Pull complete", "0cd07b757146: Pull complete", "e1c5f45d6827: Pull complete", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:02.136052", "end": "2025-09-21 12:40:27.213290", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:40:25.077238", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\na3f75321749d: Pulling fs layer\n56182f60706f: Pulling fs layer\n56182f60706f: Verifying Checksum\n56182f60706f: Download complete\na3f75321749d: Verifying Checksum\na3f75321749d: Download complete\na3f75321749d: Pull complete\n56182f60706f: Pull complete\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "a3f75321749d: Pulling fs layer", "56182f60706f: Pulling fs layer", "56182f60706f: Verifying Checksum", "56182f60706f: Download complete", "a3f75321749d: Verifying Checksum", "a3f75321749d: Download complete", "a3f75321749d: Pull complete", "56182f60706f: Pull complete", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "delta": "0:00:05.286135", "end": "2025-09-21 12:40:32.901594", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-09-21 12:40:27.615459", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n0ea08c527a4d: Pulling fs layer\n89b8b3d7d7a6: Pulling fs layer\n0ea08c527a4d: Verifying Checksum\n0ea08c527a4d: Download complete\n0ea08c527a4d: Pull complete\n89b8b3d7d7a6: Verifying Checksum\n89b8b3d7d7a6: Download complete\n89b8b3d7d7a6: Pull complete\nDigest: sha256:4faff77664087cf69a094976523cfc70cbf60d4c570c64ab26dc8573127f5370\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "0ea08c527a4d: Pulling fs layer", "89b8b3d7d7a6: Pulling fs layer", "0ea08c527a4d: Verifying Checksum", "0ea08c527a4d: Download complete", "0ea08c527a4d: Pull complete", "89b8b3d7d7a6: Verifying Checksum", "89b8b3d7d7a6: Download complete", "89b8b3d7d7a6: Pull complete", "Digest: sha256:4faff77664087cf69a094976523cfc70cbf60d4c570c64ab26dc8573127f5370", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-external-zookeeper) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_2-5", "delta": "0:00:04.662761", "end": "2025-09-21 12:40:37.998136", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-09-21 12:40:33.335375", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-zookeeper\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\nb459a5cc2cff: Pulling fs layer\nfb7d800e299b: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Download complete\nb459a5cc2cff: Download complete\nb459a5cc2cff: Pull complete\nfb7d800e299b: Verifying Checksum\nfb7d800e299b: Download complete\nfb7d800e299b: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:f4ab0f3b1f3422da22432730f5b5642e6c8b7129687037b6862271c6a1483822\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-zookeeper", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "b459a5cc2cff: Pulling fs layer", "fb7d800e299b: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Download complete", "b459a5cc2cff: Download complete", "b459a5cc2cff: Pull complete", "fb7d800e299b: Verifying Checksum", "fb7d800e299b: Download complete", "fb7d800e299b: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:f4ab0f3b1f3422da22432730f5b5642e6c8b7129687037b6862271c6a1483822", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-external-rabbitmq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_2-5", "delta": "0:00:04.483448", "end": "2025-09-21 12:40:42.888860", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-09-21 12:40:38.405412", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: 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\ne7add638ac41: Waiting\n027715895e8b: Pulling fs layer\n78c707bc7c70: Pulling fs layer\nc47c3bedb477: Waiting\n6e8aae77390d: Pulling fs layer\na49b9cb023b6: Pulling fs layer\n91c2486ee889: Pulling fs layer\n91158fe99ffd: Pulling fs layer\nb8587d0a2904: Pulling fs layer\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n6e8aae77390d: Waiting\n78c707bc7c70: Waiting\na49b9cb023b6: Waiting\n91158fe99ffd: Waiting\nb8587d0a2904: Waiting\n91c2486ee889: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\n2d0a461f4591: Verifying Checksum\n2d0a461f4591: Download complete\n027715895e8b: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n6e8aae77390d: Download complete\n91c2486ee889: Download complete\n91158fe99ffd: Verifying Checksum\n91158fe99ffd: Download complete\n92e5ca28c20e: Download complete\na49b9cb023b6: Download complete\nb8587d0a2904: Verifying Checksum\nb8587d0a2904: 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\n91c2486ee889: Pull complete\n91158fe99ffd: Pull complete\nb8587d0a2904: Pull complete\nDigest: sha256:029195fc93267f3e9f8be801a7b9d312ac781b9ee0d602dfa7df3d45a027676f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: 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", "e7add638ac41: Waiting", "027715895e8b: Pulling fs layer", "78c707bc7c70: Pulling fs layer", "c47c3bedb477: Waiting", "6e8aae77390d: Pulling fs layer", "a49b9cb023b6: Pulling fs layer", "91c2486ee889: Pulling fs layer", "91158fe99ffd: Pulling fs layer", "b8587d0a2904: Pulling fs layer", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "6e8aae77390d: Waiting", "78c707bc7c70: Waiting", "a49b9cb023b6: Waiting", "91158fe99ffd: Waiting", "b8587d0a2904: Waiting", "91c2486ee889: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "2d0a461f4591: Verifying Checksum", "2d0a461f4591: Download complete", "027715895e8b: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "6e8aae77390d: Download complete", "91c2486ee889: Download complete", "91158fe99ffd: Verifying Checksum", "91158fe99ffd: Download complete", "92e5ca28c20e: Download complete", "a49b9cb023b6: Download complete", "b8587d0a2904: Verifying Checksum", "b8587d0a2904: 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", "91c2486ee889: Pull complete", "91158fe99ffd: Pull complete", "b8587d0a2904: Pull complete", "Digest: sha256:029195fc93267f3e9f8be801a7b9d312ac781b9ee0d602dfa7df3d45a027676f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.268830", "end": "2025-09-21 12:40:43.557806", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:40:43.288976", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n847e5afc843c: Pulling fs layer\n847e5afc843c: Verifying Checksum\n847e5afc843c: Download complete\n847e5afc843c: Pull complete\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "847e5afc843c: Pulling fs layer", "847e5afc843c: Verifying Checksum", "847e5afc843c: Download complete", "847e5afc843c: Pull complete", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_config_database : create /etc/contrail/config_database] **********
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/config_database", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_config_database : set cassandra seeds to CONFIGDB_NODES if defined] ***
ok: [10.0.0.50] => {"ansible_facts": {"cassandra_seeds": "10.0.0.50"}, "changed": false}
TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.50] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.50"}, "changed": false}
TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.50] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.50"}, "changed": false}
TASK [opensdn_config_database : Set variables for reaper tool] *****************
ok: [10.0.0.50] => {"ansible_facts": {"reaper_enabled": "contrail_configuration.CASSANDRA_REAPER_ENABLED | default(false)"}, "changed": false}
TASK [opensdn_config_database : get /etc/contrail/common_config_database.env stat] ***
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] ***
changed: [10.0.0.50] => {"changed": true, "dest": "/etc/contrail/common_config_database.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config_database : populate global common_config_database.env] ****
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_config_database : populate pod specific common_config_database.env] ***
fatal: [10.0.0.50]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_config_database : create contrail config database compose file] ***
changed: [10.0.0.50] => {"changed": true, "checksum": "bca1c448a99be09bf64a452216b02d8197695f7b", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "e9f350ba1f37b320fd6d6f710d01cda3", "mode": "0644", "owner": "root", "size": 4019, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458460.6992297-55991-101253317808100/source", "state": "file", "uid": 0}
TASK [opensdn_config_database : start contrail config database] ****************
changed: [10.0.0.50] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "a756ad5e650b57c138cee6c13324da9534b4eb70863a9c0f8e3688c354f48c37", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "2c61243be63a012b355d60481f67e3c814cf2053ee4e25c2ecb955e2fdeb54e4", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "cc0375cf922d7da7f50ee0da9a342742535648a9f149e975f4350ea01cd242eb", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "185943f5f793057deb7c6bbbbae44b2bccaeb91a28ec4e432061bb90e58817bf", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "rabbitmq", "com.docker.compose.version": "1.29.2", "description": "Contrail Rabbitmq is the message bus that different Contrail processes subscribe to.", "io.opensdn.container.name": "opensdn-external-rabbitmq", "io.opensdn.service": "rabbitmq", "name": "opensdn-external-rabbitmq", "release": "5.1.0", "summary": "Contrail RabbitMQ", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "3dbdb08788d317b3662593382d209cb7c5f570998eeb15200a24a1531fe584bd", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "zookeeper", "com.docker.compose.version": "1.29.2", "description": "Contrail uses the Apache ZooKeeper process to maintain synchronization of Contrail configuration, analytics and database running on the different instances of controllers.", "io.opensdn.container.name": "opensdn-external-zookeeper", "io.opensdn.service": "zookeeper", "name": "opensdn-external-zookeeper", "release": "5.1.0", "summary": "Contrail Zookeeper", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail config] **************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config : update contrail config image] ***************************
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.099657", "end": "2025-09-21 12:41:05.414148", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:41:05.314491", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.112744", "end": "2025-09-21 12:41:05.969211", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:41:05.856467", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-config-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_2-5", "delta": "0:00:01.039299", "end": "2025-09-21 12:41:07.433909", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-09-21 12:41:06.394610", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n25f84dd88222: Pulling fs layer\n15de7de2c8d0: Pulling fs layer\n93df70ca372e: Pulling fs layer\n25f84dd88222: Download complete\n15de7de2c8d0: Download complete\n25f84dd88222: Pull complete\n93df70ca372e: Verifying Checksum\n93df70ca372e: Download complete\n15de7de2c8d0: Pull complete\n93df70ca372e: Pull complete\nDigest: sha256:0a2d6ea4fc2618fcf68641bac385f45f5bf351d473134073fe30f55115a84e20\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "25f84dd88222: Pulling fs layer", "15de7de2c8d0: Pulling fs layer", "93df70ca372e: Pulling fs layer", "25f84dd88222: Download complete", "15de7de2c8d0: Download complete", "25f84dd88222: Pull complete", "93df70ca372e: Verifying Checksum", "93df70ca372e: Download complete", "15de7de2c8d0: Pull complete", "93df70ca372e: Pull complete", "Digest: sha256:0a2d6ea4fc2618fcf68641bac385f45f5bf351d473134073fe30f55115a84e20", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-config-svcmonitor) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_2-5", "delta": "0:00:00.626276", "end": "2025-09-21 12:41:08.469498", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-09-21 12:41:07.843222", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\na2cbe099f3e0: Pulling fs layer\n9565f991d2bc: Pulling fs layer\na2cbe099f3e0: Download complete\na2cbe099f3e0: Pull complete\n9565f991d2bc: Verifying Checksum\n9565f991d2bc: Download complete\n9565f991d2bc: Pull complete\nDigest: sha256:3fe2bbf97f19a2a999f8b2db057ab70d948aecf6bb5c99315ed266d9ffff9e34\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "a2cbe099f3e0: Pulling fs layer", "9565f991d2bc: Pulling fs layer", "a2cbe099f3e0: Download complete", "a2cbe099f3e0: Pull complete", "9565f991d2bc: Verifying Checksum", "9565f991d2bc: Download complete", "9565f991d2bc: Pull complete", "Digest: sha256:3fe2bbf97f19a2a999f8b2db057ab70d948aecf6bb5c99315ed266d9ffff9e34", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-config-schema) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_2-5", "delta": "0:00:00.393899", "end": "2025-09-21 12:41:09.290831", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-09-21 12:41:08.896932", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n5d7b12800d13: Pulling fs layer\n0d943dfecb3d: Pulling fs layer\n5d7b12800d13: Verifying Checksum\n5d7b12800d13: Download complete\n0d943dfecb3d: Verifying Checksum\n0d943dfecb3d: Download complete\n5d7b12800d13: Pull complete\n0d943dfecb3d: Pull complete\nDigest: sha256:5293d4c3dfa80951209002d5cfb27bb3adc58f0e196ea67629508615a03423b9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "5d7b12800d13: Pulling fs layer", "0d943dfecb3d: Pulling fs layer", "5d7b12800d13: Verifying Checksum", "5d7b12800d13: Download complete", "0d943dfecb3d: Verifying Checksum", "0d943dfecb3d: Download complete", "5d7b12800d13: Pull complete", "0d943dfecb3d: Pull complete", "Digest: sha256:5293d4c3dfa80951209002d5cfb27bb3adc58f0e196ea67629508615a03423b9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-config-devicemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_2-5", "delta": "0:00:09.998956", "end": "2025-09-21 12:41:19.704219", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:41:09.705263", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\nd58d70006d6c: Already exists\n53e07465fa23: Already exists\nca78c665008d: Already exists\n681edbd8c37b: Already exists\nd626c34ac5d9: Already exists\n3eaeb58df714: Already exists\n826796982221: Pulling fs layer\n3b6e0bba0dd6: Pulling fs layer\n802d888fee06: Pulling fs layer\nad439ec36a08: Pulling fs layer\n4005be6c15bc: Pulling fs layer\n5f40a18fcaa0: Pulling fs layer\n47b939d52e6c: Pulling fs layer\n0f83ee4261af: Pulling fs layer\nad439ec36a08: Waiting\n4005be6c15bc: Waiting\n5f40a18fcaa0: Waiting\n47b939d52e6c: Waiting\n0f83ee4261af: Waiting\n826796982221: Download complete\n3b6e0bba0dd6: Verifying Checksum\n3b6e0bba0dd6: Download complete\n802d888fee06: Verifying Checksum\n802d888fee06: Download complete\n826796982221: Pull complete\n4005be6c15bc: Download complete\n3b6e0bba0dd6: Pull complete\n5f40a18fcaa0: Download complete\n802d888fee06: Pull complete\n0f83ee4261af: Verifying Checksum\n0f83ee4261af: Download complete\n47b939d52e6c: Verifying Checksum\n47b939d52e6c: Download complete\nad439ec36a08: Verifying Checksum\nad439ec36a08: Download complete\nad439ec36a08: Pull complete\n4005be6c15bc: Pull complete\n5f40a18fcaa0: Pull complete\n47b939d52e6c: Pull complete\n0f83ee4261af: Pull complete\nDigest: sha256:c8dee94f519159b4bfd0e4a7be60cae117dc0504e066d98fbbcd094fcd23de7e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "d58d70006d6c: Already exists", "53e07465fa23: Already exists", "ca78c665008d: Already exists", "681edbd8c37b: Already exists", "d626c34ac5d9: Already exists", "3eaeb58df714: Already exists", "826796982221: Pulling fs layer", "3b6e0bba0dd6: Pulling fs layer", "802d888fee06: Pulling fs layer", "ad439ec36a08: Pulling fs layer", "4005be6c15bc: Pulling fs layer", "5f40a18fcaa0: Pulling fs layer", "47b939d52e6c: Pulling fs layer", "0f83ee4261af: Pulling fs layer", "ad439ec36a08: Waiting", "4005be6c15bc: Waiting", "5f40a18fcaa0: Waiting", "47b939d52e6c: Waiting", "0f83ee4261af: Waiting", "826796982221: Download complete", "3b6e0bba0dd6: Verifying Checksum", "3b6e0bba0dd6: Download complete", "802d888fee06: Verifying Checksum", "802d888fee06: Download complete", "826796982221: Pull complete", "4005be6c15bc: Download complete", "3b6e0bba0dd6: Pull complete", "5f40a18fcaa0: Download complete", "802d888fee06: Pull complete", "0f83ee4261af: Verifying Checksum", "0f83ee4261af: Download complete", "47b939d52e6c: Verifying Checksum", "47b939d52e6c: Download complete", "ad439ec36a08: Verifying Checksum", "ad439ec36a08: Download complete", "ad439ec36a08: Pull complete", "4005be6c15bc: Pull complete", "5f40a18fcaa0: Pull complete", "47b939d52e6c: Pull complete", "0f83ee4261af: Pull complete", "Digest: sha256:c8dee94f519159b4bfd0e4a7be60cae117dc0504e066d98fbbcd094fcd23de7e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-config-dnsmasq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_2-5", "delta": "0:00:00.501745", "end": "2025-09-21 12:41:20.631499", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-09-21 12:41:20.129754", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n348c91fd4542: Pulling fs layer\nfa0c5ec555c9: Pulling fs layer\n5e2e5295fc53: Pulling fs layer\n730045cb4425: Pulling fs layer\n730045cb4425: Waiting\nfa0c5ec555c9: Verifying Checksum\nfa0c5ec555c9: Download complete\n348c91fd4542: Verifying Checksum\n348c91fd4542: Download complete\n348c91fd4542: Pull complete\nfa0c5ec555c9: Pull complete\n5e2e5295fc53: Download complete\n5e2e5295fc53: Pull complete\n730045cb4425: Verifying Checksum\n730045cb4425: Download complete\n730045cb4425: Pull complete\nDigest: sha256:5c4223246cd5681b3a5671e2b80cc4243eb6c56cfe258650983c901e8c7c382e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "348c91fd4542: Pulling fs layer", "fa0c5ec555c9: Pulling fs layer", "5e2e5295fc53: Pulling fs layer", "730045cb4425: Pulling fs layer", "730045cb4425: Waiting", "fa0c5ec555c9: Verifying Checksum", "fa0c5ec555c9: Download complete", "348c91fd4542: Verifying Checksum", "348c91fd4542: Download complete", "348c91fd4542: Pull complete", "fa0c5ec555c9: Pull complete", "5e2e5295fc53: Download complete", "5e2e5295fc53: Pull complete", "730045cb4425: Verifying Checksum", "730045cb4425: Download complete", "730045cb4425: Pull complete", "Digest: sha256:5c4223246cd5681b3a5671e2b80cc4243eb6c56cfe258650983c901e8c7c382e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.099429", "end": "2025-09-21 12:41:21.132613", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:41:21.033184", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_config : create /etc/contrail/config] ****************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/config", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_config : get /etc/contrail/common_config.env stat] ***************
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config : create /etc/contrail/common_config.env] *****************
changed: [10.0.0.50] => {"changed": true, "dest": "/etc/contrail/common_config.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_config : populate global common_config.env] **********************
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_config : populate pod specific common_config.env] ****************
fatal: [10.0.0.50]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_config : initialize use_external_tftp variable] ******************
ok: [10.0.0.50] => {"ansible_facts": {"use_external_tftp": false}, "changed": false}
TASK [opensdn_config : check if ironic_pxe is deployed on node] ****************
fatal: [10.0.0.50]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.023996", "end": "2025-09-21 12:41:37.889768", "msg": "non-zero return code", "rc": 1, "start": "2025-09-21 12:41:37.865772", "stderr": "Error: No such object: ironic_pxe", "stderr_lines": ["Error: No such object: ironic_pxe"], "stdout": "[]", "stdout_lines": ["[]"]}
...ignoring
TASK [opensdn_config : create contrail config compose file] ********************
changed: [10.0.0.50] => {"changed": true, "checksum": "d791cfb7f7c424f808d5023a6ad603b9d5867042", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "070ae1e5a1ddb9860f4306d3b000b4a8", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458498.1582077-61065-232108857420747/source", "state": "file", "uid": 0}
TASK [opensdn_config : start contrail config] **********************************
changed: [10.0.0.50] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "5ebbd9a43acacc38dc1627ff5a7f6fc772b0b582ff9882b81f021efb3b2dfa98", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Controller Configuration API provides a REST API to an orchestration system.", "io.opensdn.container.name": "opensdn-controller-config-api", "io.opensdn.pod": "config", "io.opensdn.service": "api", "name": "opensdn-controller-config-api", "release": "5.1.0", "summary": "Contrail Controller Configuration API", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "a430a3f567ba7649c3319dd3dfb7995666bec9e0e454f6708adda30c24c8eca6", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "devicemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Device Manager is used to manage network devices in the Contrail system.", "io.opensdn.container.name": "opensdn-controller-config-devicemgr", "io.opensdn.pod": "config", "io.opensdn.service": "device-manager", "name": "opensdn-controller-config-devicemgr", "release": "5.1.0", "summary": "Contrail Device Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e6125ecce9303107df0867d62379a765d4ce7d2edb8da2b4a70e93b5f729eff5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "dnsmasq", "com.docker.compose.version": "1.29.2", "description": "Contrail Dnsmasq provides network infrastructure: DNS, DHCP, router advertisement and network boot.", "io.opensdn.container.name": "opensdn-controller-config-dnsmasq", "io.opensdn.pod": "config", "io.opensdn.service": "dnsmasq", "name": "opensdn-controller-config-dnsmasq", "release": "5.1.0", "summary": "Contrail Dnsmasq", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "6b511d3c0b2fa05c4f0b7b32b353ba4820a162da9620515696c386538131421f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "238feac8bf07eaf99d4bc9211e4cee7b6386164b5bab59af3d4348453a998596", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "070d273d7d39da5397975b6bd0a3289d809b7b3e1f862c5f9bf86d5d73f3c08c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "schema", "com.docker.compose.version": "1.29.2", "description": "Contrail Schema Transformer compiles the high level, intent based data model into a low level configuration data model.", "io.opensdn.container.name": "opensdn-controller-config-schema", "io.opensdn.pod": "config", "io.opensdn.service": "schema", "name": "opensdn-controller-config-schema", "release": "5.1.0", "summary": "Contrail VNC Configuration Schema Transformer", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "74343fa3ee69c6532516b0fe31eb092c28bf1a4659dbb60018f7b7023f895270", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "svcmonitor", "com.docker.compose.version": "1.29.2", "description": "Contrail Service Monitor brings up and monitors any service instance that are spawned.", "io.opensdn.container.name": "opensdn-controller-config-svcmonitor", "io.opensdn.pod": "config", "io.opensdn.service": "svc-monitor", "name": "opensdn-controller-config-svcmonitor", "release": "5.1.0", "summary": "Contrail Service Monitor", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail webui] ***************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_webui : update contrail webui image] *****************************
changed: [10.0.0.50] => (item=opensdn-controller-webui-web) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_2-5", "delta": "0:00:07.064833", "end": "2025-09-21 12:41:49.718205", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-09-21 12:41:42.653372", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\nda023fd0a18a: Pulling fs layer\n0e10248fe479: Pulling fs layer\n844250427e33: Pulling fs layer\nad06b8249ce0: Pulling fs layer\nb1ea8527d1ef: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\nad06b8249ce0: Waiting\nb1ea8527d1ef: Waiting\n4f4fb700ef54: Waiting\n844250427e33: Verifying Checksum\n844250427e33: Download complete\n0e10248fe479: Download complete\nad06b8249ce0: Download complete\nb1ea8527d1ef: Verifying Checksum\nb1ea8527d1ef: Download complete\n4f4fb700ef54: Download complete\nda023fd0a18a: Verifying Checksum\nda023fd0a18a: Download complete\nda023fd0a18a: Pull complete\n0e10248fe479: Pull complete\n844250427e33: Pull complete\nad06b8249ce0: Pull complete\nb1ea8527d1ef: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:431172a622a4c321c514186f597d07127c65552c736b4a275b0dc31164108abe\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "da023fd0a18a: Pulling fs layer", "0e10248fe479: Pulling fs layer", "844250427e33: Pulling fs layer", "ad06b8249ce0: Pulling fs layer", "b1ea8527d1ef: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "ad06b8249ce0: Waiting", "b1ea8527d1ef: Waiting", "4f4fb700ef54: Waiting", "844250427e33: Verifying Checksum", "844250427e33: Download complete", "0e10248fe479: Download complete", "ad06b8249ce0: Download complete", "b1ea8527d1ef: Verifying Checksum", "b1ea8527d1ef: Download complete", "4f4fb700ef54: Download complete", "da023fd0a18a: Verifying Checksum", "da023fd0a18a: Download complete", "da023fd0a18a: Pull complete", "0e10248fe479: Pull complete", "844250427e33: Pull complete", "ad06b8249ce0: Pull complete", "b1ea8527d1ef: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:431172a622a4c321c514186f597d07127c65552c736b4a275b0dc31164108abe", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-webui-job) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_2-5", "delta": "0:00:00.232133", "end": "2025-09-21 12:41:50.369617", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-09-21 12:41:50.137484", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\nda023fd0a18a: Already exists\n0e10248fe479: Already exists\n844250427e33: Already exists\nad06b8249ce0: Already exists\nb1ea8527d1ef: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:2236afe437277906fe7830f73ec25ce080186c3e83140457e4c83883bff4d0ee\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "da023fd0a18a: Already exists", "0e10248fe479: Already exists", "844250427e33: Already exists", "ad06b8249ce0: Already exists", "b1ea8527d1ef: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:2236afe437277906fe7830f73ec25ce080186c3e83140457e4c83883bff4d0ee", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_2-5"]}
TASK [opensdn_webui : create /etc/contrail/webui] ******************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/webui", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_webui : get /etc/contrail/common_webui.env stat] *****************
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_webui : create /etc/contrail/common_webui.env] *******************
changed: [10.0.0.50] => {"changed": true, "dest": "/etc/contrail/common_webui.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_webui : populate cluster wide common_webui.env] ******************
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_webui : populate pod specific common_webui.env] ******************
fatal: [10.0.0.50]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_webui : create contrail webui compose file] **********************
changed: [10.0.0.50] => {"changed": true, "checksum": "bb0f877e2bf0c669f6fb97e8ab55f41daab6bdbb", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "f8221e094dcf72f80b9d8ec7cf2c3478", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458526.7828448-65026-128942182713034/source", "state": "file", "uid": 0}
TASK [opensdn_webui : start contrail webui] ************************************
changed: [10.0.0.50] => {"changed": true, "services": {"job": {"webui_job_1": {"cmd": ["/usr/bin/node", "jobServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "cbf8b2ba98c908cf825856ef57fccd84dfe899653c293aaf27aaa6e00df0303a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "job", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI Job middleware handles jobs from the WebUI service and contacts other Contrail services to execute them.", "io.opensdn.container.name": "opensdn-controller-webui-job", "io.opensdn.pod": "webui", "io.opensdn.service": "job", "name": "opensdn-controller-webui-job", "release": "5.1.0", "summary": "Contrail WEB UI Job", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "web": {"webui_web_1": {"cmd": ["/usr/bin/node", "webServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e443ed686d7e59b8842641173e1be110fade58ba39eddc687ffb6a6cd52bbb57", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "web", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI provides the Web UI service to end user.", "io.opensdn.container.name": "opensdn-controller-webui-web", "io.opensdn.pod": "webui", "io.opensdn.service": "web", "name": "opensdn-controller-webui-web", "release": "5.1.0", "summary": "Contrail WEB UI", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail control] *************************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_control : update contrail control image] *************************
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.105450", "end": "2025-09-21 12:42:10.560198", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:42:10.454748", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.099806", "end": "2025-09-21 12:42:11.061166", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:42:10.961360", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-control-control) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_2-5", "delta": "0:00:05.174156", "end": "2025-09-21 12:42:16.644913", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-09-21 12:42:11.470757", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n16ac65ef0bc2: Pulling fs layer\n71baff9da59f: Pulling fs layer\n8c6644774d53: Pulling fs layer\n610066e93931: Pulling fs layer\n610066e93931: Waiting\n8c6644774d53: Verifying Checksum\n8c6644774d53: Download complete\n610066e93931: Verifying Checksum\n610066e93931: Download complete\n16ac65ef0bc2: Verifying Checksum\n16ac65ef0bc2: Download complete\n16ac65ef0bc2: Pull complete\n71baff9da59f: Verifying Checksum\n71baff9da59f: Download complete\n71baff9da59f: Pull complete\n8c6644774d53: Pull complete\n610066e93931: Pull complete\nDigest: sha256:5970747a943f31acd18a9b587b3bdc7554dc04aacca60f337483f6222e094845\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "16ac65ef0bc2: Pulling fs layer", "71baff9da59f: Pulling fs layer", "8c6644774d53: Pulling fs layer", "610066e93931: Pulling fs layer", "610066e93931: Waiting", "8c6644774d53: Verifying Checksum", "8c6644774d53: Download complete", "610066e93931: Verifying Checksum", "610066e93931: Download complete", "16ac65ef0bc2: Verifying Checksum", "16ac65ef0bc2: Download complete", "16ac65ef0bc2: Pull complete", "71baff9da59f: Verifying Checksum", "71baff9da59f: Download complete", "71baff9da59f: Pull complete", "8c6644774d53: Pull complete", "610066e93931: Pull complete", "Digest: sha256:5970747a943f31acd18a9b587b3bdc7554dc04aacca60f337483f6222e094845", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-control-named) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_2-5", "delta": "0:00:00.498878", "end": "2025-09-21 12:42:17.548790", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-09-21 12:42:17.049912", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n16ac65ef0bc2: Already exists\n9449fd71482b: Pulling fs layer\nbe1306f8e083: Pulling fs layer\n5d0e673fe8f4: Pulling fs layer\n40d7d4693e31: Pulling fs layer\nac08c535408e: Pulling fs layer\nd82fa2f4b9a3: Pulling fs layer\n40d7d4693e31: Waiting\nac08c535408e: Waiting\nd82fa2f4b9a3: Waiting\nbe1306f8e083: Verifying Checksum\nbe1306f8e083: Download complete\n9449fd71482b: Download complete\n5d0e673fe8f4: Verifying Checksum\n5d0e673fe8f4: Download complete\n9449fd71482b: Pull complete\nac08c535408e: Verifying Checksum\nac08c535408e: Download complete\nd82fa2f4b9a3: Download complete\n40d7d4693e31: Download complete\nbe1306f8e083: Pull complete\n5d0e673fe8f4: Pull complete\n40d7d4693e31: Pull complete\nac08c535408e: Pull complete\nd82fa2f4b9a3: Pull complete\nDigest: sha256:9264588c3b14566261ef13ccd3586be26d7f9f4292aa051e439bc8f37b4778f0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "16ac65ef0bc2: Already exists", "9449fd71482b: Pulling fs layer", "be1306f8e083: Pulling fs layer", "5d0e673fe8f4: Pulling fs layer", "40d7d4693e31: Pulling fs layer", "ac08c535408e: Pulling fs layer", "d82fa2f4b9a3: Pulling fs layer", "40d7d4693e31: Waiting", "ac08c535408e: Waiting", "d82fa2f4b9a3: Waiting", "be1306f8e083: Verifying Checksum", "be1306f8e083: Download complete", "9449fd71482b: Download complete", "5d0e673fe8f4: Verifying Checksum", "5d0e673fe8f4: Download complete", "9449fd71482b: Pull complete", "ac08c535408e: Verifying Checksum", "ac08c535408e: Download complete", "d82fa2f4b9a3: Download complete", "40d7d4693e31: Download complete", "be1306f8e083: Pull complete", "5d0e673fe8f4: Pull complete", "40d7d4693e31: Pull complete", "ac08c535408e: Pull complete", "d82fa2f4b9a3: Pull complete", "Digest: sha256:9264588c3b14566261ef13ccd3586be26d7f9f4292aa051e439bc8f37b4778f0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-controller-control-dns) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_2-5", "delta": "0:00:03.135527", "end": "2025-09-21 12:42:21.115710", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-09-21 12:42:17.980183", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n16ac65ef0bc2: Already exists\na0ef165846a4: Pulling fs layer\n394ec3f53947: Pulling fs layer\n659477cc0499: Pulling fs layer\na4062f06e7bd: Pulling fs layer\n25c0360b0daf: Pulling fs layer\n9d365fb833bc: Pulling fs layer\n8fa2f7bd6cce: Pulling fs layer\n7d75d332c860: Pulling fs layer\n6f4690747d3f: Pulling fs layer\n25c0360b0daf: Waiting\n9d365fb833bc: Waiting\n8fa2f7bd6cce: Waiting\n7d75d332c860: Waiting\n6f4690747d3f: Waiting\na4062f06e7bd: Waiting\n394ec3f53947: Download complete\n659477cc0499: Verifying Checksum\n659477cc0499: Download complete\na4062f06e7bd: Download complete\n25c0360b0daf: Verifying Checksum\n25c0360b0daf: Download complete\n9d365fb833bc: Verifying Checksum\n9d365fb833bc: Download complete\n7d75d332c860: Verifying Checksum\n7d75d332c860: Download complete\n8fa2f7bd6cce: Verifying Checksum\n8fa2f7bd6cce: Download complete\n6f4690747d3f: Download complete\na0ef165846a4: Verifying Checksum\na0ef165846a4: Download complete\na0ef165846a4: Pull complete\n394ec3f53947: Pull complete\n659477cc0499: Pull complete\na4062f06e7bd: Pull complete\n25c0360b0daf: Pull complete\n9d365fb833bc: Pull complete\n8fa2f7bd6cce: Pull complete\n7d75d332c860: Pull complete\n6f4690747d3f: Pull complete\nDigest: sha256:d3d28f4eb792d0cbfbd8ff59934fd68129183e5706e0a3664db2a89af1c82e48\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "16ac65ef0bc2: Already exists", "a0ef165846a4: Pulling fs layer", "394ec3f53947: Pulling fs layer", "659477cc0499: Pulling fs layer", "a4062f06e7bd: Pulling fs layer", "25c0360b0daf: Pulling fs layer", "9d365fb833bc: Pulling fs layer", "8fa2f7bd6cce: Pulling fs layer", "7d75d332c860: Pulling fs layer", "6f4690747d3f: Pulling fs layer", "25c0360b0daf: Waiting", "9d365fb833bc: Waiting", "8fa2f7bd6cce: Waiting", "7d75d332c860: Waiting", "6f4690747d3f: Waiting", "a4062f06e7bd: Waiting", "394ec3f53947: Download complete", "659477cc0499: Verifying Checksum", "659477cc0499: Download complete", "a4062f06e7bd: Download complete", "25c0360b0daf: Verifying Checksum", "25c0360b0daf: Download complete", "9d365fb833bc: Verifying Checksum", "9d365fb833bc: Download complete", "7d75d332c860: Verifying Checksum", "7d75d332c860: Download complete", "8fa2f7bd6cce: Verifying Checksum", "8fa2f7bd6cce: Download complete", "6f4690747d3f: Download complete", "a0ef165846a4: Verifying Checksum", "a0ef165846a4: Download complete", "a0ef165846a4: Pull complete", "394ec3f53947: Pull complete", "659477cc0499: Pull complete", "a4062f06e7bd: Pull complete", "25c0360b0daf: Pull complete", "9d365fb833bc: Pull complete", "8fa2f7bd6cce: Pull complete", "7d75d332c860: Pull complete", "6f4690747d3f: Pull complete", "Digest: sha256:d3d28f4eb792d0cbfbd8ff59934fd68129183e5706e0a3664db2a89af1c82e48", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.101326", "end": "2025-09-21 12:42:21.639873", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:42:21.538547", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_control : create /etc/contrail/control] **************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/control", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_control : get /etc/contrail/common_control.env stat] *************
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_control : create /etc/contrail/common_control.env] ***************
changed: [10.0.0.50] => {"changed": true, "dest": "/etc/contrail/common_control.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_control : populate global common_control.env] ********************
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_control : populate pod specific common_control.env] **************
fatal: [10.0.0.50]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_control : create contrail control compose file] ******************
changed: [10.0.0.50] => {"changed": true, "checksum": "b567baa7b1e33fb0a3ae749d48b8092e4052e652", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1eb3605bb930ec3ee02c74851e128315", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458558.2421157-68720-1990899544219/source", "state": "file", "uid": 0}
TASK [opensdn_control : start contrail control] ********************************
changed: [10.0.0.50] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "3d77c88804d416d3225d3f3aaaf043fe23e6c35a366ec0f089ed724abe3c232f", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "control", "com.docker.compose.version": "1.29.2", "description": "Contrail Control is xmpp/bgp based routing engine for Contrail.", "io.opensdn.container.name": "opensdn-controller-control-control", "io.opensdn.pod": "control", "io.opensdn.service": "control", "name": "opensdn-controller-control-control", "release": "5.1.0", "summary": "Contrail Controller", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "fc8e079c62d39c4f290186d9512d99cc2eb327bf7fcc24167ae2134546612578", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "dns", "com.docker.compose.version": "1.29.2", "description": "Contrail DNS provides DNS service to the VMs spawned on compute nodes.", "io.opensdn.container.name": "opensdn-controller-control-dns", "io.opensdn.pod": "control", "io.opensdn.service": "dns", "name": "opensdn-controller-control-dns", "release": "5.1.0", "summary": "Contrail DNS", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "4e72652d82dde257859c0ef238d82b97a50e5b047e2e609b3a2955c2f29181cc", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "named", "com.docker.compose.version": "1.29.2", "description": "Contrail Named complements Contrail DNS service.", "io.opensdn.container.name": "opensdn-controller-control-named", "io.opensdn.pod": "control", "io.opensdn.service": "named", "name": "opensdn-controller-control-named", "release": "5.1.0", "summary": "Contrail Named", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "0cf555d65c043959c620aa399730e49e39f2ac9617a114bb6315e85c62a909ad", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "eb7ff1b73e48c42b3524746e33c298a315ffaa8f8d1340b61cfb5546c401a413", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics database] **************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_database : update contrail analytics database image] ***
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.374262", "end": "2025-09-21 12:42:42.929742", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:42:42.555480", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.097848", "end": "2025-09-21 12:42:43.442186", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:42:43.344338", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-analytics-query-engine) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_2-5", "delta": "0:00:02.230974", "end": "2025-09-21 12:42:46.088197", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-09-21 12:42:43.857223", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\nc31bcdc5addc: Pulling fs layer\n999588c8240b: Pulling fs layer\nb2e6054e1566: Pulling fs layer\nc31bcdc5addc: Download complete\nc31bcdc5addc: Pull complete\nb2e6054e1566: Verifying Checksum\nb2e6054e1566: Download complete\n999588c8240b: Verifying Checksum\n999588c8240b: Download complete\n999588c8240b: Pull complete\nb2e6054e1566: Pull complete\nDigest: sha256:6d7637a271561ef53ed8787877679d4a102b144b2a5c471b0c30c4e6a95976be\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "c31bcdc5addc: Pulling fs layer", "999588c8240b: Pulling fs layer", "b2e6054e1566: Pulling fs layer", "c31bcdc5addc: Download complete", "c31bcdc5addc: Pull complete", "b2e6054e1566: Verifying Checksum", "b2e6054e1566: Download complete", "999588c8240b: Verifying Checksum", "999588c8240b: Download complete", "999588c8240b: Pull complete", "b2e6054e1566: Pull complete", "Digest: sha256:6d7637a271561ef53ed8787877679d4a102b144b2a5c471b0c30c4e6a95976be", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "delta": "0:00:00.100829", "end": "2025-09-21 12:42:46.615016", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-09-21 12:42:46.514187", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-cassandra\nDigest: sha256:4faff77664087cf69a094976523cfc70cbf60d4c570c64ab26dc8573127f5370\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-cassandra", "Digest: sha256:4faff77664087cf69a094976523cfc70cbf60d4c570c64ab26dc8573127f5370", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.097880", "end": "2025-09-21 12:42:47.112838", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:42:47.014958", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] ****
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics_database", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics_database : set cassandra seeds to ANALYTICSDB_NODES if defined] ***
ok: [10.0.0.50] => {"ansible_facts": {"cassandra_seeds": "10.0.0.50"}, "changed": false}
TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] ***
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] ***
changed: [10.0.0.50] => {"changed": true, "dest": "/etc/contrail/common_analytics_database.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_database : populate global common_analytics_database.env] ***
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_analytics_database : populate pod specific common_analytics_database.env] ***
fatal: [10.0.0.50]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_analytics_database : create contrail analytics database compose file] ***
changed: [10.0.0.50] => {"changed": true, "checksum": "0102e68ddabefa1bcb1d8b90d88232fa5106a251", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "8804cae4253ae1fb02de3f241bbc517e", "mode": "0644", "owner": "root", "size": 3013, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458583.4687805-72273-189356841741958/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_database : start contrail analyticsdb] *****************
changed: [10.0.0.50] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "02ed833a38f7ea455395a7c8659d749d594116389e7c1bd6fb287d485978ba94", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "9a116bbd6547c3aa68f45ece96b4c9e80a842d6eae556c3cdb33e754d5ebe5c1", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "6a9dd42fd83920b29e21e6263d140dfde3b02904094fb94b1ec8812c878cbcc0", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "373de39cdf0fc48b7288c60bbc50d032803a5a746a7f08274500f3da860c961b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "query-engine", "com.docker.compose.version": "1.29.2", "description": "Contrail Query Engine handles the queries to access data from Analytics DB.", "io.opensdn.container.name": "opensdn-analytics-query-engine", "io.opensdn.pod": "database", "io.opensdn.service": "query-engine", "name": "opensdn-analytics-query-engine", "release": "5.1.0", "summary": "Contrail Query Engine", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics] ***********************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics : update contrail analytics images] ********************
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.110189", "end": "2025-09-21 12:43:06.818549", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:43:06.708360", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.128592", "end": "2025-09-21 12:43:07.399824", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:43:07.271232", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-analytics-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_2-5", "delta": "0:00:01.790640", "end": "2025-09-21 12:43:09.599396", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-09-21 12:43:07.808756", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n57556ba9ba00: Pulling fs layer\n87082c5fe16a: Pulling fs layer\neec8a4d113c8: Pulling fs layer\na612db5581e2: Pulling fs layer\nf9e7fe299543: Pulling fs layer\na612db5581e2: Waiting\nf9e7fe299543: Waiting\n57556ba9ba00: Download complete\n87082c5fe16a: Verifying Checksum\n87082c5fe16a: Download complete\n57556ba9ba00: Pull complete\na612db5581e2: Download complete\neec8a4d113c8: Download complete\n87082c5fe16a: Pull complete\nf9e7fe299543: Verifying Checksum\nf9e7fe299543: Download complete\neec8a4d113c8: Pull complete\na612db5581e2: Pull complete\nf9e7fe299543: Pull complete\nDigest: sha256:3aa889fa7c797bc19b94e8ac617f5ec293cfd40c0d876dcfc4b2e999444ec325\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "57556ba9ba00: Pulling fs layer", "87082c5fe16a: Pulling fs layer", "eec8a4d113c8: Pulling fs layer", "a612db5581e2: Pulling fs layer", "f9e7fe299543: Pulling fs layer", "a612db5581e2: Waiting", "f9e7fe299543: Waiting", "57556ba9ba00: Download complete", "87082c5fe16a: Verifying Checksum", "87082c5fe16a: Download complete", "57556ba9ba00: Pull complete", "a612db5581e2: Download complete", "eec8a4d113c8: Download complete", "87082c5fe16a: Pull complete", "f9e7fe299543: Verifying Checksum", "f9e7fe299543: Download complete", "eec8a4d113c8: Pull complete", "a612db5581e2: Pull complete", "f9e7fe299543: Pull complete", "Digest: sha256:3aa889fa7c797bc19b94e8ac617f5ec293cfd40c0d876dcfc4b2e999444ec325", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-analytics-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_2-5", "delta": "0:00:03.098782", "end": "2025-09-21 12:43:13.166413", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-09-21 12:43:10.067631", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n32e2a4c49ff8: Pulling fs layer\nac55a32469ed: Pulling fs layer\n724ced040bdb: Pulling fs layer\n32e2a4c49ff8: Verifying Checksum\n32e2a4c49ff8: Download complete\n32e2a4c49ff8: Pull complete\n724ced040bdb: Verifying Checksum\n724ced040bdb: Download complete\nac55a32469ed: Verifying Checksum\nac55a32469ed: Download complete\nac55a32469ed: Pull complete\n724ced040bdb: Pull complete\nDigest: sha256:4d5387969998ae4e31b617b649ee0cfc069bb0f1c7a04c666c29b29489b06fc2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "32e2a4c49ff8: Pulling fs layer", "ac55a32469ed: Pulling fs layer", "724ced040bdb: Pulling fs layer", "32e2a4c49ff8: Verifying Checksum", "32e2a4c49ff8: Download complete", "32e2a4c49ff8: Pull complete", "724ced040bdb: Verifying Checksum", "724ced040bdb: Download complete", "ac55a32469ed: Verifying Checksum", "ac55a32469ed: Download complete", "ac55a32469ed: Pull complete", "724ced040bdb: Pull complete", "Digest: sha256:4d5387969998ae4e31b617b649ee0cfc069bb0f1c7a04c666c29b29489b06fc2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.094822", "end": "2025-09-21 12:43:13.666648", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:43:13.571826", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_analytics : create /etc/contrail/analytics] **********************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics : get /etc/contrail/common_analytics.env stat] *********
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] ***********
changed: [10.0.0.50] => {"changed": true, "dest": "/etc/contrail/common_analytics.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics : populate global common_analytics.env] ****************
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.50] => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
TASK [opensdn_analytics : populate pod specific common_analytics.env] **********
fatal: [10.0.0.50]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result"}
...ignoring
TASK [opensdn_analytics : create contrail analytics file] **********************
changed: [10.0.0.50] => {"changed": true, "checksum": "694ae4926a55c52456a64253ada01406196b11ac", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "c9d062a345fa3152fb087ff4f5be15c2", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458610.0196311-76415-278085741017273/source", "state": "file", "uid": 0}
TASK [opensdn_analytics : start contrail analytics] ****************************
changed: [10.0.0.50] => {"changed": true, "services": {"api": {"analytics_api_1": {"cmd": ["/usr/local/bin/contrail-analytics-api", "-c", "/etc/contrail/contrail-analytics-api.conf", "-c", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "470cab572e02744e6d78601d572b6487cb72cd654a90daea90c3579beced024e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics API provides REST API to access collected analytics data.", "io.opensdn.container.name": "opensdn-analytics-api", "io.opensdn.pod": "analytics", "io.opensdn.service": "api", "name": "opensdn-analytics-api", "release": "5.1.0", "summary": "Contrail Analytics API", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "7aee8baf036b8bb4bc2d826349918ca7e8542a917b5bc88ae1bdd591b484d4c4", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "collector", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics Collector collects the running state of different processes sent by other nodes.", "io.opensdn.container.name": "opensdn-analytics-collector", "io.opensdn.pod": "analytics", "io.opensdn.service": "collector", "name": "opensdn-analytics-collector", "release": "5.1.0", "summary": "Contrail Analytics Collector", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "b4b2e27b1c989a26579d56e684250bae3c04be53686faf6c98c497eb0110af80", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "db3abee0dd67cf97be87b026003bfc9cb90a9b3c06514e60110517fcc0fd964b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics alarm] *****************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_alarm : update alarm, external-kafka image] ************
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.102345", "end": "2025-09-21 12:43:33.515735", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:43:33.413390", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.093257", "end": "2025-09-21 12:43:34.023085", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:43:33.929828", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-analytics-alarm-gen) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_2-5", "delta": "0:00:00.541133", "end": "2025-09-21 12:43:35.001626", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-09-21 12:43:34.460493", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\n8ea54e03415f: Pulling fs layer\n2aeff8802126: Pulling fs layer\n8ea54e03415f: Download complete\n8ea54e03415f: Pull complete\n2aeff8802126: Verifying Checksum\n2aeff8802126: Download complete\n2aeff8802126: Pull complete\nDigest: sha256:cbec6f3b1e7f99e4ae72581cfd28d64425a8ab1bcbf4daf2d3a4e70008a61cc3\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "8ea54e03415f: Pulling fs layer", "2aeff8802126: Pulling fs layer", "8ea54e03415f: Download complete", "8ea54e03415f: Pull complete", "2aeff8802126: Verifying Checksum", "2aeff8802126: Download complete", "2aeff8802126: Pull complete", "Digest: sha256:cbec6f3b1e7f99e4ae72581cfd28d64425a8ab1bcbf4daf2d3a4e70008a61cc3", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-external-kafka) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_2-5", "delta": "0:00:07.313201", "end": "2025-09-21 12:43:42.727825", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-09-21 12:43:35.414624", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\ne0bb14c8dda6: Pulling fs layer\n6bff44b185b0: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\ne0bb14c8dda6: Download complete\n4f4fb700ef54: Download complete\ne0bb14c8dda6: Pull complete\n6bff44b185b0: Verifying Checksum\n6bff44b185b0: Download complete\n6bff44b185b0: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:72a3d660149b0b486b0fe51bde13eb75b8394a416238e5f1e26d643965afbef0\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "e0bb14c8dda6: Pulling fs layer", "6bff44b185b0: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "e0bb14c8dda6: Download complete", "4f4fb700ef54: Download complete", "e0bb14c8dda6: Pull complete", "6bff44b185b0: Verifying Checksum", "6bff44b185b0: Download complete", "6bff44b185b0: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:72a3d660149b0b486b0fe51bde13eb75b8394a416238e5f1e26d643965afbef0", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.099571", "end": "2025-09-21 12:43:43.257603", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:43:43.158032", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] **********
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics_alarm", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics_alarm : set zookeeper nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.50] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.50"}, "changed": false}
TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] ***
changed: [10.0.0.50] => {"changed": true, "checksum": "37964ca92b37b80ab1e4ef46d2bc6f672e4e1836", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "708b9ec5a0ea6050a572c8cc5b0fecb9", "mode": "0644", "owner": "root", "size": 2475, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458624.2149696-78109-241623655761949/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_alarm : start contrail analytics_alarm] ****************
changed: [10.0.0.50] => {"changed": true, "services": {"alarm-gen": {"analytics_alarm_alarm-gen_1": {"cmd": ["/usr/local/bin/contrail-alarm-gen", "-c", "/etc/contrail/contrail-alarm-gen.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "a0c2387867951a2fa6baa16729209782871d5afd42b82e1d832c57238e90f475", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "alarm-gen", "com.docker.compose.version": "1.29.2", "description": "Contrail Alarm Generator generates alerts (alarms) which highlight unusual conditions that may require more urgent administrator attention and action.", "io.opensdn.container.name": "opensdn-analytics-alarm-gen", "io.opensdn.pod": "analytics-alarm", "io.opensdn.service": "alarm-gen", "name": "opensdn-analytics-alarm-gen", "release": "5.1.0", "summary": "Contrail Alarm Generator", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["bin/kafka-server-start.sh", "config/server.properties"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "28cb5bd00388d12aa3b3c3c84448a5db8f2ec4ef2dfb6c1794068410e100129c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "kafka", "com.docker.compose.version": "1.29.2", "description": "Contrail Kafka is used for streaming data in Analytics DB.", "io.opensdn.container.name": "opensdn-external-kafka", "io.opensdn.service": "kafka", "name": "opensdn-external-kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "9743445bcbbd581504523302934b7aea1f1968d9b247b7f5b483f3a7bc2d94f8", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "7a6b2da1bce19deb41ad7aee8bf0dd34f5a1f7f8edf33b032ba69f0c1b7d31cd", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail analytics snmp] ******************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_analytics_snmp : update contrail-snmp-collector and contrail-analytics-snmp-topology image] ***
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.111911", "end": "2025-09-21 12:43:47.780571", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:43:47.668660", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.107912", "end": "2025-09-21 12:43:48.303336", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:43:48.195424", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-analytics-snmp-topology) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_2-5", "delta": "0:00:04.438982", "end": "2025-09-21 12:43:53.162445", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-09-21 12:43:48.723463", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\nad4d0e275607: Pulling fs layer\n04fbe72f5573: Pulling fs layer\nc2ec663b4737: Pulling fs layer\n9b1d0de2b6c2: Pulling fs layer\n9b1d0de2b6c2: Waiting\nc2ec663b4737: Download complete\nad4d0e275607: Download complete\n9b1d0de2b6c2: Download complete\nad4d0e275607: Pull complete\n04fbe72f5573: Verifying Checksum\n04fbe72f5573: Download complete\n04fbe72f5573: Pull complete\nc2ec663b4737: Pull complete\n9b1d0de2b6c2: Pull complete\nDigest: sha256:04079e62c7a8a48cde20a0203b4ae00305a27ae93c1a59ef70c81c0c86b673a9\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "ad4d0e275607: Pulling fs layer", "04fbe72f5573: Pulling fs layer", "c2ec663b4737: Pulling fs layer", "9b1d0de2b6c2: Pulling fs layer", "9b1d0de2b6c2: Waiting", "c2ec663b4737: Download complete", "ad4d0e275607: Download complete", "9b1d0de2b6c2: Download complete", "ad4d0e275607: Pull complete", "04fbe72f5573: Verifying Checksum", "04fbe72f5573: Download complete", "04fbe72f5573: Pull complete", "c2ec663b4737: Pull complete", "9b1d0de2b6c2: Pull complete", "Digest: sha256:04079e62c7a8a48cde20a0203b4ae00305a27ae93c1a59ef70c81c0c86b673a9", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-analytics-snmp-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_2-5", "delta": "0:00:00.471085", "end": "2025-09-21 12:43:54.093716", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-09-21 12:43:53.622631", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\nad4d0e275607: Already exists\n04fbe72f5573: Already exists\n90c90a67e27d: Pulling fs layer\na3bb5fe2a8a9: Pulling fs layer\n90c90a67e27d: Download complete\na3bb5fe2a8a9: Verifying Checksum\na3bb5fe2a8a9: Download complete\n90c90a67e27d: Pull complete\na3bb5fe2a8a9: Pull complete\nDigest: sha256:8eda062a90660ed385045c539216370f4982b175346e28bbaf94cbdd7e932af5\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "ad4d0e275607: Already exists", "04fbe72f5573: Already exists", "90c90a67e27d: Pulling fs layer", "a3bb5fe2a8a9: Pulling fs layer", "90c90a67e27d: Download complete", "a3bb5fe2a8a9: Verifying Checksum", "a3bb5fe2a8a9: Download complete", "90c90a67e27d: Pull complete", "a3bb5fe2a8a9: Pull complete", "Digest: sha256:8eda062a90660ed385045c539216370f4982b175346e28bbaf94cbdd7e932af5", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.099936", "end": "2025-09-21 12:43:54.639001", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:43:54.539065", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/analytics_snmp", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_analytics_snmp : create contrail analytics_snmp docker-compose file] ***
changed: [10.0.0.50] => {"changed": true, "checksum": "20abf68205eb96bef8228a3d8e4463a01ea692fc", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "35e2aef402700b95a2f87c923da30d6b", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458635.3372777-80484-209146560402459/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ******************
changed: [10.0.0.50] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "8cd2fc399acd6dd53984ce594ba9f61cd5c11c341c69a71447321efbd03d7613", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "949875fd5363dc6028bd4abc26d4cfacac66b5fac5bc1f8fac7d0876f92da357", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "bade9126ee0c0c09af38e42c3afdfc8b29c133ccb0253502d6456c70c96039e7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "snmp-collector", "com.docker.compose.version": "1.29.2", "description": "SNMP Collector collects data from switches(Spine/Leaf).", "io.opensdn.container.name": "opensdn-analytics-snmp-collector", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "snmp-collector", "name": "opensdn-analytics-snmp-collector", "release": "5.1.0", "summary": "SNMP Collector", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "9beb68d9cfa0ea15d9a7d86ebd3b7c32cf96a95b61a8f4599928416074a61e61", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "topology", "com.docker.compose.version": "1.29.2", "description": "SNMP Topology periodically updates topology table, which is used by UI to draw maps.", "io.opensdn.container.name": "opensdn-analytics-snmp-topology", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "topology", "name": "opensdn-analytics-snmp-topology", "release": "5.1.0", "summary": "SNMP Topology", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail rsyslogd for Linux] **************************************
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_rsyslogd : update contrail rsyslogd image] ***********************
changed: [10.0.0.50] => (item=opensdn-external-rsyslogd) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_2-5", "delta": "0:00:00.457966", "end": "2025-09-21 12:43:59.174422", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-09-21 12:43:58.716456", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\ndf40740b1037: Pulling fs layer\n7073f7899dfc: Pulling fs layer\n91d909b2268c: Pulling fs layer\n5d1a68ba91a1: Pulling fs layer\n5d1a68ba91a1: Waiting\n91d909b2268c: Verifying Checksum\n91d909b2268c: Download complete\ndf40740b1037: Download complete\ndf40740b1037: Pull complete\n5d1a68ba91a1: Verifying Checksum\n5d1a68ba91a1: Download complete\n7073f7899dfc: Verifying Checksum\n7073f7899dfc: Download complete\n7073f7899dfc: Pull complete\n91d909b2268c: Pull complete\n5d1a68ba91a1: Pull complete\nDigest: sha256:89d6b1be6feb693ffe07c39ef6a763ee4f6bc1dff35a000a474e7f4afa7addb1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "df40740b1037: Pulling fs layer", "7073f7899dfc: Pulling fs layer", "91d909b2268c: Pulling fs layer", "5d1a68ba91a1: Pulling fs layer", "5d1a68ba91a1: Waiting", "91d909b2268c: Verifying Checksum", "91d909b2268c: Download complete", "df40740b1037: Download complete", "df40740b1037: Pull complete", "5d1a68ba91a1: Verifying Checksum", "5d1a68ba91a1: Download complete", "7073f7899dfc: Verifying Checksum", "7073f7899dfc: Download complete", "7073f7899dfc: Pull complete", "91d909b2268c: Pull complete", "5d1a68ba91a1: Pull complete", "Digest: sha256:89d6b1be6feb693ffe07c39ef6a763ee4f6bc1dff35a000a474e7f4afa7addb1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_2-5"]}
TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/rsyslogd", "size": 4096, "state": "directory", "uid": 0}
TASK [opensdn_rsyslogd : create rsyslogd compose file] *************************
changed: [10.0.0.50] => {"changed": true, "checksum": "5281898a7d1fcda67b7fd5761a97161102c89b94", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "547ad5d09dd8f0a9226f5a5ee3d42f31", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458639.7908227-81668-62251437867931/source", "state": "file", "uid": 0}
TASK [opensdn_rsyslogd : start rsyslogd] ***************************************
changed: [10.0.0.50] => {"changed": true, "services": {"rsyslogd": {"rsyslogd_rsyslogd_1": {"cmd": ["/bin/sh", "-c", "rsyslogd -n -f /etc/rsyslog.conf -i $RSYSLOGD_PIDFILE"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "b8ec84fe0a7e362398b4f75d983ef76bfbcdb570d6a54264c249030f2cb66d23", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "rsyslogd", "com.docker.compose.project.config_files": "/etc/contrail/rsyslogd/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/rsyslogd", "com.docker.compose.service": "rsyslogd", "com.docker.compose.version": "1.29.2", "description": "Contrail rsyslogd support", "io.opensdn.container.name": "", "io.opensdn.service": "rsyslogd", "name": "", "release": "5.1.0", "summary": "Contrail rsyslogd", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [create contrail vrouter for Linux] ***************************************
TASK [opensdn_vrouter : set vrouter kernel init image name] ********************
ok: [10.0.0.50] => {"ansible_facts": {"vrouter_kernel_init_img_name": "opensdn-vrouter-kernel-build-init"}, "changed": false}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_vrouter : update image] ******************************************
changed: [10.0.0.50] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "delta": "0:00:00.103151", "end": "2025-09-21 12:44:02.334388", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-09-21 12:44:02.231237", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-node-init\nDigest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-node-init", "Digest: sha256:d3a2b62881aca2e5c0d042194b0f6ee0363b84b9c5673b63bc0fdfff055d99f7", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "delta": "0:00:00.099600", "end": "2025-09-21 12:44:02.861305", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-09-21 12:44:02.761705", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-nodemgr\nDigest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-nodemgr", "Digest: sha256:6e08949654b324ba8a839eaccef5b3f647f37e4a97a05f51dcf4c7e56ebf8578", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "delta": "0:00:00.100836", "end": "2025-09-21 12:44:03.401377", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-09-21 12:44:03.300541", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-provisioner\nDigest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-provisioner", "Digest: sha256:c7fc1e14f07990dda2421213b43da80036e1f86cb2fd94dabcdac15c3ea514f5", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-vrouter-kernel-build-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_2-5", "delta": "0:00:06.672686", "end": "2025-09-21 12:44:10.541480", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-09-21 12:44:03.868794", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-vrouter-kernel-build-init\n323b40e41d30: Pulling fs layer\n483a12f92479: Pulling fs layer\nda488f71ddfb: Pulling fs layer\n5d6e7c95d025: Pulling fs layer\na4605d9b3dcb: Pulling fs layer\n04deedbde1c1: Pulling fs layer\n53c16a8b2291: Pulling fs layer\nb73b28d1b016: Pulling fs layer\na4605d9b3dcb: Waiting\n04deedbde1c1: Waiting\n53c16a8b2291: Waiting\nb73b28d1b016: Waiting\n5d6e7c95d025: Waiting\n483a12f92479: Download complete\nda488f71ddfb: Verifying Checksum\nda488f71ddfb: Download complete\n5d6e7c95d025: Verifying Checksum\n5d6e7c95d025: Download complete\na4605d9b3dcb: Verifying Checksum\na4605d9b3dcb: Download complete\n53c16a8b2291: Download complete\nb73b28d1b016: Verifying Checksum\nb73b28d1b016: Download complete\n323b40e41d30: Verifying Checksum\n323b40e41d30: Download complete\n323b40e41d30: Pull complete\n483a12f92479: Pull complete\nda488f71ddfb: Pull complete\n5d6e7c95d025: Pull complete\na4605d9b3dcb: Pull complete\n04deedbde1c1: Verifying Checksum\n04deedbde1c1: Download complete\n04deedbde1c1: Pull complete\n53c16a8b2291: Pull complete\nb73b28d1b016: Pull complete\nDigest: sha256:1698e1fecb6503af33b10bfa4939e1a38a20aef5a44d4aacca8c231225bf0484\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-vrouter-kernel-build-init", "323b40e41d30: Pulling fs layer", "483a12f92479: Pulling fs layer", "da488f71ddfb: Pulling fs layer", "5d6e7c95d025: Pulling fs layer", "a4605d9b3dcb: Pulling fs layer", "04deedbde1c1: Pulling fs layer", "53c16a8b2291: Pulling fs layer", "b73b28d1b016: Pulling fs layer", "a4605d9b3dcb: Waiting", "04deedbde1c1: Waiting", "53c16a8b2291: Waiting", "b73b28d1b016: Waiting", "5d6e7c95d025: Waiting", "483a12f92479: Download complete", "da488f71ddfb: Verifying Checksum", "da488f71ddfb: Download complete", "5d6e7c95d025: Verifying Checksum", "5d6e7c95d025: Download complete", "a4605d9b3dcb: Verifying Checksum", "a4605d9b3dcb: Download complete", "53c16a8b2291: Download complete", "b73b28d1b016: Verifying Checksum", "b73b28d1b016: Download complete", "323b40e41d30: Verifying Checksum", "323b40e41d30: Download complete", "323b40e41d30: Pull complete", "483a12f92479: Pull complete", "da488f71ddfb: Pull complete", "5d6e7c95d025: Pull complete", "a4605d9b3dcb: Pull complete", "04deedbde1c1: Verifying Checksum", "04deedbde1c1: Download complete", "04deedbde1c1: Pull complete", "53c16a8b2291: Pull complete", "b73b28d1b016: Pull complete", "Digest: sha256:1698e1fecb6503af33b10bfa4939e1a38a20aef5a44d4aacca8c231225bf0484", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_2-5"]}
changed: [10.0.0.50] => (item=opensdn-vrouter-agent) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_2-5", "delta": "0:00:10.803968", "end": "2025-09-21 12:44:21.772878", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-09-21 12:44:10.968910", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_2-5: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\nebe2bdf8e50e: Already exists\nc0faa1c6c0fd: Already exists\n0c91707454a6: Already exists\n76d409e8059b: Already exists\n44c8e5f76f02: Already exists\nc4a4d3fd9dc3: Already exists\n2d2f9bdea3a4: Already exists\ne46fe5682c56: Already exists\n2e208ebc6951: Already exists\ncb767c071479: Already exists\n0cd07b757146: Already exists\nd2551b6591d3: Pulling fs layer\n8a427c7c39b7: Pulling fs layer\nd2a751cf15fe: Pulling fs layer\n883eea4d8465: Pulling fs layer\ne7db03377b85: Pulling fs layer\nc5858bde5842: Pulling fs layer\n4222ebe53c1a: Pulling fs layer\nd2525240217a: Pulling fs layer\nbed47442193d: Pulling fs layer\n13b57a27519b: Pulling fs layer\n85005590b355: Pulling fs layer\n154239faa64c: Pulling fs layer\nb38ebb46e7cb: Pulling fs layer\n657a7c172730: Pulling fs layer\ndf4a0bccd443: Pulling fs layer\n4222ebe53c1a: Waiting\nd2525240217a: Waiting\nbed47442193d: Waiting\n13b57a27519b: Waiting\nb38ebb46e7cb: Waiting\n883eea4d8465: Waiting\n657a7c172730: Waiting\ndf4a0bccd443: Waiting\ne7db03377b85: Waiting\n85005590b355: Waiting\nc5858bde5842: Waiting\n8a427c7c39b7: Verifying Checksum\n8a427c7c39b7: Download complete\nd2551b6591d3: Verifying Checksum\nd2551b6591d3: Download complete\n883eea4d8465: Download complete\nd2551b6591d3: Pull complete\nc5858bde5842: Verifying Checksum\nc5858bde5842: Download complete\ne7db03377b85: Download complete\n8a427c7c39b7: Pull complete\n4222ebe53c1a: Download complete\nd2a751cf15fe: Verifying Checksum\nd2a751cf15fe: Download complete\nbed47442193d: Download complete\n13b57a27519b: Download complete\n85005590b355: Download complete\nb38ebb46e7cb: Download complete\n657a7c172730: Verifying Checksum\n657a7c172730: Download complete\ndf4a0bccd443: Verifying Checksum\ndf4a0bccd443: Download complete\nd2a751cf15fe: Pull complete\n883eea4d8465: Pull complete\ne7db03377b85: Pull complete\nc5858bde5842: Pull complete\n4222ebe53c1a: Pull complete\n154239faa64c: Verifying Checksum\n154239faa64c: Download complete\nd2525240217a: Download complete\nd2525240217a: Pull complete\nbed47442193d: Pull complete\n13b57a27519b: Pull complete\n85005590b355: Pull complete\n154239faa64c: Pull complete\nb38ebb46e7cb: Pull complete\n657a7c172730: Pull complete\ndf4a0bccd443: Pull complete\nDigest: sha256:a620acbd1d4557b52d238ccd4b8775ca55c5c61c7edc918d61bd815f08129a04\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_2-5\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_2-5", "stdout_lines": ["master-2_1_4_2-5: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "ebe2bdf8e50e: Already exists", "c0faa1c6c0fd: Already exists", "0c91707454a6: Already exists", "76d409e8059b: Already exists", "44c8e5f76f02: Already exists", "c4a4d3fd9dc3: Already exists", "2d2f9bdea3a4: Already exists", "e46fe5682c56: Already exists", "2e208ebc6951: Already exists", "cb767c071479: Already exists", "0cd07b757146: Already exists", "d2551b6591d3: Pulling fs layer", "8a427c7c39b7: Pulling fs layer", "d2a751cf15fe: Pulling fs layer", "883eea4d8465: Pulling fs layer", "e7db03377b85: Pulling fs layer", "c5858bde5842: Pulling fs layer", "4222ebe53c1a: Pulling fs layer", "d2525240217a: Pulling fs layer", "bed47442193d: Pulling fs layer", "13b57a27519b: Pulling fs layer", "85005590b355: Pulling fs layer", "154239faa64c: Pulling fs layer", "b38ebb46e7cb: Pulling fs layer", "657a7c172730: Pulling fs layer", "df4a0bccd443: Pulling fs layer", "4222ebe53c1a: Waiting", "d2525240217a: Waiting", "bed47442193d: Waiting", "13b57a27519b: Waiting", "b38ebb46e7cb: Waiting", "883eea4d8465: Waiting", "657a7c172730: Waiting", "df4a0bccd443: Waiting", "e7db03377b85: Waiting", "85005590b355: Waiting", "c5858bde5842: Waiting", "8a427c7c39b7: Verifying Checksum", "8a427c7c39b7: Download complete", "d2551b6591d3: Verifying Checksum", "d2551b6591d3: Download complete", "883eea4d8465: Download complete", "d2551b6591d3: Pull complete", "c5858bde5842: Verifying Checksum", "c5858bde5842: Download complete", "e7db03377b85: Download complete", "8a427c7c39b7: Pull complete", "4222ebe53c1a: Download complete", "d2a751cf15fe: Verifying Checksum", "d2a751cf15fe: Download complete", "bed47442193d: Download complete", "13b57a27519b: Download complete", "85005590b355: Download complete", "b38ebb46e7cb: Download complete", "657a7c172730: Verifying Checksum", "657a7c172730: Download complete", "df4a0bccd443: Verifying Checksum", "df4a0bccd443: Download complete", "d2a751cf15fe: Pull complete", "883eea4d8465: Pull complete", "e7db03377b85: Pull complete", "c5858bde5842: Pull complete", "4222ebe53c1a: Pull complete", "154239faa64c: Verifying Checksum", "154239faa64c: Download complete", "d2525240217a: Download complete", "d2525240217a: Pull complete", "bed47442193d: Pull complete", "13b57a27519b: Pull complete", "85005590b355: Pull complete", "154239faa64c: Pull complete", "b38ebb46e7cb: Pull complete", "657a7c172730: Pull complete", "df4a0bccd443: Pull complete", "Digest: sha256:a620acbd1d4557b52d238ccd4b8775ca55c5c61c7edc918d61bd815f08129a04", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_2-5", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_2-5"]}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_vrouter : create /etc/contrail/vrouter] **************************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/vrouter", "size": 4096, "state": "directory", "uid": 0}
[WARNING]: The loop variable 'item' is already in use. You should set the
`loop_var` value in the `loop_control` option for the task to something else to
avoid variable collisions and unexpected behavior.
TASK [opensdn_vrouter : populate common_vrouter.env] ***************************
changed: [10.0.0.50] => {"changed": true, "checksum": "98330e1c89eda4a9da20de2fb417b108e532933f", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "4f279a00aad4ee353fafced31e8f49d0", "mode": "0640", "owner": "root", "size": 1025, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458662.7977698-83114-224548597118011/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : set vrouter kernel init image name] ********************
ok: [10.0.0.50] => {"ansible_facts": {"vrouter_kernel_init_img_name": "opensdn-vrouter-kernel-build-init"}, "changed": false}
TASK [opensdn_vrouter : check /etc/contrail/vrouter/docker-compose.yaml] *******
ok: [10.0.0.50] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_vrouter : create contrail vrouter compose file] ******************
changed: [10.0.0.50] => {"changed": true, "checksum": "0817ba2d21c30743223eac810b66b163d7739926", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "3ea3ae1c949d4395e0d1005bfc4db853", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1758458664.504653-83396-195745953150544/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] *****************
changed: [10.0.0.50] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/var/run/contrail/loadbalancer", "size": 40, "state": "directory", "uid": 0}
TASK [opensdn_vrouter : start contrail vrouter] ********************************
changed: [10.0.0.50] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "e743fa06e96def18ace3586b118dfa009cce9658d47cd832f011e682ec5910d5", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "99be1f7acc4435dcb5c6382ae9fe8054a73be58169eccf16585b5abaad8dcd1e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "afe3191248252b6d91cd8a933d2bf517d6bbe8484c6805cabdfa3b1178dd6e07", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "fcb96ba8763205b36f6b28bf60231c0611ed08089a0cb09b9d6c9a4f408ae1f7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-agent", "com.docker.compose.version": "1.29.2", "description": "The vRouter agent is a user space process running inside Linux. It acts as the local, lightweight control plane.", "io.opensdn.container.name": "opensdn-vrouter-agent", "io.opensdn.pod": "vrouter", "io.opensdn.service": "agent", "name": "opensdn-vrouter-agent", "release": "5.1.0", "summary": "Contrail Vrouter Agent", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_2-5", "labels": {"com.docker.compose.config-hash": "af16e12f304f168aec9f91feb9ef0f22bc4d9edc34e8883f5e9b4a265781372a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-kernel-init", "com.docker.compose.version": "1.29.2", "description": "This image is used to build vrouter.ko for current ubuntu operating system that it's running on.", "io.opensdn.container.name": "opensdn-vrouter-kernel-build-init", "name": "opensdn-vrouter-kernel-build-init", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "24.04", "release": "5.1.0", "summary": "Contrail vrouter kernel module for ubuntu", "vendor": "OpenSDN-IO", "version": "master-2_1_4_2-5"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}}
TASK [opensdn_vrouter : Set variables for DPDK plugins] ************************
ok: [10.0.0.50] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false}
PLAY RECAP *********************************************************************
10.0.0.50 : ok=92 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7
localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0
INFO: done in 0s
INFO: check time sync on nodes and force sync Sun Sep 21 12:45:32 UTC 2025
INFO: controller nodes - 10.0.0.50
INFO: agent nodes - 10.0.0.50
INFO: openstack controller nodes -
INFO: sync time on machine ubuntu@10.0.0.50
Warning: Permanently added '10.0.0.50' (ED25519) to the list of known hosts.
Warning: Permanently added '10.0.0.50' (ED25519) to the list of known hosts.
INFO: Sun Sep 21 12:45:33 UTC 2025: ensure time is synced (chronyd)
INFO: Sun Sep 21 12:45:33 UTC 2025: time is synced
TF Web UI must be available at https://10.0.0.50:8143
OpenStack UI must be avaiable at http://10.0.0.50
Use admin/contrail123 to log in
INFO: Stage tf was run successfully Sun Sep 21 12:45:33 UTC 2025
INFO: Running stage wait at Sun Sep 21 12:45:33 UTC 2025
INFO: done in 0s
INFO: Stage wait was run successfully Sun Sep 21 12:45:40 UTC 2025
[update tf stack configuration]
tf setup profile /home/ubuntu/.tf/stack.env
DEPLOYER=ansible
CONTRAIL_CONTAINER_TAG=master-2_1_4_2-5
CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_2-5
CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
ORCHESTRATOR=openstack
OPENSTACK_VERSION="yoga"
CONTROLLER_NODES="10.0.0.50 "
AGENT_NODES="10.0.0.50"
CONTROL_NODES="10.20.0.17 "
SSL_ENABLE="false"
LEGACY_ANALYTICS_ENABLE="true"
HUGE_PAGES_1G=
CONTAINER_RUNTIME=docker
K8S_CA=
DEPLOY_IPA_SERVER=
IPA_PASSWORD=
OPENSTACK_CONTROLLER_NODES='10.0.0.50'
OS_AUTH_URL='http://10.0.0.50:5000/v3'
AUTH_PASSWORD='contrail123'
AUTH_URL=''
INFO: Successful deployment Sun Sep 21 12:45:40 UTC 2025
DEBUG: kill running child jobs:
INFO: Deploy finished
+ exit
Archiving artifacts
Finished: SUCCESS