Started by upstream project "pipeline-check" build number 3079
originally caused by:
Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-common/+/2251
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 34fb771fc6b4e081080f3b53da9d9aa0153ee2aa (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 34fb771fc6b4e081080f3b53da9d9aa0153ee2aa # timeout=10
Commit message: "Merge "remove tpc jobs""
> git rev-list --no-walk 34fb771fc6b4e081080f3b53da9d9aa0153ee2aa # 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 24c9460702fa74c57715aef350b850da1a8f0a37 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 24c9460702fa74c57715aef350b850da1a8f0a37 # timeout=10
Commit message: "specify series for easyrsa in tf bundle in juju"
> git rev-list --no-walk 24c9460702fa74c57715aef350b850da1a8f0a37 # timeout=10
Copied 4 artifacts from "pipeline-check" build number 3079
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins2192005198292750692.sh
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3079
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3079
++ 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/51/2251/4/check_3079
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/51/2251/4/check_3079
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079
++ 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_2_5_1-4
++ CONTRAIL_CONTAINER_TAG=master-2_2_5_1-4
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
++ 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_2_5_1-4
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=Ied964864fb4bab7a7406940e441fafd32d41797b
++ GERRIT_CHANGE_ID=Ied964864fb4bab7a7406940e441fafd32d41797b
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-common
++ GERRIT_PROJECT=opensdn-io/tf-common
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ desc='Pipeline: pipeline-check-3079 Random: 49803 Stream: ansible-os'
+ desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079/ansible-os'
+ echo 'DESCRIPTION Pipeline: pipeline-check-3079 Random: 49803 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079/ansible-os'
DESCRIPTION Pipeline: pipeline-check-3079 Random: 49803 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079/ansible-os
[description-setter] Description set: Pipeline: pipeline-check-3079 Random: 49803 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079/ansible-os'
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins7492873171672254352.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3079
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3079
++ 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/51/2251/4/check_3079
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/51/2251/4/check_3079
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079
++ 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_2_5_1-4
++ CONTRAIL_CONTAINER_TAG=master-2_2_5_1-4
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
++ 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_2_5_1-4
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=Ied964864fb4bab7a7406940e441fafd32d41797b
++ GERRIT_CHANGE_ID=Ied964864fb4bab7a7406940e441fafd32d41797b
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-common
++ GERRIT_PROJECT=opensdn-io/tf-common
++ 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/jenkins9818571337143588498.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-3079
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-3079
++ 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/51/2251/4/check_3079
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/51/2251/4/check_3079
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/51/2251/4/check_3079
++ 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_2_5_1-4
++ CONTRAIL_CONTAINER_TAG=master-2_2_5_1-4
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
++ 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_2_5_1-4
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_2_5_1-4
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=Ied964864fb4bab7a7406940e441fafd32d41797b
++ GERRIT_CHANGE_ID=Ied964864fb4bab7a7406940e441fafd32d41797b
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-common
++ GERRIT_PROJECT=opensdn-io/tf-common
++ 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.49803.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=5ab086c9-e1e4-4d8f-9675-5ffe153a7a55,
++ INSTANCE_IDS=5ab086c9-e1e4-4d8f-9675-5ffe153a7a55,
++ export instance_ip=10.0.0.22
++ instance_ip=10.0.0.22
++ export CONTROLLER_NODES=10.0.0.22,
++ CONTROLLER_NODES=10.0.0.22,
++ 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.49803.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/51/2251/4/check_3079/ansible-os
+ FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/51/2251/4/check_3079/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.22' (ECDSA) to the list of known hosts.
Warning: Permanently added '10.0.0.22' (ECDSA) to the list of known hosts.
INFO: =================== Thu Oct 16 18:02:18 UTC 2025 ===================
[there is no tf devenv configuration to load]
INFO: Applying stages machines k8s openstack tf wait
INFO: Running stage machines at Thu Oct 16 18:02:18 UTC 2025
Skipping stage machines because it's finished
INFO: Stage machines was run successfully Thu Oct 16 18:02:18 UTC 2025
INFO: Running stage k8s at Thu Oct 16 18:02:18 UTC 2025
Skipping stage k8s because it's finished
INFO: Stage k8s was run successfully Thu Oct 16 18:02:18 UTC 2025
INFO: Running stage openstack at Thu Oct 16 18:02:18 UTC 2025
Skipping stage openstack because it's finished
INFO: Stage openstack was run successfully Thu Oct 16 18:02:18 UTC 2025
INFO: Running stage tf at Thu Oct 16 18:02:18 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_22": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_22", "private_ip": "10.0.0.22"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_22", "private_ip": "10.0.0.22"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_22', 'value': {'ip': '10.0.0.22', '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.22"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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_2_5_1-4"}, "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_22', 'value': {'ip': '10.0.0.22', '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_22": {"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_22", "value": {"ip": "10.0.0.22", "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.22", "opencontrail_collector_ip": "10.0.0.22"}, "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_2_5_1-4", "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_2_5_1-4", "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.22']}) => {"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.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "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.22"]}}
ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.22']}) => {"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.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"]}}
ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.22']}) => {"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.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.22']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.22']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.22']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"]}}
ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.22']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.22", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"]}}
ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.22']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.22", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.22"]}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.22", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "changed": false}
TASK [opensdn_deployer : check analyticsdb presence] ***************************
ok: [localhost] => (item={'key': 'node_10_0_0_22', 'value': {'ip': '10.0.0.22', '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.22", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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.22", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "changed": false}
TASK [opensdn_deployer : check analytics alarm presence] ***********************
ok: [localhost] => (item={'key': 'node_10_0_0_22', 'value': {'ip': '10.0.0.22', '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.22", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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.22", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "changed": false}
TASK [opensdn_deployer : check analytics snmp presence] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_22', 'value': {'ip': '10.0.0.22', '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.22", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.22", "ANALYTICS_NODES": "10.0.0.22", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.22", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.22", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.22", "CONTRAIL_CONTAINER_TAG": "master-2_2_5_1-4", "CONTROLLER_NODES": "10.0.0.22", "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.22"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_22", "value": {"ip": "10.0.0.22", "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.22"}, "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.22]
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.22]
TASK [opensdn : set instance data] *********************************************
ok: [10.0.0.22] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.22", "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.22] => {"ansible_facts": {"instance_name": "node_10_0_0_22"}, "changed": false}
TASK [opensdn : run common tasks] **********************************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.22
TASK [opensdn : create /var/log/contrail] **************************************
changed: [10.0.0.22] => {"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.22] => {"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.22] => {"changed": true, "checksum": "b1a365d18b621ff246eddbb012cc2c52a25ae1e2", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "d1d320a293a7a2f853a8742b4fab9a31", "mode": "0640", "owner": "root", "size": 1022, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637752.227535-57609-223582524892676/source", "state": "file", "uid": 0}
TASK [opensdn : populate defaults.env] *****************************************
changed: [10.0.0.22] => {"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-1760637753.0544302-57790-144515122884949/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.22] => (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_2_5_1-4", "delta": "0:00:03.115774", "end": "2025-10-16 18:02:37.316593", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-10-16 18:02:34.200819", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-redis\nfaef57eae888: Pulling fs layer\nbb595d48e52d: Pulling fs layer\nd479b54c3bb2: Pulling fs layer\nf1b700c31442: Pulling fs layer\nb96556682ce1: Pulling fs layer\n0df3a9e3510c: Pulling fs layer\nf7d3141dd6cc: Pulling fs layer\n9f744fb41440: Pulling fs layer\n87dfc6c390e7: Pulling fs layer\n54bc140bcbb1: Pulling fs layer\nb96556682ce1: Waiting\n0df3a9e3510c: Waiting\nf7d3141dd6cc: Waiting\n54bc140bcbb1: Waiting\n9f744fb41440: Waiting\n87dfc6c390e7: Waiting\nf1b700c31442: Waiting\nbb595d48e52d: Verifying Checksum\nbb595d48e52d: Download complete\nd479b54c3bb2: Download complete\nb96556682ce1: Download complete\n0df3a9e3510c: Download complete\nf7d3141dd6cc: Download complete\n9f744fb41440: Verifying Checksum\n9f744fb41440: Download complete\nf1b700c31442: Verifying Checksum\nf1b700c31442: Download complete\n87dfc6c390e7: Download complete\nfaef57eae888: Verifying Checksum\nfaef57eae888: Download complete\n54bc140bcbb1: Download complete\nfaef57eae888: Pull complete\nbb595d48e52d: Pull complete\nd479b54c3bb2: Pull complete\nf1b700c31442: Pull complete\nb96556682ce1: Pull complete\n0df3a9e3510c: Pull complete\nf7d3141dd6cc: Pull complete\n9f744fb41440: Pull complete\n87dfc6c390e7: Pull complete\n54bc140bcbb1: Pull complete\nDigest: sha256:4738c8b8374a97ccf28594477f0896d929b62217245c6d0c98a99c97eb713129\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-redis", "faef57eae888: Pulling fs layer", "bb595d48e52d: Pulling fs layer", "d479b54c3bb2: Pulling fs layer", "f1b700c31442: Pulling fs layer", "b96556682ce1: Pulling fs layer", "0df3a9e3510c: Pulling fs layer", "f7d3141dd6cc: Pulling fs layer", "9f744fb41440: Pulling fs layer", "87dfc6c390e7: Pulling fs layer", "54bc140bcbb1: Pulling fs layer", "b96556682ce1: Waiting", "0df3a9e3510c: Waiting", "f7d3141dd6cc: Waiting", "54bc140bcbb1: Waiting", "9f744fb41440: Waiting", "87dfc6c390e7: Waiting", "f1b700c31442: Waiting", "bb595d48e52d: Verifying Checksum", "bb595d48e52d: Download complete", "d479b54c3bb2: Download complete", "b96556682ce1: Download complete", "0df3a9e3510c: Download complete", "f7d3141dd6cc: Download complete", "9f744fb41440: Verifying Checksum", "9f744fb41440: Download complete", "f1b700c31442: Verifying Checksum", "f1b700c31442: Download complete", "87dfc6c390e7: Download complete", "faef57eae888: Verifying Checksum", "faef57eae888: Download complete", "54bc140bcbb1: Download complete", "faef57eae888: Pull complete", "bb595d48e52d: Pull complete", "d479b54c3bb2: Pull complete", "f1b700c31442: Pull complete", "b96556682ce1: Pull complete", "0df3a9e3510c: Pull complete", "f7d3141dd6cc: Pull complete", "9f744fb41440: Pull complete", "87dfc6c390e7: Pull complete", "54bc140bcbb1: Pull complete", "Digest: sha256:4738c8b8374a97ccf28594477f0896d929b62217245c6d0c98a99c97eb713129", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:01.234924", "end": "2025-10-16 18:02:38.975976", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-10-16 18:02:37.741052", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\ne7eb20a208a9: Pulling fs layer\nbe9e91a80093: Pulling fs layer\ne7eb20a208a9: Verifying Checksum\ne7eb20a208a9: Download complete\ne7eb20a208a9: Pull complete\nbe9e91a80093: Verifying Checksum\nbe9e91a80093: Download complete\nbe9e91a80093: Pull complete\nDigest: sha256:e24bf030c478da76c8b30d6838a49b33e0569a1e03021cd8cb6d0220a7ab5910\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "e7eb20a208a9: Pulling fs layer", "be9e91a80093: Pulling fs layer", "e7eb20a208a9: Verifying Checksum", "e7eb20a208a9: Download complete", "e7eb20a208a9: Pull complete", "be9e91a80093: Verifying Checksum", "be9e91a80093: Download complete", "be9e91a80093: Pull complete", "Digest: sha256:e24bf030c478da76c8b30d6838a49b33e0569a1e03021cd8cb6d0220a7ab5910", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_2_5_1-4"]}
TASK [opensdn_redis : create /etc/contrail/redis] ******************************
changed: [10.0.0.22] => {"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.22] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false}
TASK [opensdn_redis : create redis compose file] *******************************
changed: [10.0.0.22] => {"changed": true, "checksum": "5b01637db1de1ddbb32ce76324a906319f451f53", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "712c8d967c35c2f4a6f2bfe3ee2f02e5", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637759.850962-58244-121345836165738/source", "state": "file", "uid": 0}
TASK [opensdn_redis : start redis] *********************************************
changed: [10.0.0.22] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "eb117ae0becb188f40bdd76fb61f5e7c55c135e07283c0d44a319bc5f66bd0dc", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:03.733099", "end": "2025-10-16 18:02:46.036061", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:02:42.302962", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Pulling fs layer\nb2c056cfb5dd: Pulling fs layer\n2868a2afd784: Pulling fs layer\n9ca935b1eea4: Pulling fs layer\n8de9e9855f13: Pulling fs layer\n89721893f1a5: Pulling fs layer\n9ca935b1eea4: Waiting\n8de9e9855f13: Waiting\n89721893f1a5: Waiting\nb2c056cfb5dd: Download complete\n2868a2afd784: Download complete\nb34ff435e722: Download complete\n89721893f1a5: Download complete\nb34ff435e722: Pull complete\n8de9e9855f13: Download complete\nb2c056cfb5dd: Pull complete\n2868a2afd784: Pull complete\n9ca935b1eea4: Verifying Checksum\n9ca935b1eea4: Download complete\n9ca935b1eea4: Pull complete\n8de9e9855f13: Pull complete\n89721893f1a5: Pull complete\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Pulling fs layer", "b2c056cfb5dd: Pulling fs layer", "2868a2afd784: Pulling fs layer", "9ca935b1eea4: Pulling fs layer", "8de9e9855f13: Pulling fs layer", "89721893f1a5: Pulling fs layer", "9ca935b1eea4: Waiting", "8de9e9855f13: Waiting", "89721893f1a5: Waiting", "b2c056cfb5dd: Download complete", "2868a2afd784: Download complete", "b34ff435e722: Download complete", "89721893f1a5: Download complete", "b34ff435e722: Pull complete", "8de9e9855f13: Download complete", "b2c056cfb5dd: Pull complete", "2868a2afd784: Pull complete", "9ca935b1eea4: Verifying Checksum", "9ca935b1eea4: Download complete", "9ca935b1eea4: Pull complete", "8de9e9855f13: Pull complete", "89721893f1a5: Pull complete", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:02.369709", "end": "2025-10-16 18:02:48.826050", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:02:46.456341", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n560d5a9a0515: Pulling fs layer\nc4b950f909c6: Pulling fs layer\nc4b950f909c6: Verifying Checksum\nc4b950f909c6: Download complete\n560d5a9a0515: Verifying Checksum\n560d5a9a0515: Download complete\n560d5a9a0515: Pull complete\nc4b950f909c6: Pull complete\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "560d5a9a0515: Pulling fs layer", "c4b950f909c6: Pulling fs layer", "c4b950f909c6: Verifying Checksum", "c4b950f909c6: Download complete", "560d5a9a0515: Verifying Checksum", "560d5a9a0515: Download complete", "560d5a9a0515: Pull complete", "c4b950f909c6: Pull complete", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:05.490129", "end": "2025-10-16 18:02:54.739866", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-10-16 18:02:49.249737", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\n87ab56fa39f6: Pulling fs layer\n292ef99b5ebe: Pulling fs layer\n87ab56fa39f6: Download complete\n87ab56fa39f6: Pull complete\n292ef99b5ebe: Verifying Checksum\n292ef99b5ebe: Download complete\n292ef99b5ebe: Pull complete\nDigest: sha256:21a721c6bdedac92760ebb1c5be85a14078f3483e6a541cd9a8578acf638bd4e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "87ab56fa39f6: Pulling fs layer", "292ef99b5ebe: Pulling fs layer", "87ab56fa39f6: Download complete", "87ab56fa39f6: Pull complete", "292ef99b5ebe: Verifying Checksum", "292ef99b5ebe: Download complete", "292ef99b5ebe: Pull complete", "Digest: sha256:21a721c6bdedac92760ebb1c5be85a14078f3483e6a541cd9a8578acf638bd4e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:04.183782", "end": "2025-10-16 18:02:59.358928", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-10-16 18:02:55.175146", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-zookeeper\n1efc276f4ff9: Pulling fs layer\na2f2f93da482: Pulling fs layer\n12cca292b13c: Pulling fs layer\nd73cf48caaac: Pulling fs layer\nc7b4dda8479e: Pulling fs layer\n81afe63ee276: Pulling fs layer\nbe281bc29e5d: Pulling fs layer\ne26ea21af3b5: Pulling fs layer\n616ffcd24559: Pulling fs layer\nfc106fa84ccf: Pulling fs layer\n3be2c207122f: Pulling fs layer\n5731a7eb80c1: Pulling fs layer\n81afe63ee276: Waiting\n616ffcd24559: Waiting\nc7b4dda8479e: Waiting\nd73cf48caaac: Waiting\nbe281bc29e5d: Waiting\nfc106fa84ccf: Waiting\ne26ea21af3b5: Waiting\n3be2c207122f: Waiting\n5731a7eb80c1: Waiting\n12cca292b13c: Download complete\na2f2f93da482: Verifying Checksum\na2f2f93da482: Download complete\nc7b4dda8479e: Download complete\n81afe63ee276: Verifying Checksum\n81afe63ee276: Download complete\n1efc276f4ff9: Verifying Checksum\n1efc276f4ff9: Download complete\ne26ea21af3b5: Verifying Checksum\ne26ea21af3b5: Download complete\n616ffcd24559: Verifying Checksum\n616ffcd24559: Download complete\nbe281bc29e5d: Verifying Checksum\nbe281bc29e5d: Download complete\n3be2c207122f: Verifying Checksum\n3be2c207122f: Download complete\nfc106fa84ccf: Download complete\nd73cf48caaac: Verifying Checksum\nd73cf48caaac: Download complete\n5731a7eb80c1: Download complete\n1efc276f4ff9: Pull complete\na2f2f93da482: Pull complete\n12cca292b13c: Pull complete\nd73cf48caaac: Pull complete\nc7b4dda8479e: Pull complete\n81afe63ee276: Pull complete\nbe281bc29e5d: Pull complete\ne26ea21af3b5: Pull complete\n616ffcd24559: Pull complete\nfc106fa84ccf: Pull complete\n3be2c207122f: Pull complete\n5731a7eb80c1: Pull complete\nDigest: sha256:c83505d7d5fc1a057fa4287262a568e51d3e7441c0f05578bd2202e5db2cacfe\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-zookeeper", "1efc276f4ff9: Pulling fs layer", "a2f2f93da482: Pulling fs layer", "12cca292b13c: Pulling fs layer", "d73cf48caaac: Pulling fs layer", "c7b4dda8479e: Pulling fs layer", "81afe63ee276: Pulling fs layer", "be281bc29e5d: Pulling fs layer", "e26ea21af3b5: Pulling fs layer", "616ffcd24559: Pulling fs layer", "fc106fa84ccf: Pulling fs layer", "3be2c207122f: Pulling fs layer", "5731a7eb80c1: Pulling fs layer", "81afe63ee276: Waiting", "616ffcd24559: Waiting", "c7b4dda8479e: Waiting", "d73cf48caaac: Waiting", "be281bc29e5d: Waiting", "fc106fa84ccf: Waiting", "e26ea21af3b5: Waiting", "3be2c207122f: Waiting", "5731a7eb80c1: Waiting", "12cca292b13c: Download complete", "a2f2f93da482: Verifying Checksum", "a2f2f93da482: Download complete", "c7b4dda8479e: Download complete", "81afe63ee276: Verifying Checksum", "81afe63ee276: Download complete", "1efc276f4ff9: Verifying Checksum", "1efc276f4ff9: Download complete", "e26ea21af3b5: Verifying Checksum", "e26ea21af3b5: Download complete", "616ffcd24559: Verifying Checksum", "616ffcd24559: Download complete", "be281bc29e5d: Verifying Checksum", "be281bc29e5d: Download complete", "3be2c207122f: Verifying Checksum", "3be2c207122f: Download complete", "fc106fa84ccf: Download complete", "d73cf48caaac: Verifying Checksum", "d73cf48caaac: Download complete", "5731a7eb80c1: Download complete", "1efc276f4ff9: Pull complete", "a2f2f93da482: Pull complete", "12cca292b13c: Pull complete", "d73cf48caaac: Pull complete", "c7b4dda8479e: Pull complete", "81afe63ee276: Pull complete", "be281bc29e5d: Pull complete", "e26ea21af3b5: Pull complete", "616ffcd24559: Pull complete", "fc106fa84ccf: Pull complete", "3be2c207122f: Pull complete", "5731a7eb80c1: Pull complete", "Digest: sha256:c83505d7d5fc1a057fa4287262a568e51d3e7441c0f05578bd2202e5db2cacfe", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:05.047558", "end": "2025-10-16 18:03:04.875736", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-10-16 18:02:59.828178", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-rabbitmq\n675920708c8b: Pulling fs layer\ne08fdafa88ce: Pulling fs layer\n92e5ca28c20e: Pulling fs layer\ne7add638ac41: Pulling fs layer\nc47c3bedb477: Pulling fs layer\n2d0a461f4591: Pulling fs layer\n027715895e8b: Pulling fs layer\n78c707bc7c70: Pulling fs layer\n6e8aae77390d: Pulling fs layer\na49b9cb023b6: Pulling fs layer\ned2791c802fe: Pulling fs layer\n8050b6043507: Pulling fs layer\nf49a1faa1f9d: Pulling fs layer\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\ned2791c802fe: Waiting\n8050b6043507: Waiting\nf49a1faa1f9d: Waiting\ne7add638ac41: Waiting\n2d0a461f4591: Waiting\nc47c3bedb477: Waiting\n027715895e8b: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n2d0a461f4591: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\ned2791c802fe: Verifying Checksum\ned2791c802fe: Download complete\n8050b6043507: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\nf49a1faa1f9d: Verifying Checksum\nf49a1faa1f9d: 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\ned2791c802fe: Pull complete\n8050b6043507: Pull complete\nf49a1faa1f9d: Pull complete\nDigest: sha256:e3e170b3876b609c4ab9b53fa7762baad6d5eb993e24bc078a46e138dfee0625\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-rabbitmq", "675920708c8b: Pulling fs layer", "e08fdafa88ce: Pulling fs layer", "92e5ca28c20e: Pulling fs layer", "e7add638ac41: Pulling fs layer", "c47c3bedb477: Pulling fs layer", "2d0a461f4591: Pulling fs layer", "027715895e8b: Pulling fs layer", "78c707bc7c70: Pulling fs layer", "6e8aae77390d: Pulling fs layer", "a49b9cb023b6: Pulling fs layer", "ed2791c802fe: Pulling fs layer", "8050b6043507: Pulling fs layer", "f49a1faa1f9d: Pulling fs layer", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "ed2791c802fe: Waiting", "8050b6043507: Waiting", "f49a1faa1f9d: Waiting", "e7add638ac41: Waiting", "2d0a461f4591: Waiting", "c47c3bedb477: Waiting", "027715895e8b: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "2d0a461f4591: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "ed2791c802fe: Verifying Checksum", "ed2791c802fe: Download complete", "8050b6043507: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "f49a1faa1f9d: Verifying Checksum", "f49a1faa1f9d: 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", "ed2791c802fe: Pull complete", "8050b6043507: Pull complete", "f49a1faa1f9d: Pull complete", "Digest: sha256:e3e170b3876b609c4ab9b53fa7762baad6d5eb993e24bc078a46e138dfee0625", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.293326", "end": "2025-10-16 18:03:05.608667", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:03:05.315341", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n355a8b285520: Pulling fs layer\n355a8b285520: Download complete\n355a8b285520: Pull complete\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "355a8b285520: Pulling fs layer", "355a8b285520: Download complete", "355a8b285520: Pull complete", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_config_database : create /etc/contrail/config_database] **********
changed: [10.0.0.22] => {"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.22] => {"ansible_facts": {"cassandra_seeds": "10.0.0.22"}, "changed": false}
TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.22] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.22"}, "changed": false}
TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.22] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.22"}, "changed": false}
TASK [opensdn_config_database : Set variables for reaper tool] *****************
ok: [10.0.0.22] => {"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.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] ***
changed: [10.0.0.22] => {"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.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => {"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.22]: 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.22] => {"changed": true, "checksum": "6506d8f3df435aa6ccf6cf6eec82a615a96f2d03", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "8564ce13d7d6b26fac61e71697399b16", "mode": "0644", "owner": "root", "size": 4019, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637803.9010596-61132-270596561824696/source", "state": "file", "uid": 0}
TASK [opensdn_config_database : start contrail config database] ****************
changed: [10.0.0.22] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "cfa4f0fa68f02a4579fc0f1758b68a8517a222c8796e9ae2c62cec5def56f4e3", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "7c64e119ac735f0ea607fa3219cf31edeca70058d52b6c15a386735bcb41af4e", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "c6de6010577573cb330f96c7c89bc88139064c5cb3d77f9b628697c7f63c4289", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "b0785b0cbad92110f85d0a301bc853b088b981210bd1a8999b441569e91c8154", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "97844e68829ca67c6d4cafde9fb8f4d083d43e14c400c18e1bb46a8d374e9aab", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.113647", "end": "2025-10-16 18:03:28.164196", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:03:28.050549", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.107559", "end": "2025-10-16 18:03:28.721369", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:03:28.613810", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:01.087000", "end": "2025-10-16 18:03:30.226682", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-10-16 18:03:29.139682", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n6069475a3c5f: Pulling fs layer\n525018c65c95: Pulling fs layer\nd1358ea25320: Pulling fs layer\n6069475a3c5f: Verifying Checksum\n6069475a3c5f: Download complete\n6069475a3c5f: Pull complete\n525018c65c95: Verifying Checksum\n525018c65c95: Download complete\nd1358ea25320: Verifying Checksum\nd1358ea25320: Download complete\n525018c65c95: Pull complete\nd1358ea25320: Pull complete\nDigest: sha256:1c30b61aa1fe4cf1970c85997db6d011598029c7d203cd88ab801159328b1022\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "6069475a3c5f: Pulling fs layer", "525018c65c95: Pulling fs layer", "d1358ea25320: Pulling fs layer", "6069475a3c5f: Verifying Checksum", "6069475a3c5f: Download complete", "6069475a3c5f: Pull complete", "525018c65c95: Verifying Checksum", "525018c65c95: Download complete", "d1358ea25320: Verifying Checksum", "d1358ea25320: Download complete", "525018c65c95: Pull complete", "d1358ea25320: Pull complete", "Digest: sha256:1c30b61aa1fe4cf1970c85997db6d011598029c7d203cd88ab801159328b1022", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.715189", "end": "2025-10-16 18:03:31.367963", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-10-16 18:03:30.652774", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\nf35e09e8e7b4: Pulling fs layer\n02019fc1dd5c: Pulling fs layer\nf35e09e8e7b4: Download complete\n02019fc1dd5c: Verifying Checksum\n02019fc1dd5c: Download complete\nf35e09e8e7b4: Pull complete\n02019fc1dd5c: Pull complete\nDigest: sha256:af32ae17a41724d5482d1427df71999bf8159917aa2ad2b055d23b943d2f45c6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "f35e09e8e7b4: Pulling fs layer", "02019fc1dd5c: Pulling fs layer", "f35e09e8e7b4: Download complete", "02019fc1dd5c: Verifying Checksum", "02019fc1dd5c: Download complete", "f35e09e8e7b4: Pull complete", "02019fc1dd5c: Pull complete", "Digest: sha256:af32ae17a41724d5482d1427df71999bf8159917aa2ad2b055d23b943d2f45c6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.412739", "end": "2025-10-16 18:03:32.239581", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-10-16 18:03:31.826842", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n93a6712675fb: Pulling fs layer\n5cbf9a1b72c4: Pulling fs layer\n5cbf9a1b72c4: Verifying Checksum\n5cbf9a1b72c4: Download complete\n93a6712675fb: Verifying Checksum\n93a6712675fb: Download complete\n93a6712675fb: Pull complete\n5cbf9a1b72c4: Pull complete\nDigest: sha256:bbd177ea06aeb16c89323a68b1c9dc2b1e62d36e862f4972ab6c1e8e77a5ba71\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "93a6712675fb: Pulling fs layer", "5cbf9a1b72c4: Pulling fs layer", "5cbf9a1b72c4: Verifying Checksum", "5cbf9a1b72c4: Download complete", "93a6712675fb: Verifying Checksum", "93a6712675fb: Download complete", "93a6712675fb: Pull complete", "5cbf9a1b72c4: Pull complete", "Digest: sha256:bbd177ea06aeb16c89323a68b1c9dc2b1e62d36e862f4972ab6c1e8e77a5ba71", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:07.027022", "end": "2025-10-16 18:03:39.689679", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:03:32.662657", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\nbf91d3b42ca9: Pulling fs layer\n4ac369140c79: Pulling fs layer\n8d924577a7a6: Pulling fs layer\n8d924577a7a6: Verifying Checksum\n8d924577a7a6: Download complete\nbf91d3b42ca9: Verifying Checksum\nbf91d3b42ca9: Download complete\nbf91d3b42ca9: Pull complete\n4ac369140c79: Verifying Checksum\n4ac369140c79: Download complete\n4ac369140c79: Pull complete\n8d924577a7a6: Pull complete\nDigest: sha256:0a235d4e64a3428a70fd40dea587becaf4c48cc69eaeed81c463e415efc5d9fa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "bf91d3b42ca9: Pulling fs layer", "4ac369140c79: Pulling fs layer", "8d924577a7a6: Pulling fs layer", "8d924577a7a6: Verifying Checksum", "8d924577a7a6: Download complete", "bf91d3b42ca9: Verifying Checksum", "bf91d3b42ca9: Download complete", "bf91d3b42ca9: Pull complete", "4ac369140c79: Verifying Checksum", "4ac369140c79: Download complete", "4ac369140c79: Pull complete", "8d924577a7a6: Pull complete", "Digest: sha256:0a235d4e64a3428a70fd40dea587becaf4c48cc69eaeed81c463e415efc5d9fa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.581440", "end": "2025-10-16 18:03:40.702015", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-10-16 18:03:40.120575", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n44a7809bc3c8: Pulling fs layer\nb0c1f5b4966f: Pulling fs layer\nfe9d7876bc42: Pulling fs layer\n6e8a95c81d64: Pulling fs layer\n6e8a95c81d64: Waiting\nb0c1f5b4966f: Verifying Checksum\nb0c1f5b4966f: Download complete\nfe9d7876bc42: Verifying Checksum\nfe9d7876bc42: Download complete\n44a7809bc3c8: Verifying Checksum\n44a7809bc3c8: Download complete\n44a7809bc3c8: Pull complete\nb0c1f5b4966f: Pull complete\nfe9d7876bc42: Pull complete\n6e8a95c81d64: Verifying Checksum\n6e8a95c81d64: Download complete\n6e8a95c81d64: Pull complete\nDigest: sha256:255b0d1377826935f3292250686b2172f11f81f2b872f36b4ceedade98df0b51\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "44a7809bc3c8: Pulling fs layer", "b0c1f5b4966f: Pulling fs layer", "fe9d7876bc42: Pulling fs layer", "6e8a95c81d64: Pulling fs layer", "6e8a95c81d64: Waiting", "b0c1f5b4966f: Verifying Checksum", "b0c1f5b4966f: Download complete", "fe9d7876bc42: Verifying Checksum", "fe9d7876bc42: Download complete", "44a7809bc3c8: Verifying Checksum", "44a7809bc3c8: Download complete", "44a7809bc3c8: Pull complete", "b0c1f5b4966f: Pull complete", "fe9d7876bc42: Pull complete", "6e8a95c81d64: Verifying Checksum", "6e8a95c81d64: Download complete", "6e8a95c81d64: Pull complete", "Digest: sha256:255b0d1377826935f3292250686b2172f11f81f2b872f36b4ceedade98df0b51", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.107670", "end": "2025-10-16 18:03:41.246418", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:03:41.138748", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_config : create /etc/contrail/config] ****************************
changed: [10.0.0.22] => {"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.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config : create /etc/contrail/common_config.env] *****************
changed: [10.0.0.22] => {"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.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => {"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.22]: 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.22] => {"ansible_facts": {"use_external_tftp": false}, "changed": false}
TASK [opensdn_config : check if ironic_pxe is deployed on node] ****************
fatal: [10.0.0.22]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.025579", "end": "2025-10-16 18:03:58.539409", "msg": "non-zero return code", "rc": 1, "start": "2025-10-16 18:03:58.513830", "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.22] => {"changed": true, "checksum": "f2c14fb66419e87697697c24096002d587269908", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "79472f20a104ea7d1e7393e94ee836a3", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637838.872105-66111-4693499027799/source", "state": "file", "uid": 0}
TASK [opensdn_config : start contrail config] **********************************
changed: [10.0.0.22] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "15ac2f4960aaf4a0e38deaf0dcea1d0894a503e62cc262d3ee18a5b5e17fde5e", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "a093864faf1ec8919cbc00c2a614871ae2d80db77b4aafdf96c92131176918a5", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "7f74b34abe037869fb5a0cb5a077958850077a7c9c1bdb2a5f21f354c97f7386", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "7208e2b2bc519f488c28290af1cdfe4192af794e689a62f3f8c04e02f9b3d659", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "a90144fa164ef1c413daefd84950feb27c6b39bd9dc3d5fbc16bfbdcc9722d6e", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "91379d305a7f6e5f2e1149e17c0c0a01954d3f6eed0bb41e1d3692798fad76d0", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "a35763687ab2f9c01321d80457d92b2e151b08011043a52bedb6c57f0cda4b2b", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:10.054146", "end": "2025-10-16 18:04:13.094328", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-10-16 18:04:03.040182", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\n52c451ab6495: Pulling fs layer\n697f84ab8df4: Pulling fs layer\n140c6faee5f2: Pulling fs layer\nfbc66a8ee887: Pulling fs layer\n3409ec1f3dac: Pulling fs layer\n2d7df4c70050: Pulling fs layer\n4292884471da: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\nfbc66a8ee887: Waiting\n3409ec1f3dac: Waiting\n2d7df4c70050: Waiting\n4292884471da: Waiting\n4f4fb700ef54: Waiting\n52c451ab6495: Verifying Checksum\n52c451ab6495: Download complete\nfbc66a8ee887: Verifying Checksum\nfbc66a8ee887: Download complete\n3409ec1f3dac: Verifying Checksum\n3409ec1f3dac: Download complete\n2d7df4c70050: Download complete\n4292884471da: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n697f84ab8df4: Verifying Checksum\n52c451ab6495: Pull complete\n140c6faee5f2: Verifying Checksum\n140c6faee5f2: Download complete\n697f84ab8df4: Pull complete\n140c6faee5f2: Pull complete\nfbc66a8ee887: Pull complete\n3409ec1f3dac: Pull complete\n2d7df4c70050: Pull complete\n4292884471da: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:cc4aa0f765638e7f36981ef0b72d44d92c789cbbe4d887df4d8ce35373e6965f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "52c451ab6495: Pulling fs layer", "697f84ab8df4: Pulling fs layer", "140c6faee5f2: Pulling fs layer", "fbc66a8ee887: Pulling fs layer", "3409ec1f3dac: Pulling fs layer", "2d7df4c70050: Pulling fs layer", "4292884471da: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "fbc66a8ee887: Waiting", "3409ec1f3dac: Waiting", "2d7df4c70050: Waiting", "4292884471da: Waiting", "4f4fb700ef54: Waiting", "52c451ab6495: Verifying Checksum", "52c451ab6495: Download complete", "fbc66a8ee887: Verifying Checksum", "fbc66a8ee887: Download complete", "3409ec1f3dac: Verifying Checksum", "3409ec1f3dac: Download complete", "2d7df4c70050: Download complete", "4292884471da: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "697f84ab8df4: Verifying Checksum", "52c451ab6495: Pull complete", "140c6faee5f2: Verifying Checksum", "140c6faee5f2: Download complete", "697f84ab8df4: Pull complete", "140c6faee5f2: Pull complete", "fbc66a8ee887: Pull complete", "3409ec1f3dac: Pull complete", "2d7df4c70050: Pull complete", "4292884471da: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:cc4aa0f765638e7f36981ef0b72d44d92c789cbbe4d887df4d8ce35373e6965f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.288501", "end": "2025-10-16 18:04:13.821006", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-10-16 18:04:13.532505", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\n52c451ab6495: Already exists\n697f84ab8df4: Already exists\n140c6faee5f2: Already exists\nfbc66a8ee887: Already exists\n3409ec1f3dac: Already exists\n2d7df4c70050: Already exists\n4292884471da: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:6841ef09a62d3a7681f159960e531df8f716c75727a1391673190a5c07c3a2d7\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "52c451ab6495: Already exists", "697f84ab8df4: Already exists", "140c6faee5f2: Already exists", "fbc66a8ee887: Already exists", "3409ec1f3dac: Already exists", "2d7df4c70050: Already exists", "4292884471da: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:6841ef09a62d3a7681f159960e531df8f716c75727a1391673190a5c07c3a2d7", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_2_5_1-4"]}
TASK [opensdn_webui : create /etc/contrail/webui] ******************************
changed: [10.0.0.22] => {"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.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_webui : create /etc/contrail/common_webui.env] *******************
changed: [10.0.0.22] => {"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.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => {"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.22]: 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.22] => {"changed": true, "checksum": "067d0f8ce7532ac5deb21580fa9f97f4366abe9a", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "208a6700a9849ca434a8e41e16f02794", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637870.7140605-70276-54903201913380/source", "state": "file", "uid": 0}
TASK [opensdn_webui : start contrail webui] ************************************
changed: [10.0.0.22] => {"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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "1f2bfeb2a112947d959e04cf58d5fe3e4540109f4b11498d164e3c17c6002a18", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "45210101a99d9e3570a22fd9966addd9fefc4cd24298e696916ab5b0450766ed", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.119075", "end": "2025-10-16 18:04:34.596177", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:04:34.477102", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.103996", "end": "2025-10-16 18:04:35.137227", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:04:35.033231", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:05.506629", "end": "2025-10-16 18:04:41.108705", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-10-16 18:04:35.602076", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n6a0ab4af5ca5: Pulling fs layer\nc65dd1ddfefe: Pulling fs layer\n163b5c965f6a: Pulling fs layer\n2ee34b1675fb: Pulling fs layer\n2ee34b1675fb: Waiting\n163b5c965f6a: Verifying Checksum\n163b5c965f6a: Download complete\n2ee34b1675fb: Download complete\n6a0ab4af5ca5: Download complete\n6a0ab4af5ca5: Pull complete\nc65dd1ddfefe: Verifying Checksum\nc65dd1ddfefe: Download complete\nc65dd1ddfefe: Pull complete\n163b5c965f6a: Pull complete\n2ee34b1675fb: Pull complete\nDigest: sha256:e7385d76d9e22df3d81ddc7637d58cf0ddc9158b71fc807ab70b9aeb16fea679\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "6a0ab4af5ca5: Pulling fs layer", "c65dd1ddfefe: Pulling fs layer", "163b5c965f6a: Pulling fs layer", "2ee34b1675fb: Pulling fs layer", "2ee34b1675fb: Waiting", "163b5c965f6a: Verifying Checksum", "163b5c965f6a: Download complete", "2ee34b1675fb: Download complete", "6a0ab4af5ca5: Download complete", "6a0ab4af5ca5: Pull complete", "c65dd1ddfefe: Verifying Checksum", "c65dd1ddfefe: Download complete", "c65dd1ddfefe: Pull complete", "163b5c965f6a: Pull complete", "2ee34b1675fb: Pull complete", "Digest: sha256:e7385d76d9e22df3d81ddc7637d58cf0ddc9158b71fc807ab70b9aeb16fea679", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.537721", "end": "2025-10-16 18:04:42.112195", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-10-16 18:04:41.574474", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n6a0ab4af5ca5: Already exists\nb53501bc3831: Pulling fs layer\n293e4de22e46: Pulling fs layer\n9360ff6e3c77: Pulling fs layer\na12134cb0c9d: Pulling fs layer\ne3bd6431d4e0: Pulling fs layer\n1c6be865b89d: Pulling fs layer\n1c6be865b89d: Waiting\ne3bd6431d4e0: Waiting\na12134cb0c9d: Waiting\nb53501bc3831: Verifying Checksum\nb53501bc3831: Download complete\n293e4de22e46: Verifying Checksum\n293e4de22e46: Download complete\n9360ff6e3c77: Verifying Checksum\n9360ff6e3c77: Download complete\nb53501bc3831: Pull complete\na12134cb0c9d: Verifying Checksum\na12134cb0c9d: Download complete\ne3bd6431d4e0: Verifying Checksum\ne3bd6431d4e0: Download complete\n1c6be865b89d: Download complete\n293e4de22e46: Pull complete\n9360ff6e3c77: Pull complete\na12134cb0c9d: Pull complete\ne3bd6431d4e0: Pull complete\n1c6be865b89d: Pull complete\nDigest: sha256:222c3004d0372ef772b747e1948b9ab3385c0445c163d0b5530f3bd3b009e53f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "6a0ab4af5ca5: Already exists", "b53501bc3831: Pulling fs layer", "293e4de22e46: Pulling fs layer", "9360ff6e3c77: Pulling fs layer", "a12134cb0c9d: Pulling fs layer", "e3bd6431d4e0: Pulling fs layer", "1c6be865b89d: Pulling fs layer", "1c6be865b89d: Waiting", "e3bd6431d4e0: Waiting", "a12134cb0c9d: Waiting", "b53501bc3831: Verifying Checksum", "b53501bc3831: Download complete", "293e4de22e46: Verifying Checksum", "293e4de22e46: Download complete", "9360ff6e3c77: Verifying Checksum", "9360ff6e3c77: Download complete", "b53501bc3831: Pull complete", "a12134cb0c9d: Verifying Checksum", "a12134cb0c9d: Download complete", "e3bd6431d4e0: Verifying Checksum", "e3bd6431d4e0: Download complete", "1c6be865b89d: Download complete", "293e4de22e46: Pull complete", "9360ff6e3c77: Pull complete", "a12134cb0c9d: Pull complete", "e3bd6431d4e0: Pull complete", "1c6be865b89d: Pull complete", "Digest: sha256:222c3004d0372ef772b747e1948b9ab3385c0445c163d0b5530f3bd3b009e53f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:03.377788", "end": "2025-10-16 18:04:45.950256", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-10-16 18:04:42.572468", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n6a0ab4af5ca5: Already exists\n434e0fea9beb: Pulling fs layer\n6af10b196e1e: Pulling fs layer\nd005a9953133: Pulling fs layer\n66e79f0ab94e: Pulling fs layer\n839275e19e46: Pulling fs layer\n2c46f6fda2ea: Pulling fs layer\nf35e59896d40: Pulling fs layer\na6c8cdcbc9d9: Pulling fs layer\n5384f96be835: Pulling fs layer\n66e79f0ab94e: Waiting\n839275e19e46: Waiting\nf35e59896d40: Waiting\n2c46f6fda2ea: Waiting\na6c8cdcbc9d9: Waiting\n5384f96be835: Waiting\n6af10b196e1e: Verifying Checksum\n6af10b196e1e: Download complete\nd005a9953133: Verifying Checksum\nd005a9953133: Download complete\n66e79f0ab94e: Verifying Checksum\n66e79f0ab94e: Download complete\n839275e19e46: Download complete\n2c46f6fda2ea: Download complete\nf35e59896d40: Verifying Checksum\nf35e59896d40: Download complete\na6c8cdcbc9d9: Verifying Checksum\na6c8cdcbc9d9: Download complete\n5384f96be835: Download complete\n434e0fea9beb: Verifying Checksum\n434e0fea9beb: Download complete\n434e0fea9beb: Pull complete\n6af10b196e1e: Pull complete\nd005a9953133: Pull complete\n66e79f0ab94e: Pull complete\n839275e19e46: Pull complete\n2c46f6fda2ea: Pull complete\nf35e59896d40: Pull complete\na6c8cdcbc9d9: Pull complete\n5384f96be835: Pull complete\nDigest: sha256:9fd04b94f4b53ee844948b0216b69ad68a4fb290ca7a2fc33a1c127f29b91114\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "6a0ab4af5ca5: Already exists", "434e0fea9beb: Pulling fs layer", "6af10b196e1e: Pulling fs layer", "d005a9953133: Pulling fs layer", "66e79f0ab94e: Pulling fs layer", "839275e19e46: Pulling fs layer", "2c46f6fda2ea: Pulling fs layer", "f35e59896d40: Pulling fs layer", "a6c8cdcbc9d9: Pulling fs layer", "5384f96be835: Pulling fs layer", "66e79f0ab94e: Waiting", "839275e19e46: Waiting", "f35e59896d40: Waiting", "2c46f6fda2ea: Waiting", "a6c8cdcbc9d9: Waiting", "5384f96be835: Waiting", "6af10b196e1e: Verifying Checksum", "6af10b196e1e: Download complete", "d005a9953133: Verifying Checksum", "d005a9953133: Download complete", "66e79f0ab94e: Verifying Checksum", "66e79f0ab94e: Download complete", "839275e19e46: Download complete", "2c46f6fda2ea: Download complete", "f35e59896d40: Verifying Checksum", "f35e59896d40: Download complete", "a6c8cdcbc9d9: Verifying Checksum", "a6c8cdcbc9d9: Download complete", "5384f96be835: Download complete", "434e0fea9beb: Verifying Checksum", "434e0fea9beb: Download complete", "434e0fea9beb: Pull complete", "6af10b196e1e: Pull complete", "d005a9953133: Pull complete", "66e79f0ab94e: Pull complete", "839275e19e46: Pull complete", "2c46f6fda2ea: Pull complete", "f35e59896d40: Pull complete", "a6c8cdcbc9d9: Pull complete", "5384f96be835: Pull complete", "Digest: sha256:9fd04b94f4b53ee844948b0216b69ad68a4fb290ca7a2fc33a1c127f29b91114", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.106738", "end": "2025-10-16 18:04:46.485716", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:04:46.378978", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_control : create /etc/contrail/control] **************************
changed: [10.0.0.22] => {"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.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_control : create /etc/contrail/common_control.env] ***************
changed: [10.0.0.22] => {"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.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => {"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.22]: 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.22] => {"changed": true, "checksum": "59201544cfff8d8c0288e4aa8ef02bd7bce2359a", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "beefc6169b73212e9bdff9fc680de6bb", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637903.6673207-73908-49620048207395/source", "state": "file", "uid": 0}
TASK [opensdn_control : start contrail control] ********************************
changed: [10.0.0.22] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "17de7a1bd894e2f745ab206d3ece5df92d4e1441603ddd5bd1d702fb94da7a6b", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "2e0e54353d006b6bc96dc4dae78d18150e9154f53e81b4933eb09b86b6baa54b", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "fb7a1b922de5d26f764b034a7100070333a1effd0c436986b763315628f62a7a", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "be4cd0f212e462565c99512aa797253496e8942c1baf54877accc46d23659fb1", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "c11e0fd8c408979b85c943a77eec700e6412e0c2b7874e6262538fa9703c1fd5", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.108855", "end": "2025-10-16 18:05:08.576764", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:05:08.467909", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.104930", "end": "2025-10-16 18:05:09.099314", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:05:08.994384", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:02.407160", "end": "2025-10-16 18:05:11.928641", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-10-16 18:05:09.521481", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\ndd764fd196de: Pulling fs layer\n3e884816d1ab: Pulling fs layer\n77b48b480bbc: Pulling fs layer\ndd764fd196de: Download complete\ndd764fd196de: Pull complete\n77b48b480bbc: Verifying Checksum\n77b48b480bbc: Download complete\n3e884816d1ab: Verifying Checksum\n3e884816d1ab: Download complete\n3e884816d1ab: Pull complete\n77b48b480bbc: Pull complete\nDigest: sha256:6c10011cec997dc375d6586221cabbaba59fadcdd08e0859527c22297bbf03aa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "dd764fd196de: Pulling fs layer", "3e884816d1ab: Pulling fs layer", "77b48b480bbc: Pulling fs layer", "dd764fd196de: Download complete", "dd764fd196de: Pull complete", "77b48b480bbc: Verifying Checksum", "77b48b480bbc: Download complete", "3e884816d1ab: Verifying Checksum", "3e884816d1ab: Download complete", "3e884816d1ab: Pull complete", "77b48b480bbc: Pull complete", "Digest: sha256:6c10011cec997dc375d6586221cabbaba59fadcdd08e0859527c22297bbf03aa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.115526", "end": "2025-10-16 18:05:12.491454", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-10-16 18:05:12.375928", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-cassandra\nDigest: sha256:21a721c6bdedac92760ebb1c5be85a14078f3483e6a541cd9a8578acf638bd4e\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-cassandra", "Digest: sha256:21a721c6bdedac92760ebb1c5be85a14078f3483e6a541cd9a8578acf638bd4e", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.119940", "end": "2025-10-16 18:05:13.087390", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:05:12.967450", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] ****
changed: [10.0.0.22] => {"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.22] => {"ansible_facts": {"cassandra_seeds": "10.0.0.22"}, "changed": false}
TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] ***
ok: [10.0.0.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] ***
changed: [10.0.0.22] => {"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.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => {"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.22]: 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.22] => {"changed": true, "checksum": "8b724701f2c93bee9472e23b6396b180dc9177f2", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "47bac4eae6495a6848f54372b16d9c84", "mode": "0644", "owner": "root", "size": 3013, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637929.951996-77623-13223603132822/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_database : start contrail analyticsdb] *****************
changed: [10.0.0.22] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "ef2b4c10fcc69d306e121c6898d6ae5b669f9d2f4cd85ad32ab99700156a42bf", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "3a3202d8802d69ec5cccf334c69bd90c8e140357cdcd47ae7a548a1745baca93", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "22f85f4ae8bdfea8076b354636c337af89680fbb8ff94db22fa9f183422997c6", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "97c4a082a34b7364cd0187a2b93456ea4e33fe5d5b5d5c7e46a612e77846f70f", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.107322", "end": "2025-10-16 18:05:33.131194", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:05:33.023872", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.130911", "end": "2025-10-16 18:05:33.684572", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:05:33.553661", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:02.048357", "end": "2025-10-16 18:05:36.173849", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-10-16 18:05:34.125492", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n9d2984f1633e: Pulling fs layer\nc691545fea04: Pulling fs layer\nc2872744ecce: Pulling fs layer\na2ce0f48c4d4: Pulling fs layer\n2729969d8aa7: Pulling fs layer\na2ce0f48c4d4: Waiting\n2729969d8aa7: Waiting\n9d2984f1633e: Verifying Checksum\n9d2984f1633e: Download complete\nc691545fea04: Download complete\n9d2984f1633e: Pull complete\na2ce0f48c4d4: Download complete\nc2872744ecce: Download complete\nc691545fea04: Pull complete\n2729969d8aa7: Verifying Checksum\n2729969d8aa7: Download complete\nc2872744ecce: Pull complete\na2ce0f48c4d4: Pull complete\n2729969d8aa7: Pull complete\nDigest: sha256:5ed463e1eef8c97451bb96ec9c57bef29a56add8509f2a1865f7d796db364e7c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "9d2984f1633e: Pulling fs layer", "c691545fea04: Pulling fs layer", "c2872744ecce: Pulling fs layer", "a2ce0f48c4d4: Pulling fs layer", "2729969d8aa7: Pulling fs layer", "a2ce0f48c4d4: Waiting", "2729969d8aa7: Waiting", "9d2984f1633e: Verifying Checksum", "9d2984f1633e: Download complete", "c691545fea04: Download complete", "9d2984f1633e: Pull complete", "a2ce0f48c4d4: Download complete", "c2872744ecce: Download complete", "c691545fea04: Pull complete", "2729969d8aa7: Verifying Checksum", "2729969d8aa7: Download complete", "c2872744ecce: Pull complete", "a2ce0f48c4d4: Pull complete", "2729969d8aa7: Pull complete", "Digest: sha256:5ed463e1eef8c97451bb96ec9c57bef29a56add8509f2a1865f7d796db364e7c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:03.326995", "end": "2025-10-16 18:05:39.994947", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-10-16 18:05:36.667952", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n855069946dff: Pulling fs layer\n0d346f32d7f6: Pulling fs layer\n44328ef95018: Pulling fs layer\n855069946dff: Download complete\n855069946dff: Pull complete\n44328ef95018: Verifying Checksum\n44328ef95018: Download complete\n0d346f32d7f6: Verifying Checksum\n0d346f32d7f6: Download complete\n0d346f32d7f6: Pull complete\n44328ef95018: Pull complete\nDigest: sha256:ee1f59e22e31cde9047384f6885dddb3cb283f23ceb6d0e32f72080762239f79\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "855069946dff: Pulling fs layer", "0d346f32d7f6: Pulling fs layer", "44328ef95018: Pulling fs layer", "855069946dff: Download complete", "855069946dff: Pull complete", "44328ef95018: Verifying Checksum", "44328ef95018: Download complete", "0d346f32d7f6: Verifying Checksum", "0d346f32d7f6: Download complete", "0d346f32d7f6: Pull complete", "44328ef95018: Pull complete", "Digest: sha256:ee1f59e22e31cde9047384f6885dddb3cb283f23ceb6d0e32f72080762239f79", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.105465", "end": "2025-10-16 18:05:40.519052", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:05:40.413587", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_analytics : create /etc/contrail/analytics] **********************
changed: [10.0.0.22] => {"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.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] ***********
changed: [10.0.0.22] => {"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.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.22] => {"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.22]: 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.22] => {"changed": true, "checksum": "68c161eb5a2de25dc55d547c2edd61798d04f45d", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "53b4dad5cb995e826551c8e97b1b5a4d", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637957.4161124-81644-250126903158214/source", "state": "file", "uid": 0}
TASK [opensdn_analytics : start contrail analytics] ****************************
changed: [10.0.0.22] => {"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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "7ecf905b1692b42b54fb98008be7a227bf50936aa1259470d6484bd9358a4ef2", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "be302733050a13c08f91acecaa238e06aa9e6496f2f0897696030cd8b6264f13", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "d3c599c3eec64c55576421cfd91c6433d5da99cdd1b7a38da033d0bf88e7bf4e", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "11feb577729aaa41df4168add902413052ab1f9e32ef690bfc90fc1970ac8cd3", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.110644", "end": "2025-10-16 18:06:00.775933", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:06:00.665289", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.106267", "end": "2025-10-16 18:06:01.318949", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:06:01.212682", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.725752", "end": "2025-10-16 18:06:02.554182", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-10-16 18:06:01.828430", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\nbac78f6e5695: Pulling fs layer\ne468cb056921: Pulling fs layer\nbac78f6e5695: Verifying Checksum\nbac78f6e5695: Download complete\nbac78f6e5695: Pull complete\ne468cb056921: Verifying Checksum\ne468cb056921: Download complete\ne468cb056921: Pull complete\nDigest: sha256:771cb8997e0f27a208f77fad380dc2ab9d46d831b0bd4298d7e64d8acbfdf37d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "bac78f6e5695: Pulling fs layer", "e468cb056921: Pulling fs layer", "bac78f6e5695: Verifying Checksum", "bac78f6e5695: Download complete", "bac78f6e5695: Pull complete", "e468cb056921: Verifying Checksum", "e468cb056921: Download complete", "e468cb056921: Pull complete", "Digest: sha256:771cb8997e0f27a208f77fad380dc2ab9d46d831b0bd4298d7e64d8acbfdf37d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:07.899072", "end": "2025-10-16 18:06:10.918478", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-10-16 18:06:03.019406", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\n2202c83ce325: Pulling fs layer\na978c45f9d9c: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n2202c83ce325: Download complete\n2202c83ce325: Pull complete\na978c45f9d9c: Verifying Checksum\na978c45f9d9c: Download complete\na978c45f9d9c: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:8164d83d245231ee3bd1a920a3bd1d1d3525bcb2bf377eb382bdd69b17fe3f1f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "2202c83ce325: Pulling fs layer", "a978c45f9d9c: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "2202c83ce325: Download complete", "2202c83ce325: Pull complete", "a978c45f9d9c: Verifying Checksum", "a978c45f9d9c: Download complete", "a978c45f9d9c: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:8164d83d245231ee3bd1a920a3bd1d1d3525bcb2bf377eb382bdd69b17fe3f1f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.113634", "end": "2025-10-16 18:06:11.452387", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:06:11.338753", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] **********
changed: [10.0.0.22] => {"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.22] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.22"}, "changed": false}
TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] ***
changed: [10.0.0.22] => {"changed": true, "checksum": "99c4c8e6e9410d7bf2081faaf6d352836c9286b7", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "81610481958be69e5aed97abd010ad98", "mode": "0644", "owner": "root", "size": 2475, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637972.431812-83467-200737204103602/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_alarm : start contrail analytics_alarm] ****************
changed: [10.0.0.22] => {"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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "8fb8a245f802480b1b3fee5d2968916e3a6fee21281c03aae08a885231174034", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "c289f4f41190b5f542421d730122e234dc330cfddf25d7e82624cb510ca5520f", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "6be375aa0006655acfcee27e2927254b3bd408a1c1f3344e029f942976b3c019", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "24cbb255dbc66c2b993da6f4491a686b90dbe30c0724a90418f2c8ce90dd4987", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.113296", "end": "2025-10-16 18:06:16.019872", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:06:15.906576", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.107599", "end": "2025-10-16 18:06:16.564714", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:06:16.457115", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:04.645397", "end": "2025-10-16 18:06:21.674498", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-10-16 18:06:17.029101", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n4b8fd9eb8fdf: Pulling fs layer\n5c3fb31053d5: Pulling fs layer\na160e1ee4eda: Pulling fs layer\n9da3b8e31a24: Pulling fs layer\n9da3b8e31a24: Waiting\na160e1ee4eda: Verifying Checksum\na160e1ee4eda: Download complete\n4b8fd9eb8fdf: Verifying Checksum\n4b8fd9eb8fdf: Download complete\n9da3b8e31a24: Verifying Checksum\n9da3b8e31a24: Download complete\n4b8fd9eb8fdf: Pull complete\n5c3fb31053d5: Verifying Checksum\n5c3fb31053d5: Download complete\n5c3fb31053d5: Pull complete\na160e1ee4eda: Pull complete\n9da3b8e31a24: Pull complete\nDigest: sha256:0f1fcdc42c655da704c2d26cdee6d7c504d36770d5ecc4422dab9a60913ad8db\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "4b8fd9eb8fdf: Pulling fs layer", "5c3fb31053d5: Pulling fs layer", "a160e1ee4eda: Pulling fs layer", "9da3b8e31a24: Pulling fs layer", "9da3b8e31a24: Waiting", "a160e1ee4eda: Verifying Checksum", "a160e1ee4eda: Download complete", "4b8fd9eb8fdf: Verifying Checksum", "4b8fd9eb8fdf: Download complete", "9da3b8e31a24: Verifying Checksum", "9da3b8e31a24: Download complete", "4b8fd9eb8fdf: Pull complete", "5c3fb31053d5: Verifying Checksum", "5c3fb31053d5: Download complete", "5c3fb31053d5: Pull complete", "a160e1ee4eda: Pull complete", "9da3b8e31a24: Pull complete", "Digest: sha256:0f1fcdc42c655da704c2d26cdee6d7c504d36770d5ecc4422dab9a60913ad8db", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:00.437186", "end": "2025-10-16 18:06:22.595112", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-10-16 18:06:22.157926", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n4b8fd9eb8fdf: Already exists\n5c3fb31053d5: Already exists\n01c9e9ad07fc: Pulling fs layer\n05a3c1c92a4a: Pulling fs layer\n01c9e9ad07fc: Verifying Checksum\n01c9e9ad07fc: Download complete\n05a3c1c92a4a: Verifying Checksum\n05a3c1c92a4a: Download complete\n01c9e9ad07fc: Pull complete\n05a3c1c92a4a: Pull complete\nDigest: sha256:1175604b35245561e866bc107ca1ab7982fd91d4789753eb8ab52efbcbf70bf2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "4b8fd9eb8fdf: Already exists", "5c3fb31053d5: Already exists", "01c9e9ad07fc: Pulling fs layer", "05a3c1c92a4a: Pulling fs layer", "01c9e9ad07fc: Verifying Checksum", "01c9e9ad07fc: Download complete", "05a3c1c92a4a: Verifying Checksum", "05a3c1c92a4a: Download complete", "01c9e9ad07fc: Pull complete", "05a3c1c92a4a: Pull complete", "Digest: sha256:1175604b35245561e866bc107ca1ab7982fd91d4789753eb8ab52efbcbf70bf2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.116960", "end": "2025-10-16 18:06:23.164655", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:06:23.047695", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************
changed: [10.0.0.22] => {"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.22] => {"changed": true, "checksum": "7228b91066e6a41a0796005e25b9ef0baf84ce1e", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "97acd98bceaa227e001ebb0f0d6ed1b6", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637983.8271298-85694-197088880861878/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ******************
changed: [10.0.0.22] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "2d4c63c291be3e35b30cd0177f347241fa1a0d08e08cb4d4f641fecf7e4fe154", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "5ef9b7fb2521b02c243526e4ea09d3e443d0551dc63180cb1e77acad1818a225", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "8a801d52b8258f0d1879b33011f5e5bf8953095e0e99a1ece0b6caae367513d9", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "2e02a4c097b9afff85f0818aa13e05dcd61e90ae6faec10b8820659012f0165e", "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_2_5_1-4"}, "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.22] => (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_2_5_1-4", "delta": "0:00:00.507116", "end": "2025-10-16 18:06:28.024543", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-10-16 18:06:27.517427", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\n9bacfd7ddc2b: Pulling fs layer\n68d5ad902094: Pulling fs layer\n8122a784abb7: Pulling fs layer\nd073d41e4dd6: Pulling fs layer\nd073d41e4dd6: Waiting\n8122a784abb7: Download complete\n9bacfd7ddc2b: Download complete\nd073d41e4dd6: Verifying Checksum\nd073d41e4dd6: Download complete\n68d5ad902094: Download complete\n9bacfd7ddc2b: Pull complete\n68d5ad902094: Pull complete\n8122a784abb7: Pull complete\nd073d41e4dd6: Pull complete\nDigest: sha256:86cc95662337f005daaf971773a2d4e2649c6313fc5f6dcff3cacb5516e70d14\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "9bacfd7ddc2b: Pulling fs layer", "68d5ad902094: Pulling fs layer", "8122a784abb7: Pulling fs layer", "d073d41e4dd6: Pulling fs layer", "d073d41e4dd6: Waiting", "8122a784abb7: Download complete", "9bacfd7ddc2b: Download complete", "d073d41e4dd6: Verifying Checksum", "d073d41e4dd6: Download complete", "68d5ad902094: Download complete", "9bacfd7ddc2b: Pull complete", "68d5ad902094: Pull complete", "8122a784abb7: Pull complete", "d073d41e4dd6: Pull complete", "Digest: sha256:86cc95662337f005daaf971773a2d4e2649c6313fc5f6dcff3cacb5516e70d14", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_2_5_1-4"]}
TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************
changed: [10.0.0.22] => {"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.22] => {"changed": true, "checksum": "bf7245d62f30cedf9b383a02c94bfdb03cd6f08b", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "c0589602c8461d421f55bf71a7faee86", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760637988.7659655-86964-274469781357038/source", "state": "file", "uid": 0}
TASK [opensdn_rsyslogd : start rsyslogd] ***************************************
changed: [10.0.0.22] => {"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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "f41c0a6b1688ed311691877e4815dc70d89deaa4aa0a5dbd1f7815337fce1243", "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_2_5_1-4"}, "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.22] => {"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.22] => (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_2_5_1-4", "delta": "0:00:00.119365", "end": "2025-10-16 18:06:31.432112", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-16 18:06:31.312747", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-node-init\nDigest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-node-init", "Digest: sha256:ee70a9be18e1561785b3bff9e0d50a24f8bf1604ae5775a46c048f6a16f93f71", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "delta": "0:00:00.107457", "end": "2025-10-16 18:06:31.981451", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-16 18:06:31.873994", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-nodemgr\nDigest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-nodemgr", "Digest: sha256:6f440ebd0342ab2dafb0a58561d6cf9d853409dcabe461289bef81f49399ca86", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "delta": "0:00:00.108901", "end": "2025-10-16 18:06:32.564269", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-16 18:06:32.455368", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-provisioner\nDigest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-provisioner", "Digest: sha256:d108e5c87f4ce88a54b5ea0610de07bebed041fac5670e975ad57d15e8770632", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:06.731787", "end": "2025-10-16 18:06:39.753969", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-10-16 18:06:33.022182", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-vrouter-kernel-build-init\ncf57d2112d89: Pulling fs layer\nb5765679c39b: Pulling fs layer\n45098e2835c5: Pulling fs layer\ncf3390c6696a: Pulling fs layer\n1d50d74c79f7: Pulling fs layer\n5fb79e72c663: Pulling fs layer\n1ed7b8adb9a6: Pulling fs layer\n9bca9466cb1f: Pulling fs layer\n5fb79e72c663: Waiting\n1ed7b8adb9a6: Waiting\ncf3390c6696a: Waiting\n9bca9466cb1f: Waiting\n1d50d74c79f7: Waiting\n45098e2835c5: Download complete\nb5765679c39b: Verifying Checksum\nb5765679c39b: Download complete\ncf3390c6696a: Verifying Checksum\ncf3390c6696a: Download complete\n1d50d74c79f7: Verifying Checksum\n1d50d74c79f7: Download complete\n1ed7b8adb9a6: Download complete\n9bca9466cb1f: Verifying Checksum\n9bca9466cb1f: Download complete\ncf57d2112d89: Verifying Checksum\ncf57d2112d89: Download complete\ncf57d2112d89: Pull complete\nb5765679c39b: Pull complete\n45098e2835c5: Pull complete\n5fb79e72c663: Verifying Checksum\n5fb79e72c663: Download complete\ncf3390c6696a: Pull complete\n1d50d74c79f7: Pull complete\n5fb79e72c663: Pull complete\n1ed7b8adb9a6: Pull complete\n9bca9466cb1f: Pull complete\nDigest: sha256:907849d84dcc0ac43c656ae943e11b3acacee2dd0bf46976d90c0637be90f048\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-vrouter-kernel-build-init", "cf57d2112d89: Pulling fs layer", "b5765679c39b: Pulling fs layer", "45098e2835c5: Pulling fs layer", "cf3390c6696a: Pulling fs layer", "1d50d74c79f7: Pulling fs layer", "5fb79e72c663: Pulling fs layer", "1ed7b8adb9a6: Pulling fs layer", "9bca9466cb1f: Pulling fs layer", "5fb79e72c663: Waiting", "1ed7b8adb9a6: Waiting", "cf3390c6696a: Waiting", "9bca9466cb1f: Waiting", "1d50d74c79f7: Waiting", "45098e2835c5: Download complete", "b5765679c39b: Verifying Checksum", "b5765679c39b: Download complete", "cf3390c6696a: Verifying Checksum", "cf3390c6696a: Download complete", "1d50d74c79f7: Verifying Checksum", "1d50d74c79f7: Download complete", "1ed7b8adb9a6: Download complete", "9bca9466cb1f: Verifying Checksum", "9bca9466cb1f: Download complete", "cf57d2112d89: Verifying Checksum", "cf57d2112d89: Download complete", "cf57d2112d89: Pull complete", "b5765679c39b: Pull complete", "45098e2835c5: Pull complete", "5fb79e72c663: Verifying Checksum", "5fb79e72c663: Download complete", "cf3390c6696a: Pull complete", "1d50d74c79f7: Pull complete", "5fb79e72c663: Pull complete", "1ed7b8adb9a6: Pull complete", "9bca9466cb1f: Pull complete", "Digest: sha256:907849d84dcc0ac43c656ae943e11b3acacee2dd0bf46976d90c0637be90f048", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_2_5_1-4"]}
changed: [10.0.0.22] => (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_2_5_1-4", "delta": "0:00:11.445489", "end": "2025-10-16 18:06:51.636780", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-10-16 18:06:40.191291", "stderr": "", "stderr_lines": [], "stdout": "master-2_2_5_1-4: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n394e0111c298: Already exists\n685867d35f02: Already exists\ndcf319a5ff0e: Already exists\n0ff8cf55e59c: Already exists\nd84de6ae4660: Already exists\n780f6d2e1deb: Already exists\nb34ff435e722: Already exists\nb2c056cfb5dd: Already exists\n2868a2afd784: Already exists\n9ca935b1eea4: Already exists\n8de9e9855f13: Already exists\n1293cd33a724: Pulling fs layer\nbaa323b8aba6: Pulling fs layer\n33b5722a38db: Pulling fs layer\n55ec1f5dc548: Pulling fs layer\na0722e6f97fc: Pulling fs layer\ne69feb910017: Pulling fs layer\ncfa1106bf9aa: Pulling fs layer\n4ca6eff2ccd1: Pulling fs layer\nffe5c160e23c: Pulling fs layer\n24b5daa99088: Pulling fs layer\n5d0ea037fc2a: Pulling fs layer\n65e551b63c3e: Pulling fs layer\n6df80cd1321e: Pulling fs layer\nf72ecf0cffbc: Pulling fs layer\n596f9cc5cf2a: Pulling fs layer\n55ec1f5dc548: Waiting\na0722e6f97fc: Waiting\ne69feb910017: Waiting\ncfa1106bf9aa: Waiting\n4ca6eff2ccd1: Waiting\nf72ecf0cffbc: Waiting\n596f9cc5cf2a: Waiting\n6df80cd1321e: Waiting\n5d0ea037fc2a: Waiting\nffe5c160e23c: Waiting\n65e551b63c3e: Waiting\n24b5daa99088: Waiting\n1293cd33a724: Verifying Checksum\n1293cd33a724: Download complete\nbaa323b8aba6: Verifying Checksum\nbaa323b8aba6: Download complete\n55ec1f5dc548: Download complete\na0722e6f97fc: Download complete\n1293cd33a724: Pull complete\ne69feb910017: Verifying Checksum\ne69feb910017: Download complete\ncfa1106bf9aa: Verifying Checksum\ncfa1106bf9aa: Download complete\nffe5c160e23c: Download complete\nbaa323b8aba6: Pull complete\n24b5daa99088: Download complete\n5d0ea037fc2a: Verifying Checksum\n5d0ea037fc2a: Download complete\n33b5722a38db: Verifying Checksum\n33b5722a38db: Download complete\n6df80cd1321e: Download complete\nf72ecf0cffbc: Download complete\n596f9cc5cf2a: Download complete\n33b5722a38db: Pull complete\n55ec1f5dc548: Pull complete\na0722e6f97fc: Pull complete\n65e551b63c3e: Verifying Checksum\n65e551b63c3e: Download complete\ne69feb910017: Pull complete\ncfa1106bf9aa: Pull complete\n4ca6eff2ccd1: Verifying Checksum\n4ca6eff2ccd1: Download complete\n4ca6eff2ccd1: Pull complete\nffe5c160e23c: Pull complete\n24b5daa99088: Pull complete\n5d0ea037fc2a: Pull complete\n65e551b63c3e: Pull complete\n6df80cd1321e: Pull complete\nf72ecf0cffbc: Pull complete\n596f9cc5cf2a: Pull complete\nDigest: sha256:b57e140334fe83aeba6a8b50449c2afd00936b711dd4d386ee672d29d93bcacc\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_2_5_1-4\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_2_5_1-4", "stdout_lines": ["master-2_2_5_1-4: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "394e0111c298: Already exists", "685867d35f02: Already exists", "dcf319a5ff0e: Already exists", "0ff8cf55e59c: Already exists", "d84de6ae4660: Already exists", "780f6d2e1deb: Already exists", "b34ff435e722: Already exists", "b2c056cfb5dd: Already exists", "2868a2afd784: Already exists", "9ca935b1eea4: Already exists", "8de9e9855f13: Already exists", "1293cd33a724: Pulling fs layer", "baa323b8aba6: Pulling fs layer", "33b5722a38db: Pulling fs layer", "55ec1f5dc548: Pulling fs layer", "a0722e6f97fc: Pulling fs layer", "e69feb910017: Pulling fs layer", "cfa1106bf9aa: Pulling fs layer", "4ca6eff2ccd1: Pulling fs layer", "ffe5c160e23c: Pulling fs layer", "24b5daa99088: Pulling fs layer", "5d0ea037fc2a: Pulling fs layer", "65e551b63c3e: Pulling fs layer", "6df80cd1321e: Pulling fs layer", "f72ecf0cffbc: Pulling fs layer", "596f9cc5cf2a: Pulling fs layer", "55ec1f5dc548: Waiting", "a0722e6f97fc: Waiting", "e69feb910017: Waiting", "cfa1106bf9aa: Waiting", "4ca6eff2ccd1: Waiting", "f72ecf0cffbc: Waiting", "596f9cc5cf2a: Waiting", "6df80cd1321e: Waiting", "5d0ea037fc2a: Waiting", "ffe5c160e23c: Waiting", "65e551b63c3e: Waiting", "24b5daa99088: Waiting", "1293cd33a724: Verifying Checksum", "1293cd33a724: Download complete", "baa323b8aba6: Verifying Checksum", "baa323b8aba6: Download complete", "55ec1f5dc548: Download complete", "a0722e6f97fc: Download complete", "1293cd33a724: Pull complete", "e69feb910017: Verifying Checksum", "e69feb910017: Download complete", "cfa1106bf9aa: Verifying Checksum", "cfa1106bf9aa: Download complete", "ffe5c160e23c: Download complete", "baa323b8aba6: Pull complete", "24b5daa99088: Download complete", "5d0ea037fc2a: Verifying Checksum", "5d0ea037fc2a: Download complete", "33b5722a38db: Verifying Checksum", "33b5722a38db: Download complete", "6df80cd1321e: Download complete", "f72ecf0cffbc: Download complete", "596f9cc5cf2a: Download complete", "33b5722a38db: Pull complete", "55ec1f5dc548: Pull complete", "a0722e6f97fc: Pull complete", "65e551b63c3e: Verifying Checksum", "65e551b63c3e: Download complete", "e69feb910017: Pull complete", "cfa1106bf9aa: Pull complete", "4ca6eff2ccd1: Verifying Checksum", "4ca6eff2ccd1: Download complete", "4ca6eff2ccd1: Pull complete", "ffe5c160e23c: Pull complete", "24b5daa99088: Pull complete", "5d0ea037fc2a: Pull complete", "65e551b63c3e: Pull complete", "6df80cd1321e: Pull complete", "f72ecf0cffbc: Pull complete", "596f9cc5cf2a: Pull complete", "Digest: sha256:b57e140334fe83aeba6a8b50449c2afd00936b711dd4d386ee672d29d93bcacc", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_2_5_1-4", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_2_5_1-4"]}
[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.22] => {"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.22] => {"changed": true, "checksum": "b7a0e62d8947b7f6bd3de4c4a7e8b6e97a7b4184", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "a7608c724c5ad79121ce913ae54f7183", "mode": "0640", "owner": "root", "size": 1025, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760638012.8300295-88440-178715366368851/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : set vrouter kernel init image name] ********************
ok: [10.0.0.22] => {"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.22] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_vrouter : create contrail vrouter compose file] ******************
changed: [10.0.0.22] => {"changed": true, "checksum": "5995e9d4d259ab4523a733c927425fe3c6b31c66", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "f44242c7c8aa59cfff85dfd9901d6471", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1760638014.6210184-88586-27081241158313/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] *****************
changed: [10.0.0.22] => {"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.22] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_2_5_1-4", "labels": {"com.docker.compose.config-hash": "33a3fb48f131a38f5cc9c94f00d76edec8232be40d676be21cf744d991841560", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "3aee4211ac88202d327519c85aafeae8851d861b86c9b6e80ebdbe11db5fd4c8", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "69b9f75959fea9573e1ef8a07f02c13b7ce77fd0b149acedb2dc0da1afdd91fe", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "67a74e5efd563ad8ccc5c4ab11e42064839618f0e90ef00367b488bad5edea42", "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_2_5_1-4"}, "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_2_5_1-4", "labels": {"com.docker.compose.config-hash": "a21ce67fec6798f62e4f8b800c81b90b5ba0b7f903f741dc87657198a2c2fe43", "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_2_5_1-4"}, "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.22] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false}
PLAY RECAP *********************************************************************
10.0.0.22 : ok=92 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7
localhost : ok=66 changed=0 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0
INFO: done in 0s
INFO: check time sync on nodes and force sync Thu Oct 16 18:08:01 UTC 2025
INFO: controller nodes - 10.0.0.22
INFO: agent nodes - 10.0.0.22
INFO: openstack controller nodes -
INFO: sync time on machine ubuntu@10.0.0.22
Warning: Permanently added '10.0.0.22' (ED25519) to the list of known hosts.
Warning: Permanently added '10.0.0.22' (ED25519) to the list of known hosts.
INFO: Thu Oct 16 18:08:02 UTC 2025: ensure time is synced (chronyd)
INFO: Thu Oct 16 18:08:02 UTC 2025: time is synced
TF Web UI must be available at https://10.0.0.22:8143
OpenStack UI must be avaiable at http://10.0.0.22
Use admin/contrail123 to log in
INFO: Stage tf was run successfully Thu Oct 16 18:08:02 UTC 2025
INFO: Running stage wait at Thu Oct 16 18:08:02 UTC 2025
INFO: done in 0s
INFO: Stage wait was run successfully Thu Oct 16 18:08:10 UTC 2025
[update tf stack configuration]
tf setup profile /home/ubuntu/.tf/stack.env
DEPLOYER=ansible
CONTRAIL_CONTAINER_TAG=master-2_2_5_1-4
CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_2_5_1-4
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.22 "
AGENT_NODES="10.0.0.22"
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.22'
OS_AUTH_URL='http://10.0.0.22:5000/v3'
AUTH_PASSWORD='contrail123'
AUTH_URL=''
INFO: Successful deployment Thu Oct 16 18:08:10 UTC 2025
DEBUG: kill running child jobs:
INFO: Deploy finished
+ exit
Archiving artifacts
Finished: SUCCESS