Started by upstream project "pipeline-check" build number 2872
originally caused by:
Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-build/+/2147
Running as SYSTEM
[EnvInject] - Loading node environment variables.
Building remotely on slave-openstack-gz1_1 (openstack) in workspace /home/jenkins/workspace/deploy-tf-ansible-os
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is disabled by the job configuration...
[WS-CLEANUP] Done
The recommended git tool is: git
No credentials specified
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/opensdn-io/tf-jenkins.git
> git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-jenkins # timeout=10
Fetching upstream changes from https://github.com/opensdn-io/tf-jenkins.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
> git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-jenkins.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/opensdn-io/tf-jenkins.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision b76fb9eb22c4f57cc3c7e7c7658cf9c0477dcfd6 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f b76fb9eb22c4f57cc3c7e7c7658cf9c0477dcfd6 # timeout=10
Commit message: "Merge "retry nslookup after vm start""
> git rev-list --no-walk b76fb9eb22c4f57cc3c7e7c7658cf9c0477dcfd6 # timeout=10
The recommended git tool is: NONE
No credentials specified
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/opensdn-io/tf-devstack.git
> git init /home/jenkins/workspace/deploy-tf-ansible-os/src/opensdn-io/tf-devstack # timeout=10
Fetching upstream changes from https://github.com/opensdn-io/tf-devstack.git
> git --version # timeout=10
> git --version # 'git version 2.25.1'
> git fetch --tags --force --progress -- https://github.com/opensdn-io/tf-devstack.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/opensdn-io/tf-devstack.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision d3c01d37713fef51920102f47298b4ba07ef0383 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10
Commit message: "Merge "fix issuue with nodetool command on rocky9""
> git rev-list --no-walk d3c01d37713fef51920102f47298b4ba07ef0383 # timeout=10
Copied 4 artifacts from "pipeline-check" build number 2872
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins11503076569259653900.sh
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2872
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2872
++ 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/47/2147/8/check_2872
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/47/2147/8/check_2872
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
++ CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=Ida76725cf3f9dd9234cf1822d0def93ff6e0b372
++ GERRIT_CHANGE_ID=Ida76725cf3f9dd9234cf1822d0def93ff6e0b372
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-build
++ GERRIT_PROJECT=opensdn-io/tf-build
++ export REPOS_CHANNEL=latest
++ REPOS_CHANNEL=latest
+ desc='Pipeline: pipeline-check-2872 Random: 55487 Stream: ansible-os'
+ desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872/ansible-os'
+ echo 'DESCRIPTION Pipeline: pipeline-check-2872 Random: 55487 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872/ansible-os'
DESCRIPTION Pipeline: pipeline-check-2872 Random: 55487 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872/ansible-os
[description-setter] Description set: Pipeline: pipeline-check-2872 Random: 55487 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872/ansible-os'
[deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins2906015172254697901.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2872
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2872
++ 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/47/2147/8/check_2872
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/47/2147/8/check_2872
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
++ CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=Ida76725cf3f9dd9234cf1822d0def93ff6e0b372
++ GERRIT_CHANGE_ID=Ida76725cf3f9dd9234cf1822d0def93ff6e0b372
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-build
++ GERRIT_PROJECT=opensdn-io/tf-build
++ 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/jenkins15030348911651788081.sh
+ set -eo pipefail
+ source /home/jenkins/workspace/deploy-tf-ansible-os/global.env
++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-2872
++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-2872
++ 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/47/2147/8/check_2872
++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/47/2147/8/check_2872
++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872
++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/47/2147/8/check_2872
++ export SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ SITE_MIRROR=http://nexus.gz1.opensdn.io/repository
++ export CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
++ CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101
++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-2_1_4_7-8
++ export GERRIT_PIPELINE=check
++ GERRIT_PIPELINE=check
++ export GERRIT_URL=https://gerrit.opensdn.io/
++ GERRIT_URL=https://gerrit.opensdn.io/
++ export GERRIT_CHANGE_ID=Ida76725cf3f9dd9234cf1822d0def93ff6e0b372
++ GERRIT_CHANGE_ID=Ida76725cf3f9dd9234cf1822d0def93ff6e0b372
++ export GERRIT_BRANCH=master
++ GERRIT_BRANCH=master
++ export GERRIT_PROJECT=opensdn-io/tf-build
++ GERRIT_PROJECT=opensdn-io/tf-build
++ 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.55487.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=2f44cdaf-22f3-488a-a75b-6740ab9716cd,
++ INSTANCE_IDS=2f44cdaf-22f3-488a-a75b-6740ab9716cd,
++ export instance_ip=10.0.0.254
++ instance_ip=10.0.0.254
++ export CONTROLLER_NODES=10.0.0.254,
++ CONTROLLER_NODES=10.0.0.254,
++ 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.55487.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/47/2147/8/check_2872/ansible-os
+ FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/47/2147/8/check_2872/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.254' (ECDSA) to the list of known hosts.
Warning: Permanently added '10.0.0.254' (ECDSA) to the list of known hosts.
INFO: =================== Mon Oct 6 09:19:01 UTC 2025 ===================
[there is no tf devenv configuration to load]
INFO: Applying stages machines k8s openstack tf wait
INFO: Running stage machines at Mon Oct 6 09:19:01 UTC 2025
Skipping stage machines because it's finished
INFO: Stage machines was run successfully Mon Oct 6 09:19:01 UTC 2025
INFO: Running stage k8s at Mon Oct 6 09:19:01 UTC 2025
Skipping stage k8s because it's finished
INFO: Stage k8s was run successfully Mon Oct 6 09:19:01 UTC 2025
INFO: Running stage openstack at Mon Oct 6 09:19:01 UTC 2025
Skipping stage openstack because it's finished
INFO: Stage openstack was run successfully Mon Oct 6 09:19:01 UTC 2025
INFO: Running stage tf at Mon Oct 6 09:19:01 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_254": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_254", "private_ip": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_254", "private_ip": "10.0.0.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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_254', 'value': {'ip': '10.0.0.254', '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.254"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "openstack": null, "openstack_compute": null, "vrouter": null, "webui": null}}}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"tsn_nodes_list": []}, "changed": false}
TASK [opensdn_deployer : set global variables] *********************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_global_variables.yml for localhost
TASK [opensdn_deployer : set container tag contrail version if defined] ********
ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "latest"}, "changed": false}
TASK [opensdn_deployer : add specific contrail version tag if defined] *********
ok: [localhost] => {"ansible_facts": {"contrail_version_tag": "master-2_1_4_7-8"}, "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_254', 'value': {'ip': '10.0.0.254', '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_254": {"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_254", "value": {"ip": "10.0.0.254", "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.254", "opencontrail_collector_ip": "10.0.0.254"}, "changed": false}
TASK [opensdn_deployer : set default variables] ********************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_default_variables.yml for localhost
TASK [opensdn_deployer : set orchestrator param] *******************************
ok: [localhost] => {"ansible_facts": {"default_configuration": {"VXLAN_VN_ID_MODE": "automatic"}}, "changed": false}
TASK [opensdn_deployer : set contrail variables] *******************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/set_contrail_variables.yml for localhost
TASK [opensdn_deployer : set stdin_open to true if it's not defined] ***********
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KEYSTONE_AUTH_URL_VERSION": "/v3", "KOLLA_MODE": "patched", "LOG_LEVEL": "SYS_DEBUG", "OPENSTACK_VERSION": "yoga", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "VROUTER_ENCRYPTION": false}}, "changed": false}
TASK [opensdn_deployer : set tty to true if it's not defined] ******************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "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.254']}) => {"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.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "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.254"]}}
ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.254']}) => {"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.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"]}}
ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.254']}) => {"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.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"]}}
ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"]}}
ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.254']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.254"]}}
TASK [opensdn_deployer : set_fact] *********************************************
ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "changed": false}
TASK [opensdn_deployer : check analyticsdb presence] ***************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', '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.254", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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.254", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "changed": false}
TASK [opensdn_deployer : check analytics alarm presence] ***********************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', '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.254", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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.254", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "changed": false}
TASK [opensdn_deployer : check analytics snmp presence] ************************
ok: [localhost] => (item={'key': 'node_10_0_0_254', 'value': {'ip': '10.0.0.254', '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.254", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.254", "ANALYTICS_NODES": "10.0.0.254", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.254", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.254", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.254", "CONTRAIL_CONTAINER_TAG": "master-2_1_4_7-8", "CONTROLLER_NODES": "10.0.0.254", "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.254"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_254", "value": {"ip": "10.0.0.254", "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.254"}, "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.254]
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.254]
TASK [opensdn : set instance data] *********************************************
ok: [10.0.0.254] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.254", "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.254] => {"ansible_facts": {"instance_name": "node_10_0_0_254"}, "changed": false}
TASK [opensdn : run common tasks] **********************************************
included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.254
TASK [opensdn : create /var/log/contrail] **************************************
changed: [10.0.0.254] => {"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.254] => {"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.254] => {"changed": true, "checksum": "9612289653750654c2e985550085bfba7ed6da2b", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "23c7f4b57812b2a3566770468e57b12c", "mode": "0640", "owner": "root", "size": 1035, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742355.4961748-54955-201712648190347/source", "state": "file", "uid": 0}
TASK [opensdn : populate defaults.env] *****************************************
changed: [10.0.0.254] => {"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-1759742356.3571897-55029-204558434516511/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.254] => (item=opensdn-external-redis) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_7-8", "delta": "0:00:01.421790", "end": "2025-10-06 09:19:18.966492", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2025-10-06 09:19:17.544702", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-redis\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n07f17c5f186d: Pulling fs layer\n9ccc41939f73: Pulling fs layer\n732a825c619a: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Waiting\n07f17c5f186d: Verifying Checksum\n07f17c5f186d: Download complete\n732a825c619a: Verifying Checksum\n732a825c619a: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n07f17c5f186d: Pull complete\n9ccc41939f73: Verifying Checksum\n9ccc41939f73: Download complete\n9ccc41939f73: Pull complete\n732a825c619a: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:c64856680e56145b6074b72732ef177baff768139ffc6356a3b464ecd6aa756e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-redis", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "07f17c5f186d: Pulling fs layer", "9ccc41939f73: Pulling fs layer", "732a825c619a: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Waiting", "07f17c5f186d: Verifying Checksum", "07f17c5f186d: Download complete", "732a825c619a: Verifying Checksum", "732a825c619a: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "07f17c5f186d: Pull complete", "9ccc41939f73: Verifying Checksum", "9ccc41939f73: Download complete", "9ccc41939f73: Pull complete", "732a825c619a: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:c64856680e56145b6074b72732ef177baff768139ffc6356a3b464ecd6aa756e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-external-stunnel) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_7-8", "delta": "0:00:01.380757", "end": "2025-10-06 09:19:20.848688", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2025-10-06 09:19:19.467931", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-stunnel\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n3de2cdd068bf: Pulling fs layer\n58cdc9c47579: Pulling fs layer\n3de2cdd068bf: Verifying Checksum\n3de2cdd068bf: Download complete\n3de2cdd068bf: Pull complete\n58cdc9c47579: Verifying Checksum\n58cdc9c47579: Download complete\n58cdc9c47579: Pull complete\nDigest: sha256:ddab26a2d9ae228b4ead7aca1224db2169d9d03f3761349baa6b6f9ad58a368e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-stunnel", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "3de2cdd068bf: Pulling fs layer", "58cdc9c47579: Pulling fs layer", "3de2cdd068bf: Verifying Checksum", "3de2cdd068bf: Download complete", "3de2cdd068bf: Pull complete", "58cdc9c47579: Verifying Checksum", "58cdc9c47579: Download complete", "58cdc9c47579: Pull complete", "Digest: sha256:ddab26a2d9ae228b4ead7aca1224db2169d9d03f3761349baa6b6f9ad58a368e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-2_1_4_7-8"]}
TASK [opensdn_redis : create /etc/contrail/redis] ******************************
changed: [10.0.0.254] => {"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.254] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false}
TASK [opensdn_redis : create redis compose file] *******************************
changed: [10.0.0.254] => {"changed": true, "checksum": "da85b65c4a720945221771fec59da1cece874624", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "e11e3ed547dc292a081d60a111f68e0a", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742361.7994165-55272-185036017964450/source", "state": "file", "uid": 0}
TASK [opensdn_redis : start redis] *********************************************
changed: [10.0.0.254] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "6439cf7d3f76e0ef733ef6ec26a395d6d52950586686fd3b6735bb3ac9bb6051", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "redis", "com.docker.compose.project.config_files": "/etc/contrail/redis/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/redis", "com.docker.compose.service": "redis", "com.docker.compose.version": "1.29.2", "description": "Contrail Redis server supports query engine.", "io.opensdn.container.name": "opensdn-external-redis", "io.opensdn.service": "redis", "name": "opensdn-external-redis", "release": "5.1.0", "summary": "Contrail Redis", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:03.678696", "end": "2025-10-06 09:19:27.839259", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:19:24.160563", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Pulling fs layer\n62dc625f2d79: Pulling fs layer\nc7fddf452bd1: Pulling fs layer\n98f8df2c6631: Pulling fs layer\n89a7b4f6b0a6: Pulling fs layer\ndb9ebd30ae32: Pulling fs layer\n98f8df2c6631: Waiting\n89a7b4f6b0a6: Waiting\ndb9ebd30ae32: Waiting\n05773b8125a2: Download complete\n62dc625f2d79: Verifying Checksum\n62dc625f2d79: Download complete\nc7fddf452bd1: Verifying Checksum\nc7fddf452bd1: Download complete\n05773b8125a2: Pull complete\n89a7b4f6b0a6: Download complete\ndb9ebd30ae32: Verifying Checksum\ndb9ebd30ae32: Download complete\n62dc625f2d79: Pull complete\nc7fddf452bd1: Pull complete\n98f8df2c6631: Verifying Checksum\n98f8df2c6631: Download complete\n98f8df2c6631: Pull complete\n89a7b4f6b0a6: Pull complete\ndb9ebd30ae32: Pull complete\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Pulling fs layer", "62dc625f2d79: Pulling fs layer", "c7fddf452bd1: Pulling fs layer", "98f8df2c6631: Pulling fs layer", "89a7b4f6b0a6: Pulling fs layer", "db9ebd30ae32: Pulling fs layer", "98f8df2c6631: Waiting", "89a7b4f6b0a6: Waiting", "db9ebd30ae32: Waiting", "05773b8125a2: Download complete", "62dc625f2d79: Verifying Checksum", "62dc625f2d79: Download complete", "c7fddf452bd1: Verifying Checksum", "c7fddf452bd1: Download complete", "05773b8125a2: Pull complete", "89a7b4f6b0a6: Download complete", "db9ebd30ae32: Verifying Checksum", "db9ebd30ae32: Download complete", "62dc625f2d79: Pull complete", "c7fddf452bd1: Pull complete", "98f8df2c6631: Verifying Checksum", "98f8df2c6631: Download complete", "98f8df2c6631: Pull complete", "89a7b4f6b0a6: Pull complete", "db9ebd30ae32: Pull complete", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:02.228209", "end": "2025-10-06 09:19:30.510142", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:19:28.281933", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n2cf712197ad8: Pulling fs layer\n8254874ffac2: Pulling fs layer\n8254874ffac2: Verifying Checksum\n8254874ffac2: Download complete\n2cf712197ad8: Verifying Checksum\n2cf712197ad8: Download complete\n2cf712197ad8: Pull complete\n8254874ffac2: Pull complete\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "2cf712197ad8: Pulling fs layer", "8254874ffac2: Pulling fs layer", "8254874ffac2: Verifying Checksum", "8254874ffac2: Download complete", "2cf712197ad8: Verifying Checksum", "2cf712197ad8: Download complete", "2cf712197ad8: Pull complete", "8254874ffac2: Pull complete", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "delta": "0:00:05.507651", "end": "2025-10-06 09:19:36.455348", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-10-06 09:19:30.947697", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-cassandra\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\nee68d3d64d44: Pulling fs layer\n07ad683ffe0b: Pulling fs layer\nee68d3d64d44: Download complete\nee68d3d64d44: Pull complete\n07ad683ffe0b: Verifying Checksum\n07ad683ffe0b: Download complete\n07ad683ffe0b: Pull complete\nDigest: sha256:76136915600734d895f252b953362829b8f3d8d440f80fde6df7ef17af3530b6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-cassandra", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "ee68d3d64d44: Pulling fs layer", "07ad683ffe0b: Pulling fs layer", "ee68d3d64d44: Download complete", "ee68d3d64d44: Pull complete", "07ad683ffe0b: Verifying Checksum", "07ad683ffe0b: Download complete", "07ad683ffe0b: Pull complete", "Digest: sha256:76136915600734d895f252b953362829b8f3d8d440f80fde6df7ef17af3530b6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-external-zookeeper) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_7-8", "delta": "0:00:04.983877", "end": "2025-10-06 09:19:41.896473", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2025-10-06 09:19:36.912596", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-zookeeper\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n1e35451bbdec: Pulling fs layer\ndb17e9e99b32: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n1e35451bbdec: Verifying Checksum\n1e35451bbdec: Download complete\n1e35451bbdec: Pull complete\ndb17e9e99b32: Verifying Checksum\ndb17e9e99b32: Download complete\ndb17e9e99b32: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:9387a37c307a82ec1a38712b5d5789f49df35735bde14cb03a17d750bcd06c84\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-zookeeper", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "1e35451bbdec: Pulling fs layer", "db17e9e99b32: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "1e35451bbdec: Verifying Checksum", "1e35451bbdec: Download complete", "1e35451bbdec: Pull complete", "db17e9e99b32: Verifying Checksum", "db17e9e99b32: Download complete", "db17e9e99b32: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:9387a37c307a82ec1a38712b5d5789f49df35735bde14cb03a17d750bcd06c84", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-external-rabbitmq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_7-8", "delta": "0:00:04.945503", "end": "2025-10-06 09:19:47.266744", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2025-10-06 09:19:42.321241", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: 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\n31bec723aa9e: Pulling fs layer\ne0ea557b5aad: Pulling fs layer\nb88fb9b2735c: Pulling fs layer\nc47c3bedb477: Waiting\n2d0a461f4591: Waiting\n027715895e8b: Waiting\n78c707bc7c70: Waiting\n6e8aae77390d: Waiting\na49b9cb023b6: Waiting\n31bec723aa9e: Waiting\ne0ea557b5aad: Waiting\nb88fb9b2735c: Waiting\ne7add638ac41: Waiting\ne08fdafa88ce: Verifying Checksum\ne08fdafa88ce: Download complete\ne7add638ac41: Verifying Checksum\ne7add638ac41: Download complete\n675920708c8b: Verifying Checksum\n675920708c8b: Download complete\n2d0a461f4591: Verifying Checksum\n2d0a461f4591: Download complete\n027715895e8b: Verifying Checksum\n027715895e8b: Download complete\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n78c707bc7c70: Verifying Checksum\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\n31bec723aa9e: Verifying Checksum\n31bec723aa9e: Download complete\ne0ea557b5aad: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\nb88fb9b2735c: Verifying Checksum\nb88fb9b2735c: 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\n31bec723aa9e: Pull complete\ne0ea557b5aad: Pull complete\nb88fb9b2735c: Pull complete\nDigest: sha256:cfe668a76c96dd6ff1526367179f5719eef52944a9d97e9f9acbaf2468a2fcd6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: 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", "31bec723aa9e: Pulling fs layer", "e0ea557b5aad: Pulling fs layer", "b88fb9b2735c: Pulling fs layer", "c47c3bedb477: Waiting", "2d0a461f4591: Waiting", "027715895e8b: Waiting", "78c707bc7c70: Waiting", "6e8aae77390d: Waiting", "a49b9cb023b6: Waiting", "31bec723aa9e: Waiting", "e0ea557b5aad: Waiting", "b88fb9b2735c: Waiting", "e7add638ac41: Waiting", "e08fdafa88ce: Verifying Checksum", "e08fdafa88ce: Download complete", "e7add638ac41: Verifying Checksum", "e7add638ac41: Download complete", "675920708c8b: Verifying Checksum", "675920708c8b: Download complete", "2d0a461f4591: Verifying Checksum", "2d0a461f4591: Download complete", "027715895e8b: Verifying Checksum", "027715895e8b: Download complete", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "78c707bc7c70: Verifying Checksum", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "31bec723aa9e: Verifying Checksum", "31bec723aa9e: Download complete", "e0ea557b5aad: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "b88fb9b2735c: Verifying Checksum", "b88fb9b2735c: 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", "31bec723aa9e: Pull complete", "e0ea557b5aad: Pull complete", "b88fb9b2735c: Pull complete", "Digest: sha256:cfe668a76c96dd6ff1526367179f5719eef52944a9d97e9f9acbaf2468a2fcd6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.294646", "end": "2025-10-06 09:19:48.056711", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:19:47.762065", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n6de8734f79e7: Pulling fs layer\n6de8734f79e7: Verifying Checksum\n6de8734f79e7: Download complete\n6de8734f79e7: Pull complete\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "6de8734f79e7: Pulling fs layer", "6de8734f79e7: Verifying Checksum", "6de8734f79e7: Download complete", "6de8734f79e7: Pull complete", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_config_database : create /etc/contrail/config_database] **********
changed: [10.0.0.254] => {"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.254] => {"ansible_facts": {"cassandra_seeds": "10.0.0.254"}, "changed": false}
TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.254"}, "changed": false}
TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] ***
ok: [10.0.0.254] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.254"}, "changed": false}
TASK [opensdn_config_database : Set variables for reaper tool] *****************
ok: [10.0.0.254] => {"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.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] ***
changed: [10.0.0.254] => {"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.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"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.254]: 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.254] => {"changed": true, "checksum": "4a45f864452a4694dcd0240476a39325da40338e", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "84ed5730ee195a284ceb969a65c4fc8c", "mode": "0644", "owner": "root", "size": 4022, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742407.2798011-58163-29397141690139/source", "state": "file", "uid": 0}
TASK [opensdn_config_database : start contrail config database] ****************
changed: [10.0.0.254] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "644856154698105247af76bb2c304a9c6b6a2bf2700527807998881c608fed2b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "8296bcfdd65f7d0d606082f5271f75d620ea139d41a48e2eb653917cae668b70", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "d8767b0a9ed10f347f958932eb9127e0f450f818a288b2d764f8041698c53d9e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "03be3fa3896831e9314fe1f12c62fb5a4e60ce126663d13f5550d6519afd125b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "rabbitmq", "com.docker.compose.version": "1.29.2", "description": "Contrail Rabbitmq is the message bus that different Contrail processes subscribe to.", "io.opensdn.container.name": "opensdn-external-rabbitmq", "io.opensdn.service": "rabbitmq", "name": "opensdn-external-rabbitmq", "release": "5.1.0", "summary": "Contrail RabbitMQ", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "24f8c81969a5a37f3019d2deff9daf9b033ac22c661221aa9606731731878b7d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config_database", "com.docker.compose.project.config_files": "/etc/contrail/config_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config_database", "com.docker.compose.service": "zookeeper", "com.docker.compose.version": "1.29.2", "description": "Contrail uses the Apache ZooKeeper process to maintain synchronization of Contrail configuration, analytics and database running on the different instances of controllers.", "io.opensdn.container.name": "opensdn-external-zookeeper", "io.opensdn.service": "zookeeper", "name": "opensdn-external-zookeeper", "release": "5.1.0", "summary": "Contrail Zookeeper", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.119595", "end": "2025-10-06 09:20:10.460622", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:20:10.341027", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.117164", "end": "2025-10-06 09:20:11.027468", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:20:10.910304", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_7-8", "delta": "0:00:01.097310", "end": "2025-10-06 09:20:12.627697", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2025-10-06 09:20:11.530387", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-config-api\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\nf2c61e64624d: Pulling fs layer\n945777172b7c: Pulling fs layer\n28359bce9b3f: Pulling fs layer\nf2c61e64624d: Verifying Checksum\nf2c61e64624d: Download complete\n945777172b7c: Download complete\nf2c61e64624d: Pull complete\n28359bce9b3f: Verifying Checksum\n28359bce9b3f: Download complete\n945777172b7c: Pull complete\n28359bce9b3f: Pull complete\nDigest: sha256:d85d967f6567c3284f49b7157af47962ab748876244c9169b52556565edf7181\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-config-api", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "f2c61e64624d: Pulling fs layer", "945777172b7c: Pulling fs layer", "28359bce9b3f: Pulling fs layer", "f2c61e64624d: Verifying Checksum", "f2c61e64624d: Download complete", "945777172b7c: Download complete", "f2c61e64624d: Pull complete", "28359bce9b3f: Verifying Checksum", "28359bce9b3f: Download complete", "945777172b7c: Pull complete", "28359bce9b3f: Pull complete", "Digest: sha256:d85d967f6567c3284f49b7157af47962ab748876244c9169b52556565edf7181", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-svcmonitor) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_7-8", "delta": "0:00:00.750775", "end": "2025-10-06 09:20:13.892163", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2025-10-06 09:20:13.141388", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-config-svcmonitor\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n545a45ac7125: Pulling fs layer\n6c2bf725f114: Pulling fs layer\n545a45ac7125: Verifying Checksum\n545a45ac7125: Download complete\n6c2bf725f114: Verifying Checksum\n6c2bf725f114: Download complete\n545a45ac7125: Pull complete\n6c2bf725f114: Pull complete\nDigest: sha256:0ab336f040f7510cfd8a7b5b66f3accbcbb8783a54d5244e2c55b1ea8e263642\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-config-svcmonitor", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "545a45ac7125: Pulling fs layer", "6c2bf725f114: Pulling fs layer", "545a45ac7125: Verifying Checksum", "545a45ac7125: Download complete", "6c2bf725f114: Verifying Checksum", "6c2bf725f114: Download complete", "545a45ac7125: Pull complete", "6c2bf725f114: Pull complete", "Digest: sha256:0ab336f040f7510cfd8a7b5b66f3accbcbb8783a54d5244e2c55b1ea8e263642", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-schema) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_7-8", "delta": "0:00:00.483305", "end": "2025-10-06 09:20:14.851190", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2025-10-06 09:20:14.367885", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-config-schema\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\naa58171b283b: Pulling fs layer\n6950072aec60: Pulling fs layer\naa58171b283b: Verifying Checksum\naa58171b283b: Download complete\n6950072aec60: Verifying Checksum\n6950072aec60: Download complete\naa58171b283b: Pull complete\n6950072aec60: Pull complete\nDigest: sha256:3c13004661e86a1b947ae0a757fb0abc68c45ff195df6c5f43c40aea308db946\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-config-schema", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "aa58171b283b: Pulling fs layer", "6950072aec60: Pulling fs layer", "aa58171b283b: Verifying Checksum", "aa58171b283b: Download complete", "6950072aec60: Verifying Checksum", "6950072aec60: Download complete", "aa58171b283b: Pull complete", "6950072aec60: Pull complete", "Digest: sha256:3c13004661e86a1b947ae0a757fb0abc68c45ff195df6c5f43c40aea308db946", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-devicemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_7-8", "delta": "0:00:07.446423", "end": "2025-10-06 09:20:22.769289", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:20:15.322866", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-config-devicemgr\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n4208171b2d4a: Pulling fs layer\n675a7af3dc68: Pulling fs layer\naaa8fd40b8ab: Pulling fs layer\n4208171b2d4a: Verifying Checksum\n4208171b2d4a: Download complete\naaa8fd40b8ab: Download complete\n4208171b2d4a: Pull complete\n675a7af3dc68: Verifying Checksum\n675a7af3dc68: Download complete\n675a7af3dc68: Pull complete\naaa8fd40b8ab: Pull complete\nDigest: sha256:8f05ccfab1c7eb8f112eb37b86ef63e0ab99a9dbd98157a2079e6b9d71d8243b\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-config-devicemgr", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "4208171b2d4a: Pulling fs layer", "675a7af3dc68: Pulling fs layer", "aaa8fd40b8ab: Pulling fs layer", "4208171b2d4a: Verifying Checksum", "4208171b2d4a: Download complete", "aaa8fd40b8ab: Download complete", "4208171b2d4a: Pull complete", "675a7af3dc68: Verifying Checksum", "675a7af3dc68: Download complete", "675a7af3dc68: Pull complete", "aaa8fd40b8ab: Pull complete", "Digest: sha256:8f05ccfab1c7eb8f112eb37b86ef63e0ab99a9dbd98157a2079e6b9d71d8243b", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-config-dnsmasq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_7-8", "delta": "0:00:00.609973", "end": "2025-10-06 09:20:23.824861", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2025-10-06 09:20:23.214888", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-config-dnsmasq\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n8ee63356b126: Pulling fs layer\n946e9b5580da: Pulling fs layer\nb5332c109f22: Pulling fs layer\n16fbaa65ab17: Pulling fs layer\n16fbaa65ab17: Waiting\n8ee63356b126: Verifying Checksum\n8ee63356b126: Download complete\nb5332c109f22: Verifying Checksum\nb5332c109f22: Download complete\n946e9b5580da: Verifying Checksum\n946e9b5580da: Download complete\n8ee63356b126: Pull complete\n946e9b5580da: Pull complete\n16fbaa65ab17: Verifying Checksum\n16fbaa65ab17: Download complete\nb5332c109f22: Pull complete\n16fbaa65ab17: Pull complete\nDigest: sha256:023c9ce6b4eae5cbe9ce35a94f32a9062f91792cd10da0055d473b7a58a9fe16\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-config-dnsmasq", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "8ee63356b126: Pulling fs layer", "946e9b5580da: Pulling fs layer", "b5332c109f22: Pulling fs layer", "16fbaa65ab17: Pulling fs layer", "16fbaa65ab17: Waiting", "8ee63356b126: Verifying Checksum", "8ee63356b126: Download complete", "b5332c109f22: Verifying Checksum", "b5332c109f22: Download complete", "946e9b5580da: Verifying Checksum", "946e9b5580da: Download complete", "8ee63356b126: Pull complete", "946e9b5580da: Pull complete", "16fbaa65ab17: Verifying Checksum", "16fbaa65ab17: Download complete", "b5332c109f22: Pull complete", "16fbaa65ab17: Pull complete", "Digest: sha256:023c9ce6b4eae5cbe9ce35a94f32a9062f91792cd10da0055d473b7a58a9fe16", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.111320", "end": "2025-10-06 09:20:24.376952", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:20:24.265632", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_config : create /etc/contrail/config] ****************************
changed: [10.0.0.254] => {"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.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_config : create /etc/contrail/common_config.env] *****************
changed: [10.0.0.254] => {"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.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"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.254]: 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.254] => {"ansible_facts": {"use_external_tftp": false}, "changed": false}
TASK [opensdn_config : check if ironic_pxe is deployed on node] ****************
fatal: [10.0.0.254]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.026798", "end": "2025-10-06 09:20:42.151661", "msg": "non-zero return code", "rc": 1, "start": "2025-10-06 09:20:42.124863", "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.254] => {"changed": true, "checksum": "a20853eb1904512cb3a891b8b353b2dd57e316eb", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "4b849dd1f258e5789eaae21a33842a4e", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742442.4335952-63250-10179753428919/source", "state": "file", "uid": 0}
TASK [opensdn_config : start contrail config] **********************************
changed: [10.0.0.254] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "f8c29d7138a76a91cb123889e7543d74bd4bfece20c27e40270283d1988fc96b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Controller Configuration API provides a REST API to an orchestration system.", "io.opensdn.container.name": "opensdn-controller-config-api", "io.opensdn.pod": "config", "io.opensdn.service": "api", "name": "opensdn-controller-config-api", "release": "5.1.0", "summary": "Contrail Controller Configuration API", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "a19593a3a0f475bcc29f018b6433c5842a4446ced7bff62ee691bce8b68d2322", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "devicemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Device Manager is used to manage network devices in the Contrail system.", "io.opensdn.container.name": "opensdn-controller-config-devicemgr", "io.opensdn.pod": "config", "io.opensdn.service": "device-manager", "name": "opensdn-controller-config-devicemgr", "release": "5.1.0", "summary": "Contrail Device Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "a1c346b78eb5002b35232fa92190db98c68f185e83390c38d5e5dd042707470b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "dnsmasq", "com.docker.compose.version": "1.29.2", "description": "Contrail Dnsmasq provides network infrastructure: DNS, DHCP, router advertisement and network boot.", "io.opensdn.container.name": "opensdn-controller-config-dnsmasq", "io.opensdn.pod": "config", "io.opensdn.service": "dnsmasq", "name": "opensdn-controller-config-dnsmasq", "release": "5.1.0", "summary": "Contrail Dnsmasq", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "8bbbaa8289f6ef68049d1fe78dbc2fd31ab2b852769937a22baa5845c13ff71b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "b5c0497265bbd20283d28dcdd985244a2a400f334090eeda045f2bb793d3985c", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "79c84c03c2f4f9088509591ed20a4ff7dfb2feee8e3eeabb30c6b91cbd1f1e01", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "schema", "com.docker.compose.version": "1.29.2", "description": "Contrail Schema Transformer compiles the high level, intent based data model into a low level configuration data model.", "io.opensdn.container.name": "opensdn-controller-config-schema", "io.opensdn.pod": "config", "io.opensdn.service": "schema", "name": "opensdn-controller-config-schema", "release": "5.1.0", "summary": "Contrail VNC Configuration Schema Transformer", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "aacee826ab4112cf102bd47c5708b6b2ddb26766908e9bf866a10c4752238c25", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "config", "com.docker.compose.project.config_files": "/etc/contrail/config/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/config", "com.docker.compose.service": "svcmonitor", "com.docker.compose.version": "1.29.2", "description": "Contrail Service Monitor brings up and monitors any service instance that are spawned.", "io.opensdn.container.name": "opensdn-controller-config-svcmonitor", "io.opensdn.pod": "config", "io.opensdn.service": "svc-monitor", "name": "opensdn-controller-config-svcmonitor", "release": "5.1.0", "summary": "Contrail Service Monitor", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-controller-webui-web) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_7-8", "delta": "0:00:10.704494", "end": "2025-10-06 09:20:57.312983", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2025-10-06 09:20:46.608489", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-webui-web\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n494df13477bd: Pulling fs layer\nb9734c6a3dc0: Pulling fs layer\n775a851e8ed1: Pulling fs layer\nb6a0bba3f132: Pulling fs layer\na6983c6025cd: Pulling fs layer\nb5f15799fb15: Pulling fs layer\n3addd8f321c7: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n3addd8f321c7: Waiting\n4f4fb700ef54: Waiting\nb5f15799fb15: Waiting\nb6a0bba3f132: Waiting\na6983c6025cd: Waiting\n494df13477bd: Verifying Checksum\n494df13477bd: Download complete\nb6a0bba3f132: Verifying Checksum\nb6a0bba3f132: Download complete\na6983c6025cd: Verifying Checksum\na6983c6025cd: Download complete\nb5f15799fb15: Download complete\n3addd8f321c7: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nb9734c6a3dc0: Verifying Checksum\nb9734c6a3dc0: Download complete\n494df13477bd: Pull complete\n775a851e8ed1: Verifying Checksum\n775a851e8ed1: Download complete\nb9734c6a3dc0: Pull complete\n775a851e8ed1: Pull complete\nb6a0bba3f132: Pull complete\na6983c6025cd: Pull complete\nb5f15799fb15: Pull complete\n3addd8f321c7: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:b4c28c4750c9419438ca34468bc6044e1cb5560d29fe22f6c3a3956b3f0393d1\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-webui-web", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "494df13477bd: Pulling fs layer", "b9734c6a3dc0: Pulling fs layer", "775a851e8ed1: Pulling fs layer", "b6a0bba3f132: Pulling fs layer", "a6983c6025cd: Pulling fs layer", "b5f15799fb15: Pulling fs layer", "3addd8f321c7: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "3addd8f321c7: Waiting", "4f4fb700ef54: Waiting", "b5f15799fb15: Waiting", "b6a0bba3f132: Waiting", "a6983c6025cd: Waiting", "494df13477bd: Verifying Checksum", "494df13477bd: Download complete", "b6a0bba3f132: Verifying Checksum", "b6a0bba3f132: Download complete", "a6983c6025cd: Verifying Checksum", "a6983c6025cd: Download complete", "b5f15799fb15: Download complete", "3addd8f321c7: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "b9734c6a3dc0: Verifying Checksum", "b9734c6a3dc0: Download complete", "494df13477bd: Pull complete", "775a851e8ed1: Verifying Checksum", "775a851e8ed1: Download complete", "b9734c6a3dc0: Pull complete", "775a851e8ed1: Pull complete", "b6a0bba3f132: Pull complete", "a6983c6025cd: Pull complete", "b5f15799fb15: Pull complete", "3addd8f321c7: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:b4c28c4750c9419438ca34468bc6044e1cb5560d29fe22f6c3a3956b3f0393d1", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-webui-job) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_7-8", "delta": "0:00:00.339368", "end": "2025-10-06 09:20:58.121402", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2025-10-06 09:20:57.782034", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-webui-job\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n494df13477bd: Already exists\nb9734c6a3dc0: Already exists\n775a851e8ed1: Already exists\nb6a0bba3f132: Already exists\na6983c6025cd: Already exists\nb5f15799fb15: Already exists\n3addd8f321c7: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:266090e41912167a1c282b9d51738cf374d93a193deb370d22ad356dd1a54fe4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-webui-job", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "494df13477bd: Already exists", "b9734c6a3dc0: Already exists", "775a851e8ed1: Already exists", "b6a0bba3f132: Already exists", "a6983c6025cd: Already exists", "b5f15799fb15: Already exists", "3addd8f321c7: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:266090e41912167a1c282b9d51738cf374d93a193deb370d22ad356dd1a54fe4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_7-8"]}
TASK [opensdn_webui : create /etc/contrail/webui] ******************************
changed: [10.0.0.254] => {"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.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_webui : create /etc/contrail/common_webui.env] *******************
changed: [10.0.0.254] => {"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.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"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.254]: 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.254] => {"changed": true, "checksum": "a6a02de43eb998aa6ec2dc74758235ca2f876200", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "eed4fa8f2e7a62b5a81c60239abbc3bc", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742475.4414382-67427-90817187268280/source", "state": "file", "uid": 0}
TASK [opensdn_webui : start contrail webui] ************************************
changed: [10.0.0.254] => {"changed": true, "services": {"job": {"webui_job_1": {"cmd": ["/usr/bin/node", "jobServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "83c6cd4b8511de8e0ac26b313b15f7f4f38ed571b45a407821efe00b97f32d5e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "job", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI Job middleware handles jobs from the WebUI service and contacts other Contrail services to execute them.", "io.opensdn.container.name": "opensdn-controller-webui-job", "io.opensdn.pod": "webui", "io.opensdn.service": "job", "name": "opensdn-controller-webui-job", "release": "5.1.0", "summary": "Contrail WEB UI Job", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "web": {"webui_web_1": {"cmd": ["/usr/bin/node", "webServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "952079257ab8305f598be5dd0454bef0a2ae6fddc24bbd7fc564647ae53dd186", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "webui", "com.docker.compose.project.config_files": "/etc/contrail/webui/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/webui", "com.docker.compose.service": "web", "com.docker.compose.version": "1.29.2", "description": "Contrail WEB UI provides the Web UI service to end user.", "io.opensdn.container.name": "opensdn-controller-webui-web", "io.opensdn.pod": "webui", "io.opensdn.service": "web", "name": "opensdn-controller-webui-web", "release": "5.1.0", "summary": "Contrail WEB UI", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.108991", "end": "2025-10-06 09:21:19.719399", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:21:19.610408", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.114792", "end": "2025-10-06 09:21:20.262026", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:21:20.147234", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-control-control) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_7-8", "delta": "0:00:05.250780", "end": "2025-10-06 09:21:25.946030", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2025-10-06 09:21:20.695250", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-control-control\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\nde8805ada4b9: Pulling fs layer\n037723d6eb00: Pulling fs layer\n313b7f6ab641: Pulling fs layer\n6142eec0add1: Pulling fs layer\n6142eec0add1: Waiting\n313b7f6ab641: Verifying Checksum\n313b7f6ab641: Download complete\n6142eec0add1: Verifying Checksum\n6142eec0add1: Download complete\nde8805ada4b9: Verifying Checksum\nde8805ada4b9: Download complete\nde8805ada4b9: Pull complete\n037723d6eb00: Verifying Checksum\n037723d6eb00: Download complete\n037723d6eb00: Pull complete\n313b7f6ab641: Pull complete\n6142eec0add1: Pull complete\nDigest: sha256:7ae09612756ea1020c100e4ccc7518d4ac626592876e69060827d08a274ca8c2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-control-control", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "de8805ada4b9: Pulling fs layer", "037723d6eb00: Pulling fs layer", "313b7f6ab641: Pulling fs layer", "6142eec0add1: Pulling fs layer", "6142eec0add1: Waiting", "313b7f6ab641: Verifying Checksum", "313b7f6ab641: Download complete", "6142eec0add1: Verifying Checksum", "6142eec0add1: Download complete", "de8805ada4b9: Verifying Checksum", "de8805ada4b9: Download complete", "de8805ada4b9: Pull complete", "037723d6eb00: Verifying Checksum", "037723d6eb00: Download complete", "037723d6eb00: Pull complete", "313b7f6ab641: Pull complete", "6142eec0add1: Pull complete", "Digest: sha256:7ae09612756ea1020c100e4ccc7518d4ac626592876e69060827d08a274ca8c2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-control-named) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_7-8", "delta": "0:00:00.591620", "end": "2025-10-06 09:21:27.009747", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2025-10-06 09:21:26.418127", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-control-named\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\nde8805ada4b9: Already exists\n35d0e960eb7f: Pulling fs layer\n1501354ca39c: Pulling fs layer\n62f02c897d3a: Pulling fs layer\n9d94f5449139: Pulling fs layer\n1b6567e25c00: Pulling fs layer\na7450c9cb027: Pulling fs layer\n9d94f5449139: Waiting\n1b6567e25c00: Waiting\na7450c9cb027: Waiting\n35d0e960eb7f: Verifying Checksum\n35d0e960eb7f: Download complete\n1501354ca39c: Verifying Checksum\n1501354ca39c: Download complete\n62f02c897d3a: Download complete\n1b6567e25c00: Download complete\n9d94f5449139: Verifying Checksum\n9d94f5449139: Download complete\n35d0e960eb7f: Pull complete\na7450c9cb027: Verifying Checksum\na7450c9cb027: Download complete\n1501354ca39c: Pull complete\n62f02c897d3a: Pull complete\n9d94f5449139: Pull complete\n1b6567e25c00: Pull complete\na7450c9cb027: Pull complete\nDigest: sha256:0f1c7136844914ab9a9c8bf573f8317b24c9fec275a1fb787791f91d1a3f7226\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-control-named", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "de8805ada4b9: Already exists", "35d0e960eb7f: Pulling fs layer", "1501354ca39c: Pulling fs layer", "62f02c897d3a: Pulling fs layer", "9d94f5449139: Pulling fs layer", "1b6567e25c00: Pulling fs layer", "a7450c9cb027: Pulling fs layer", "9d94f5449139: Waiting", "1b6567e25c00: Waiting", "a7450c9cb027: Waiting", "35d0e960eb7f: Verifying Checksum", "35d0e960eb7f: Download complete", "1501354ca39c: Verifying Checksum", "1501354ca39c: Download complete", "62f02c897d3a: Download complete", "1b6567e25c00: Download complete", "9d94f5449139: Verifying Checksum", "9d94f5449139: Download complete", "35d0e960eb7f: Pull complete", "a7450c9cb027: Verifying Checksum", "a7450c9cb027: Download complete", "1501354ca39c: Pull complete", "62f02c897d3a: Pull complete", "9d94f5449139: Pull complete", "1b6567e25c00: Pull complete", "a7450c9cb027: Pull complete", "Digest: sha256:0f1c7136844914ab9a9c8bf573f8317b24c9fec275a1fb787791f91d1a3f7226", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-controller-control-dns) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_7-8", "delta": "0:00:03.475583", "end": "2025-10-06 09:21:30.921987", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2025-10-06 09:21:27.446404", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-controller-control-dns\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\nde8805ada4b9: Already exists\na9a6bf68bf38: Pulling fs layer\n987f553fac87: Pulling fs layer\n2c946606a37f: Pulling fs layer\n140bb9309cf7: Pulling fs layer\n9997cad65893: Pulling fs layer\n7a43e3e877e2: Pulling fs layer\n9d455ef4413c: Pulling fs layer\nd25b93f014b2: Pulling fs layer\nc58fb8b8aecf: Pulling fs layer\n140bb9309cf7: Waiting\n9997cad65893: Waiting\n7a43e3e877e2: Waiting\n9d455ef4413c: Waiting\nd25b93f014b2: Waiting\nc58fb8b8aecf: Waiting\n987f553fac87: Verifying Checksum\n987f553fac87: Download complete\n2c946606a37f: Verifying Checksum\n2c946606a37f: Download complete\n140bb9309cf7: Download complete\n9997cad65893: Verifying Checksum\n9997cad65893: Download complete\n9d455ef4413c: Verifying Checksum\n9d455ef4413c: Download complete\n7a43e3e877e2: Verifying Checksum\n7a43e3e877e2: Download complete\nd25b93f014b2: Verifying Checksum\nd25b93f014b2: Download complete\nc58fb8b8aecf: Verifying Checksum\nc58fb8b8aecf: Download complete\na9a6bf68bf38: Verifying Checksum\na9a6bf68bf38: Download complete\na9a6bf68bf38: Pull complete\n987f553fac87: Pull complete\n2c946606a37f: Pull complete\n140bb9309cf7: Pull complete\n9997cad65893: Pull complete\n7a43e3e877e2: Pull complete\n9d455ef4413c: Pull complete\nd25b93f014b2: Pull complete\nc58fb8b8aecf: Pull complete\nDigest: sha256:fe0f5a1014d483a923e08cc1e38bca5a70adbf0e1424ab2fb23119a1260ecf32\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-controller-control-dns", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "de8805ada4b9: Already exists", "a9a6bf68bf38: Pulling fs layer", "987f553fac87: Pulling fs layer", "2c946606a37f: Pulling fs layer", "140bb9309cf7: Pulling fs layer", "9997cad65893: Pulling fs layer", "7a43e3e877e2: Pulling fs layer", "9d455ef4413c: Pulling fs layer", "d25b93f014b2: Pulling fs layer", "c58fb8b8aecf: Pulling fs layer", "140bb9309cf7: Waiting", "9997cad65893: Waiting", "7a43e3e877e2: Waiting", "9d455ef4413c: Waiting", "d25b93f014b2: Waiting", "c58fb8b8aecf: Waiting", "987f553fac87: Verifying Checksum", "987f553fac87: Download complete", "2c946606a37f: Verifying Checksum", "2c946606a37f: Download complete", "140bb9309cf7: Download complete", "9997cad65893: Verifying Checksum", "9997cad65893: Download complete", "9d455ef4413c: Verifying Checksum", "9d455ef4413c: Download complete", "7a43e3e877e2: Verifying Checksum", "7a43e3e877e2: Download complete", "d25b93f014b2: Verifying Checksum", "d25b93f014b2: Download complete", "c58fb8b8aecf: Verifying Checksum", "c58fb8b8aecf: Download complete", "a9a6bf68bf38: Verifying Checksum", "a9a6bf68bf38: Download complete", "a9a6bf68bf38: Pull complete", "987f553fac87: Pull complete", "2c946606a37f: Pull complete", "140bb9309cf7: Pull complete", "9997cad65893: Pull complete", "7a43e3e877e2: Pull complete", "9d455ef4413c: Pull complete", "d25b93f014b2: Pull complete", "c58fb8b8aecf: Pull complete", "Digest: sha256:fe0f5a1014d483a923e08cc1e38bca5a70adbf0e1424ab2fb23119a1260ecf32", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.106306", "end": "2025-10-06 09:21:31.474760", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:21:31.368454", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_control : create /etc/contrail/control] **************************
changed: [10.0.0.254] => {"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.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_control : create /etc/contrail/common_control.env] ***************
changed: [10.0.0.254] => {"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.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"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.254]: 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.254] => {"changed": true, "checksum": "0420a260447b5e7e91ae3fc472ff7997a5a48044", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "1b328f9ee863cc6d031e3855664a3848", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742509.592327-71029-166023368163300/source", "state": "file", "uid": 0}
TASK [opensdn_control : start contrail control] ********************************
changed: [10.0.0.254] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "460dd5627a2023d4941043c5f87aff5ebe40bfd02a59541a5687cd791e1cabd2", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "control", "com.docker.compose.version": "1.29.2", "description": "Contrail Control is xmpp/bgp based routing engine for Contrail.", "io.opensdn.container.name": "opensdn-controller-control-control", "io.opensdn.pod": "control", "io.opensdn.service": "control", "name": "opensdn-controller-control-control", "release": "5.1.0", "summary": "Contrail Controller", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "5bf57d9e27aec0a13261e20f274127e1e61ae75198e2a255b005425443045853", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "dns", "com.docker.compose.version": "1.29.2", "description": "Contrail DNS provides DNS service to the VMs spawned on compute nodes.", "io.opensdn.container.name": "opensdn-controller-control-dns", "io.opensdn.pod": "control", "io.opensdn.service": "dns", "name": "opensdn-controller-control-dns", "release": "5.1.0", "summary": "Contrail DNS", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "2c59dde2d0a98c8af9509dbca949b5ec6c598a411a52a6e7e14f24207b20c56a", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "named", "com.docker.compose.version": "1.29.2", "description": "Contrail Named complements Contrail DNS service.", "io.opensdn.container.name": "opensdn-controller-control-named", "io.opensdn.pod": "control", "io.opensdn.service": "named", "name": "opensdn-controller-control-named", "release": "5.1.0", "summary": "Contrail Named", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "f969aae02e80f71aca3102f58f973d3bc66beb4baece8fe4da8cee0eab2de837", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "921853082772d7a2aab27ee0c956ce6d1c9049cc5bc750c1a258ade2c97231fd", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "control", "com.docker.compose.project.config_files": "/etc/contrail/control/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/control", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.120325", "end": "2025-10-06 09:21:54.385058", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:21:54.264733", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.110889", "end": "2025-10-06 09:21:55.019152", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:21:54.908263", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-analytics-query-engine) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_7-8", "delta": "0:00:02.290020", "end": "2025-10-06 09:21:57.760247", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2025-10-06 09:21:55.470227", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-analytics-query-engine\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n01f3fc44cc34: Pulling fs layer\n7bf4178ba27b: Pulling fs layer\n1953d8fbea53: Pulling fs layer\n01f3fc44cc34: Verifying Checksum\n01f3fc44cc34: Download complete\n01f3fc44cc34: Pull complete\n1953d8fbea53: Verifying Checksum\n1953d8fbea53: Download complete\n7bf4178ba27b: Verifying Checksum\n7bf4178ba27b: Download complete\n7bf4178ba27b: Pull complete\n1953d8fbea53: Pull complete\nDigest: sha256:685faddb21404f95d4dde25187d4c64666a081ddd5f5e8ffd1a5e40341e3a990\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-analytics-query-engine", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "01f3fc44cc34: Pulling fs layer", "7bf4178ba27b: Pulling fs layer", "1953d8fbea53: Pulling fs layer", "01f3fc44cc34: Verifying Checksum", "01f3fc44cc34: Download complete", "01f3fc44cc34: Pull complete", "1953d8fbea53: Verifying Checksum", "1953d8fbea53: Download complete", "7bf4178ba27b: Verifying Checksum", "7bf4178ba27b: Download complete", "7bf4178ba27b: Pull complete", "1953d8fbea53: Pull complete", "Digest: sha256:685faddb21404f95d4dde25187d4c64666a081ddd5f5e8ffd1a5e40341e3a990", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "delta": "0:00:00.110955", "end": "2025-10-06 09:21:58.304442", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2025-10-06 09:21:58.193487", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-cassandra\nDigest: sha256:76136915600734d895f252b953362829b8f3d8d440f80fde6df7ef17af3530b6\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-cassandra", "Digest: sha256:76136915600734d895f252b953362829b8f3d8d440f80fde6df7ef17af3530b6", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.123355", "end": "2025-10-06 09:21:58.869883", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:21:58.746528", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] ****
changed: [10.0.0.254] => {"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.254] => {"ansible_facts": {"cassandra_seeds": "10.0.0.254"}, "changed": false}
TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] ***
ok: [10.0.0.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] ***
changed: [10.0.0.254] => {"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.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"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.254]: 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.254] => {"changed": true, "checksum": "6290bdb48029c9551fb5adf5edb65e056e21d077", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "75a27657cfde836fb59344ad73ca7a02", "mode": "0644", "owner": "root", "size": 3014, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742536.6960776-74827-179116552901367/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_database : start contrail analyticsdb] *****************
changed: [10.0.0.254] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "cc4266ee405cf8be57638cb605c153d7dfd0ab1f520e24f474877ff1119f3995", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "cassandra", "com.docker.compose.version": "1.29.2", "description": "Configuration database for Contrail Controller.", "io.opensdn.container.name": "opensdn-external-cassandra", "io.opensdn.service": "cassandra", "name": "opensdn-external-cassandra", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "d12dfa971ca19b0ae8d6cc50b19f78532b3a047a21fdd34374d42936ada6296d", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "eeadda6a8f169e1247c2c2ed11013ca25ff5bcc76584a79ef171b387ab0b3e40", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "34dcbb04ec34ea76d7b014c13eab18c63bc965ff13c91de168abb645f20f8577", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_database", "com.docker.compose.project.config_files": "/etc/contrail/analytics_database/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_database", "com.docker.compose.service": "query-engine", "com.docker.compose.version": "1.29.2", "description": "Contrail Query Engine handles the queries to access data from Analytics DB.", "io.opensdn.container.name": "opensdn-analytics-query-engine", "io.opensdn.pod": "database", "io.opensdn.service": "query-engine", "name": "opensdn-analytics-query-engine", "release": "5.1.0", "summary": "Contrail Query Engine", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.105476", "end": "2025-10-06 09:22:19.975597", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:22:19.870121", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.110565", "end": "2025-10-06 09:22:20.533991", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:22:20.423426", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-analytics-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_7-8", "delta": "0:00:02.107890", "end": "2025-10-06 09:22:23.080911", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2025-10-06 09:22:20.973021", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-analytics-api\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n07f8390eaca1: Pulling fs layer\n4dd0d5373c7f: Pulling fs layer\nc4de9a3af7ca: Pulling fs layer\n682750a5308e: Pulling fs layer\n545faa067521: Pulling fs layer\n682750a5308e: Waiting\n545faa067521: Waiting\n07f8390eaca1: Verifying Checksum\n07f8390eaca1: Download complete\nc4de9a3af7ca: Download complete\n4dd0d5373c7f: Verifying Checksum\n4dd0d5373c7f: Download complete\n682750a5308e: Download complete\n07f8390eaca1: Pull complete\n4dd0d5373c7f: Pull complete\n545faa067521: Verifying Checksum\n545faa067521: Download complete\nc4de9a3af7ca: Pull complete\n682750a5308e: Pull complete\n545faa067521: Pull complete\nDigest: sha256:b4251f68b9c3fabf3dd2c7873d505593044228beae25a36a2e4a45c2210c51ac\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-analytics-api", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "07f8390eaca1: Pulling fs layer", "4dd0d5373c7f: Pulling fs layer", "c4de9a3af7ca: Pulling fs layer", "682750a5308e: Pulling fs layer", "545faa067521: Pulling fs layer", "682750a5308e: Waiting", "545faa067521: Waiting", "07f8390eaca1: Verifying Checksum", "07f8390eaca1: Download complete", "c4de9a3af7ca: Download complete", "4dd0d5373c7f: Verifying Checksum", "4dd0d5373c7f: Download complete", "682750a5308e: Download complete", "07f8390eaca1: Pull complete", "4dd0d5373c7f: Pull complete", "545faa067521: Verifying Checksum", "545faa067521: Download complete", "c4de9a3af7ca: Pull complete", "682750a5308e: Pull complete", "545faa067521: Pull complete", "Digest: sha256:b4251f68b9c3fabf3dd2c7873d505593044228beae25a36a2e4a45c2210c51ac", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-analytics-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_7-8", "delta": "0:00:03.515940", "end": "2025-10-06 09:22:27.079357", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2025-10-06 09:22:23.563417", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-analytics-collector\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n77e86b79f50f: Pulling fs layer\nd4e7e1c69b81: Pulling fs layer\nfbbdf5a26d87: Pulling fs layer\n77e86b79f50f: Download complete\n77e86b79f50f: Pull complete\nfbbdf5a26d87: Verifying Checksum\nfbbdf5a26d87: Download complete\nd4e7e1c69b81: Verifying Checksum\nd4e7e1c69b81: Download complete\nd4e7e1c69b81: Pull complete\nfbbdf5a26d87: Pull complete\nDigest: sha256:07ff201bcfd9003fd53f76ff0807fddd754c67d4a98c768cb85276c0351c1004\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-analytics-collector", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "77e86b79f50f: Pulling fs layer", "d4e7e1c69b81: Pulling fs layer", "fbbdf5a26d87: Pulling fs layer", "77e86b79f50f: Download complete", "77e86b79f50f: Pull complete", "fbbdf5a26d87: Verifying Checksum", "fbbdf5a26d87: Download complete", "d4e7e1c69b81: Verifying Checksum", "d4e7e1c69b81: Download complete", "d4e7e1c69b81: Pull complete", "fbbdf5a26d87: Pull complete", "Digest: sha256:07ff201bcfd9003fd53f76ff0807fddd754c67d4a98c768cb85276c0351c1004", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.109661", "end": "2025-10-06 09:22:27.630960", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:22:27.521299", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_analytics : create /etc/contrail/analytics] **********************
changed: [10.0.0.254] => {"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.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] ***********
changed: [10.0.0.254] => {"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.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true}
changed: [10.0.0.254] => {"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.254]: 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.254] => {"changed": true, "checksum": "ed4b164f8f4dab8861cc7a7a0b28cf0b019adad8", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "5a2af82e86a9ba4afec5580a65c4b15f", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742565.0734396-78840-35670690197137/source", "state": "file", "uid": 0}
TASK [opensdn_analytics : start contrail analytics] ****************************
changed: [10.0.0.254] => {"changed": true, "services": {"api": {"analytics_api_1": {"cmd": ["/usr/local/bin/contrail-analytics-api", "-c", "/etc/contrail/contrail-analytics-api.conf", "-c", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "f2464417ee368c99c179fce21820084b8cbe267e606d5f76c0c3ed48aeb83fcc", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "api", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics API provides REST API to access collected analytics data.", "io.opensdn.container.name": "opensdn-analytics-api", "io.opensdn.pod": "analytics", "io.opensdn.service": "api", "name": "opensdn-analytics-api", "release": "5.1.0", "summary": "Contrail Analytics API", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "6ca1e85bd8e968339e4ecac524ccb27dcc5fe928b5236d67a0a54b410ac461f0", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "collector", "com.docker.compose.version": "1.29.2", "description": "Contrail Analytics Collector collects the running state of different processes sent by other nodes.", "io.opensdn.container.name": "opensdn-analytics-collector", "io.opensdn.pod": "analytics", "io.opensdn.service": "collector", "name": "opensdn-analytics-collector", "release": "5.1.0", "summary": "Contrail Analytics Collector", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "5a3597e5f2a522d50fd0e660d3b39860ce93bdb040609d9a03964c076402ad83", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "94f37c5cb09116084524189d23fc22115c3a2724a1e41407ae7c7a08418010b9", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics", "com.docker.compose.project.config_files": "/etc/contrail/analytics/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.114885", "end": "2025-10-06 09:22:48.802293", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:22:48.687408", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.110002", "end": "2025-10-06 09:22:49.338903", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:22:49.228901", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-analytics-alarm-gen) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_7-8", "delta": "0:00:00.722925", "end": "2025-10-06 09:22:50.498853", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2025-10-06 09:22:49.775928", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-analytics-alarm-gen\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n7af0aaa08a04: Pulling fs layer\n7d6c41854044: Pulling fs layer\n7af0aaa08a04: Verifying Checksum\n7af0aaa08a04: Download complete\n7af0aaa08a04: Pull complete\n7d6c41854044: Verifying Checksum\n7d6c41854044: Download complete\n7d6c41854044: Pull complete\nDigest: sha256:d6d718ed29b8f1e52ad0c096b7d3d366fd81ddcfedd7946c9d7194b723f5136f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-analytics-alarm-gen", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "7af0aaa08a04: Pulling fs layer", "7d6c41854044: Pulling fs layer", "7af0aaa08a04: Verifying Checksum", "7af0aaa08a04: Download complete", "7af0aaa08a04: Pull complete", "7d6c41854044: Verifying Checksum", "7d6c41854044: Download complete", "7d6c41854044: Pull complete", "Digest: sha256:d6d718ed29b8f1e52ad0c096b7d3d366fd81ddcfedd7946c9d7194b723f5136f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-external-kafka) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_7-8", "delta": "0:00:08.354635", "end": "2025-10-06 09:22:59.316522", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2025-10-06 09:22:50.961887", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-kafka\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n1aaa01eb712a: Pulling fs layer\n1f0d13f2b04c: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n1aaa01eb712a: Verifying Checksum\n1aaa01eb712a: Download complete\n1aaa01eb712a: Pull complete\n1f0d13f2b04c: Verifying Checksum\n1f0d13f2b04c: Download complete\n1f0d13f2b04c: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:2554fdf82c2f74db7b6363d6fea7801926215743eea986fc0bb5ba7b8eff0af6\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-kafka", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "1aaa01eb712a: Pulling fs layer", "1f0d13f2b04c: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "1aaa01eb712a: Verifying Checksum", "1aaa01eb712a: Download complete", "1aaa01eb712a: Pull complete", "1f0d13f2b04c: Verifying Checksum", "1f0d13f2b04c: Download complete", "1f0d13f2b04c: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:2554fdf82c2f74db7b6363d6fea7801926215743eea986fc0bb5ba7b8eff0af6", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.105424", "end": "2025-10-06 09:22:59.901463", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:22:59.796039", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] **********
changed: [10.0.0.254] => {"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.254] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.254"}, "changed": false}
TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] ***
changed: [10.0.0.254] => {"changed": true, "checksum": "f2d646a0ff25de8b83cc3e11aad80d6c4052da81", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "99d3b39b8c2a8bd7e0a461bfbaaa35ef", "mode": "0644", "owner": "root", "size": 2476, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742580.8352413-80935-217841742914352/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_alarm : start contrail analytics_alarm] ****************
changed: [10.0.0.254] => {"changed": true, "services": {"alarm-gen": {"analytics_alarm_alarm-gen_1": {"cmd": ["/usr/local/bin/contrail-alarm-gen", "-c", "/etc/contrail/contrail-alarm-gen.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "5055423c2b94e146267fa4a7d99eaf22adef17680b286b66e2c4144b0cdd59c2", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "alarm-gen", "com.docker.compose.version": "1.29.2", "description": "Contrail Alarm Generator generates alerts (alarms) which highlight unusual conditions that may require more urgent administrator attention and action.", "io.opensdn.container.name": "opensdn-analytics-alarm-gen", "io.opensdn.pod": "analytics-alarm", "io.opensdn.service": "alarm-gen", "name": "opensdn-analytics-alarm-gen", "release": "5.1.0", "summary": "Contrail Alarm Generator", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["bin/kafka-server-start.sh", "config/server.properties"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "4b6bb361b0f9d35b88476a836ffc1b74ced053e6f543ce2209f1902aab43d441", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "kafka", "com.docker.compose.version": "1.29.2", "description": "Contrail Kafka is used for streaming data in Analytics DB.", "io.opensdn.container.name": "opensdn-external-kafka", "io.opensdn.service": "kafka", "name": "opensdn-external-kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "b27f6a994ec0878146acf2e3ac3c0fbbffeaf69fd38fe075fe354378003d759e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "4e72e800f0ae186ad77a7c8bb1e1a3c7e7b6aa58e17354e9dff39642623b8e35", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_alarm", "com.docker.compose.project.config_files": "/etc/contrail/analytics_alarm/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_alarm", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.117047", "end": "2025-10-06 09:23:04.607469", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:23:04.490422", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.098665", "end": "2025-10-06 09:23:05.136805", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:23:05.038140", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-analytics-snmp-topology) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_7-8", "delta": "0:00:04.570287", "end": "2025-10-06 09:23:10.143303", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2025-10-06 09:23:05.573016", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-analytics-snmp-topology\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n7a9322bb9cae: Pulling fs layer\n0e62bd9d49ee: Pulling fs layer\n105eae6c5f76: Pulling fs layer\nec907a450cbe: Pulling fs layer\nec907a450cbe: Waiting\n105eae6c5f76: Verifying Checksum\n105eae6c5f76: Download complete\n7a9322bb9cae: Download complete\nec907a450cbe: Verifying Checksum\nec907a450cbe: Download complete\n7a9322bb9cae: Pull complete\n0e62bd9d49ee: Verifying Checksum\n0e62bd9d49ee: Download complete\n0e62bd9d49ee: Pull complete\n105eae6c5f76: Pull complete\nec907a450cbe: Pull complete\nDigest: sha256:7d9ed2bbb1811f3c7c1236dbf07e9e3c4dc7d7c8374b9d4c50e459883770952d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-analytics-snmp-topology", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "7a9322bb9cae: Pulling fs layer", "0e62bd9d49ee: Pulling fs layer", "105eae6c5f76: Pulling fs layer", "ec907a450cbe: Pulling fs layer", "ec907a450cbe: Waiting", "105eae6c5f76: Verifying Checksum", "105eae6c5f76: Download complete", "7a9322bb9cae: Download complete", "ec907a450cbe: Verifying Checksum", "ec907a450cbe: Download complete", "7a9322bb9cae: Pull complete", "0e62bd9d49ee: Verifying Checksum", "0e62bd9d49ee: Download complete", "0e62bd9d49ee: Pull complete", "105eae6c5f76: Pull complete", "ec907a450cbe: Pull complete", "Digest: sha256:7d9ed2bbb1811f3c7c1236dbf07e9e3c4dc7d7c8374b9d4c50e459883770952d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-analytics-snmp-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_7-8", "delta": "0:00:00.479129", "end": "2025-10-06 09:23:11.128460", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2025-10-06 09:23:10.649331", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-analytics-snmp-collector\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n7a9322bb9cae: Already exists\n0e62bd9d49ee: Already exists\ne0efacad64df: Pulling fs layer\n4eb6e7aa82bd: Pulling fs layer\n4eb6e7aa82bd: Verifying Checksum\n4eb6e7aa82bd: Download complete\ne0efacad64df: Download complete\ne0efacad64df: Pull complete\n4eb6e7aa82bd: Pull complete\nDigest: sha256:48bf9ede37cd33c57800aeb5c5345b563658bab6fdddc40fcb80dd7870803e2f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-analytics-snmp-collector", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "7a9322bb9cae: Already exists", "0e62bd9d49ee: Already exists", "e0efacad64df: Pulling fs layer", "4eb6e7aa82bd: Pulling fs layer", "4eb6e7aa82bd: Verifying Checksum", "4eb6e7aa82bd: Download complete", "e0efacad64df: Download complete", "e0efacad64df: Pull complete", "4eb6e7aa82bd: Pull complete", "Digest: sha256:48bf9ede37cd33c57800aeb5c5345b563658bab6fdddc40fcb80dd7870803e2f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.115783", "end": "2025-10-06 09:23:11.681241", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:23:11.565458", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************
changed: [10.0.0.254] => {"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.254] => {"changed": true, "checksum": "407959a66a60b8b8905e071f4ed01f3a3405ce74", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "2e350f346e1ab163fa7e8a51860f7abe", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742592.346691-83115-134351198044862/source", "state": "file", "uid": 0}
TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ******************
changed: [10.0.0.254] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "4f8736d4c9b1e1fd10fe50c33bfb5299caf60fdda7b739af936e94671b2fab20", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3c3c44e3a66edc853a6f62f013e140b5be7b1ebbcf7404b448262de8deb4cdb8", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "8972c35d93ca6aadaec5c0404ffa6b45b9aac81e95c887c2b7ce2cd1932fc3b7", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "snmp-collector", "com.docker.compose.version": "1.29.2", "description": "SNMP Collector collects data from switches(Spine/Leaf).", "io.opensdn.container.name": "opensdn-analytics-snmp-collector", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "snmp-collector", "name": "opensdn-analytics-snmp-collector", "release": "5.1.0", "summary": "SNMP Collector", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "2dee0d99f2f157ab133f35eec5c167c68debe9690983696015f91a8f9bddd33e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "analytics_snmp", "com.docker.compose.project.config_files": "/etc/contrail/analytics_snmp/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/analytics_snmp", "com.docker.compose.service": "topology", "com.docker.compose.version": "1.29.2", "description": "SNMP Topology periodically updates topology table, which is used by UI to draw maps.", "io.opensdn.container.name": "opensdn-analytics-snmp-topology", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "topology", "name": "opensdn-analytics-snmp-topology", "release": "5.1.0", "summary": "SNMP Topology", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => (item=opensdn-external-rsyslogd) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_7-8", "delta": "0:00:00.515863", "end": "2025-10-06 09:23:16.658456", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2025-10-06 09:23:16.142593", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-external-rsyslogd\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\na60be3d70d88: Pulling fs layer\ned5eba28fe23: Pulling fs layer\n8206139ae7d5: Pulling fs layer\nc1687e16d9dc: Pulling fs layer\nc1687e16d9dc: Waiting\na60be3d70d88: Verifying Checksum\na60be3d70d88: Download complete\n8206139ae7d5: Verifying Checksum\n8206139ae7d5: Download complete\na60be3d70d88: Pull complete\nc1687e16d9dc: Verifying Checksum\nc1687e16d9dc: Download complete\ned5eba28fe23: Verifying Checksum\ned5eba28fe23: Download complete\ned5eba28fe23: Pull complete\n8206139ae7d5: Pull complete\nc1687e16d9dc: Pull complete\nDigest: sha256:722fccf68707f6d1f970cbd1e00a0dc06b9a1fa638a1616d9fd1ce0f3f15dc44\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-external-rsyslogd", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "a60be3d70d88: Pulling fs layer", "ed5eba28fe23: Pulling fs layer", "8206139ae7d5: Pulling fs layer", "c1687e16d9dc: Pulling fs layer", "c1687e16d9dc: Waiting", "a60be3d70d88: Verifying Checksum", "a60be3d70d88: Download complete", "8206139ae7d5: Verifying Checksum", "8206139ae7d5: Download complete", "a60be3d70d88: Pull complete", "c1687e16d9dc: Verifying Checksum", "c1687e16d9dc: Download complete", "ed5eba28fe23: Verifying Checksum", "ed5eba28fe23: Download complete", "ed5eba28fe23: Pull complete", "8206139ae7d5: Pull complete", "c1687e16d9dc: Pull complete", "Digest: sha256:722fccf68707f6d1f970cbd1e00a0dc06b9a1fa638a1616d9fd1ce0f3f15dc44", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_7-8"]}
TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************
changed: [10.0.0.254] => {"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.254] => {"changed": true, "checksum": "1a074275a61c20a240c6ef49ad84ebc48756c49f", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "b6d1707a4c32ee34ed5b1a15262e70a2", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742597.4668121-84324-180704177048663/source", "state": "file", "uid": 0}
TASK [opensdn_rsyslogd : start rsyslogd] ***************************************
changed: [10.0.0.254] => {"changed": true, "services": {"rsyslogd": {"rsyslogd_rsyslogd_1": {"cmd": ["/bin/sh", "-c", "rsyslogd -n -f /etc/rsyslog.conf -i $RSYSLOGD_PIDFILE"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "251c2acf1a2fa124e2da16c0efcd9c3f4e8882fa605aa614898359c3ca041b3e", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "rsyslogd", "com.docker.compose.project.config_files": "/etc/contrail/rsyslogd/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/rsyslogd", "com.docker.compose.service": "rsyslogd", "com.docker.compose.version": "1.29.2", "description": "Contrail rsyslogd support", "io.opensdn.container.name": "", "io.opensdn.service": "rsyslogd", "name": "", "release": "5.1.0", "summary": "Contrail rsyslogd", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => {"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.254] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "delta": "0:00:00.102721", "end": "2025-10-06 09:23:20.161920", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2025-10-06 09:23:20.059199", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-node-init\nDigest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-node-init", "Digest: sha256:33420f0daa3fe96f723653729101343631966ccfaab5ac4efa1268f3c5cbdddc", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "delta": "0:00:00.104999", "end": "2025-10-06 09:23:20.705605", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2025-10-06 09:23:20.600606", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-nodemgr\nDigest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-nodemgr", "Digest: sha256:cab42bb650c25768099c9de6fc2e946a7c45c50b2f42d1e2f5e63d6148bd643f", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "delta": "0:00:00.123357", "end": "2025-10-06 09:23:21.272094", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2025-10-06 09:23:21.148737", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-provisioner\nDigest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-provisioner", "Digest: sha256:61c4d61c852f751e40473c2201c87d14911f8381377b31c8027895e9788b5e73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-vrouter-kernel-build-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_7-8", "delta": "0:00:06.753578", "end": "2025-10-06 09:23:28.485053", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2025-10-06 09:23:21.731475", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-vrouter-kernel-build-init\n02bf5e209e4a: Pulling fs layer\n4405a673edda: Pulling fs layer\n41735576aad6: Pulling fs layer\necb1e0db1aa7: Pulling fs layer\n6c83e3532f61: Pulling fs layer\n3a8242f59a2c: Pulling fs layer\nff809b97ea69: Pulling fs layer\nd537cf094b78: Pulling fs layer\necb1e0db1aa7: Waiting\n6c83e3532f61: Waiting\n3a8242f59a2c: Waiting\nff809b97ea69: Waiting\nd537cf094b78: Waiting\n4405a673edda: Download complete\n41735576aad6: Verifying Checksum\n41735576aad6: Download complete\necb1e0db1aa7: Verifying Checksum\necb1e0db1aa7: Download complete\n6c83e3532f61: Verifying Checksum\n6c83e3532f61: Download complete\nff809b97ea69: Verifying Checksum\nff809b97ea69: Download complete\nd537cf094b78: Verifying Checksum\nd537cf094b78: Download complete\n02bf5e209e4a: Verifying Checksum\n02bf5e209e4a: Download complete\n02bf5e209e4a: Pull complete\n4405a673edda: Pull complete\n41735576aad6: Pull complete\necb1e0db1aa7: Pull complete\n6c83e3532f61: Pull complete\n3a8242f59a2c: Verifying Checksum\n3a8242f59a2c: Download complete\n3a8242f59a2c: Pull complete\nff809b97ea69: Pull complete\nd537cf094b78: Pull complete\nDigest: sha256:e669330b2d819c8a9de41a0addc55d2632034b0259e02afc3cdc837bc6cb766f\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-vrouter-kernel-build-init", "02bf5e209e4a: Pulling fs layer", "4405a673edda: Pulling fs layer", "41735576aad6: Pulling fs layer", "ecb1e0db1aa7: Pulling fs layer", "6c83e3532f61: Pulling fs layer", "3a8242f59a2c: Pulling fs layer", "ff809b97ea69: Pulling fs layer", "d537cf094b78: Pulling fs layer", "ecb1e0db1aa7: Waiting", "6c83e3532f61: Waiting", "3a8242f59a2c: Waiting", "ff809b97ea69: Waiting", "d537cf094b78: Waiting", "4405a673edda: Download complete", "41735576aad6: Verifying Checksum", "41735576aad6: Download complete", "ecb1e0db1aa7: Verifying Checksum", "ecb1e0db1aa7: Download complete", "6c83e3532f61: Verifying Checksum", "6c83e3532f61: Download complete", "ff809b97ea69: Verifying Checksum", "ff809b97ea69: Download complete", "d537cf094b78: Verifying Checksum", "d537cf094b78: Download complete", "02bf5e209e4a: Verifying Checksum", "02bf5e209e4a: Download complete", "02bf5e209e4a: Pull complete", "4405a673edda: Pull complete", "41735576aad6: Pull complete", "ecb1e0db1aa7: Pull complete", "6c83e3532f61: Pull complete", "3a8242f59a2c: Verifying Checksum", "3a8242f59a2c: Download complete", "3a8242f59a2c: Pull complete", "ff809b97ea69: Pull complete", "d537cf094b78: Pull complete", "Digest: sha256:e669330b2d819c8a9de41a0addc55d2632034b0259e02afc3cdc837bc6cb766f", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_7-8"]}
changed: [10.0.0.254] => (item=opensdn-vrouter-agent) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_7-8", "delta": "0:00:11.311509", "end": "2025-10-06 09:23:40.267547", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2025-10-06 09:23:28.956038", "stderr": "", "stderr_lines": [], "stdout": "master-2_1_4_7-8: Pulling from opensdn-vrouter-agent\n446f83f14b23: Already exists\n43e49e9bdd79: Already exists\n1fdbb97edbda: Already exists\n3714374986c0: Already exists\nc55f456d4e68: Already exists\n74388e8e73d1: Already exists\nfa79ce719c1e: Already exists\n05773b8125a2: Already exists\n62dc625f2d79: Already exists\nc7fddf452bd1: Already exists\n98f8df2c6631: Already exists\n89a7b4f6b0a6: Already exists\n9df554c0e8d5: Pulling fs layer\nf4a4d2436a9d: Pulling fs layer\na50c39ec4861: Pulling fs layer\n53f480e91980: Pulling fs layer\nef10e9efcc21: Pulling fs layer\nfa5ed9a75fdb: Pulling fs layer\n98057a4ba831: Pulling fs layer\n61384bfc0aec: Pulling fs layer\n44d599d55685: Pulling fs layer\ne03be489787a: Pulling fs layer\n7f2483c0b163: Pulling fs layer\nbee3f7b6557d: Pulling fs layer\nf0d1e4079647: Pulling fs layer\n4aa66cdf7406: Pulling fs layer\n272b4cadff22: Pulling fs layer\n53f480e91980: Waiting\nef10e9efcc21: Waiting\nfa5ed9a75fdb: Waiting\n98057a4ba831: Waiting\n61384bfc0aec: Waiting\n44d599d55685: Waiting\ne03be489787a: Waiting\n7f2483c0b163: Waiting\nbee3f7b6557d: Waiting\nf0d1e4079647: Waiting\n4aa66cdf7406: Waiting\n272b4cadff22: Waiting\nf4a4d2436a9d: Verifying Checksum\nf4a4d2436a9d: Download complete\n9df554c0e8d5: Verifying Checksum\n9df554c0e8d5: Download complete\n53f480e91980: Download complete\nef10e9efcc21: Verifying Checksum\nef10e9efcc21: Download complete\nfa5ed9a75fdb: Verifying Checksum\nfa5ed9a75fdb: Download complete\n9df554c0e8d5: Pull complete\n98057a4ba831: Verifying Checksum\n98057a4ba831: Download complete\n44d599d55685: Verifying Checksum\n44d599d55685: Download complete\nf4a4d2436a9d: Pull complete\na50c39ec4861: Verifying Checksum\na50c39ec4861: Download complete\ne03be489787a: Verifying Checksum\ne03be489787a: Download complete\n7f2483c0b163: Download complete\nf0d1e4079647: Verifying Checksum\nf0d1e4079647: Download complete\n4aa66cdf7406: Verifying Checksum\n4aa66cdf7406: Download complete\n272b4cadff22: Verifying Checksum\n272b4cadff22: Download complete\na50c39ec4861: Pull complete\nbee3f7b6557d: Verifying Checksum\nbee3f7b6557d: Download complete\n53f480e91980: Pull complete\nef10e9efcc21: Pull complete\nfa5ed9a75fdb: Pull complete\n98057a4ba831: Pull complete\n61384bfc0aec: Verifying Checksum\n61384bfc0aec: Download complete\n61384bfc0aec: Pull complete\n44d599d55685: Pull complete\ne03be489787a: Pull complete\n7f2483c0b163: Pull complete\nbee3f7b6557d: Pull complete\nf0d1e4079647: Pull complete\n4aa66cdf7406: Pull complete\n272b4cadff22: Pull complete\nDigest: sha256:4e14080e69194909915d9f8a29481b52afcbc1c200705c88eacb4514460ef22e\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_7-8\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_7-8", "stdout_lines": ["master-2_1_4_7-8: Pulling from opensdn-vrouter-agent", "446f83f14b23: Already exists", "43e49e9bdd79: Already exists", "1fdbb97edbda: Already exists", "3714374986c0: Already exists", "c55f456d4e68: Already exists", "74388e8e73d1: Already exists", "fa79ce719c1e: Already exists", "05773b8125a2: Already exists", "62dc625f2d79: Already exists", "c7fddf452bd1: Already exists", "98f8df2c6631: Already exists", "89a7b4f6b0a6: Already exists", "9df554c0e8d5: Pulling fs layer", "f4a4d2436a9d: Pulling fs layer", "a50c39ec4861: Pulling fs layer", "53f480e91980: Pulling fs layer", "ef10e9efcc21: Pulling fs layer", "fa5ed9a75fdb: Pulling fs layer", "98057a4ba831: Pulling fs layer", "61384bfc0aec: Pulling fs layer", "44d599d55685: Pulling fs layer", "e03be489787a: Pulling fs layer", "7f2483c0b163: Pulling fs layer", "bee3f7b6557d: Pulling fs layer", "f0d1e4079647: Pulling fs layer", "4aa66cdf7406: Pulling fs layer", "272b4cadff22: Pulling fs layer", "53f480e91980: Waiting", "ef10e9efcc21: Waiting", "fa5ed9a75fdb: Waiting", "98057a4ba831: Waiting", "61384bfc0aec: Waiting", "44d599d55685: Waiting", "e03be489787a: Waiting", "7f2483c0b163: Waiting", "bee3f7b6557d: Waiting", "f0d1e4079647: Waiting", "4aa66cdf7406: Waiting", "272b4cadff22: Waiting", "f4a4d2436a9d: Verifying Checksum", "f4a4d2436a9d: Download complete", "9df554c0e8d5: Verifying Checksum", "9df554c0e8d5: Download complete", "53f480e91980: Download complete", "ef10e9efcc21: Verifying Checksum", "ef10e9efcc21: Download complete", "fa5ed9a75fdb: Verifying Checksum", "fa5ed9a75fdb: Download complete", "9df554c0e8d5: Pull complete", "98057a4ba831: Verifying Checksum", "98057a4ba831: Download complete", "44d599d55685: Verifying Checksum", "44d599d55685: Download complete", "f4a4d2436a9d: Pull complete", "a50c39ec4861: Verifying Checksum", "a50c39ec4861: Download complete", "e03be489787a: Verifying Checksum", "e03be489787a: Download complete", "7f2483c0b163: Download complete", "f0d1e4079647: Verifying Checksum", "f0d1e4079647: Download complete", "4aa66cdf7406: Verifying Checksum", "4aa66cdf7406: Download complete", "272b4cadff22: Verifying Checksum", "272b4cadff22: Download complete", "a50c39ec4861: Pull complete", "bee3f7b6557d: Verifying Checksum", "bee3f7b6557d: Download complete", "53f480e91980: Pull complete", "ef10e9efcc21: Pull complete", "fa5ed9a75fdb: Pull complete", "98057a4ba831: Pull complete", "61384bfc0aec: Verifying Checksum", "61384bfc0aec: Download complete", "61384bfc0aec: Pull complete", "44d599d55685: Pull complete", "e03be489787a: Pull complete", "7f2483c0b163: Pull complete", "bee3f7b6557d: Pull complete", "f0d1e4079647: Pull complete", "4aa66cdf7406: Pull complete", "272b4cadff22: Pull complete", "Digest: sha256:4e14080e69194909915d9f8a29481b52afcbc1c200705c88eacb4514460ef22e", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_7-8", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_7-8"]}
[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.254] => {"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.254] => {"changed": true, "checksum": "6194b48482d34fae4139b129846669f8dae7e426", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "15c2592aa32aae1d5802a91046c9a84e", "mode": "0640", "owner": "root", "size": 1038, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742621.450144-85977-171873851062067/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : set vrouter kernel init image name] ********************
ok: [10.0.0.254] => {"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.254] => {"changed": false, "stat": {"exists": false}}
TASK [opensdn_vrouter : create contrail vrouter compose file] ******************
changed: [10.0.0.254] => {"changed": true, "checksum": "b462ace1cbebdc9c99faa5803a279704c483a22f", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "6989632de70ce1364c8a85ab967c1378", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1759742623.2430599-86125-188175005898996/source", "state": "file", "uid": 0}
TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] *****************
changed: [10.0.0.254] => {"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.254] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "3613912a00336aa695a0526c54b02165f861f78bf30961fb51cf09437da9ca85", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "node-init", "com.docker.compose.version": "1.29.2", "description": "Container is used to configure operating system for Contrail services.", "io.opensdn.container.name": "opensdn-node-init", "name": "opensdn-node-init", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "2c837570bb24c1050549ea4318d72c0f400f0bed6f73541c6ee21fdeefe2e76b", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "nodemgr", "com.docker.compose.version": "1.29.2", "description": "Contrail Node Manager is a monitor process per contrail virtual node that tracks the running state of the processes.", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "name": "opensdn-nodemgr", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "d6b632a90c1272c30b838ac2841fbc6fce3a82735d47b17f6b91431acba94988", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "provisioner", "com.docker.compose.version": "1.29.2", "description": "Contrail Provisioner ia caoneiner that manage env for other containers.", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "name": "opensdn-provisioner", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "9e098da7302d85aac90e99dc08a9fff321cc736771b61f860ea1dd1e0ea49fb3", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-agent", "com.docker.compose.version": "1.29.2", "description": "The vRouter agent is a user space process running inside Linux. It acts as the local, lightweight control plane.", "io.opensdn.container.name": "opensdn-vrouter-agent", "io.opensdn.pod": "vrouter", "io.opensdn.service": "agent", "name": "opensdn-vrouter-agent", "release": "5.1.0", "summary": "Contrail Vrouter Agent", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-2_1_4_7-8", "labels": {"com.docker.compose.config-hash": "062bd406f31565ba1d519440054c587adc7218f0097056c995e20589e1dcea06", "com.docker.compose.container-number": "1", "com.docker.compose.oneoff": "False", "com.docker.compose.project": "vrouter", "com.docker.compose.project.config_files": "/etc/contrail/vrouter/docker-compose.yaml", "com.docker.compose.project.working_dir": "/etc/contrail/vrouter", "com.docker.compose.service": "vrouter-kernel-init", "com.docker.compose.version": "1.29.2", "description": "This image is used to build vrouter.ko for current ubuntu operating system that it's running on.", "io.opensdn.container.name": "opensdn-vrouter-kernel-build-init", "name": "opensdn-vrouter-kernel-build-init", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "24.04", "release": "5.1.0", "summary": "Contrail vrouter kernel module for ubuntu", "vendor": "OpenSDN-IO", "version": "master-2_1_4_7-8"}, "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.254] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false}
PLAY RECAP *********************************************************************
10.0.0.254 : 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 Mon Oct 6 09:24:51 UTC 2025
INFO: controller nodes - 10.0.0.254
INFO: agent nodes - 10.0.0.254
INFO: openstack controller nodes -
INFO: sync time on machine ubuntu@10.0.0.254
Warning: Permanently added '10.0.0.254' (ED25519) to the list of known hosts.
Warning: Permanently added '10.0.0.254' (ED25519) to the list of known hosts.
INFO: Mon Oct 6 09:24:52 UTC 2025: ensure time is synced (chronyd)
INFO: Mon Oct 6 09:24:52 UTC 2025: time is synced
TF Web UI must be available at https://10.0.0.254:8143
OpenStack UI must be avaiable at http://10.0.0.254
Use admin/contrail123 to log in
INFO: Stage tf was run successfully Mon Oct 6 09:24:52 UTC 2025
INFO: Running stage wait at Mon Oct 6 09:24:52 UTC 2025
INFO: done in 0s
INFO: Stage wait was run successfully Mon Oct 6 09:24:59 UTC 2025
[update tf stack configuration]
tf setup profile /home/ubuntu/.tf/stack.env
DEPLOYER=ansible
CONTRAIL_CONTAINER_TAG=master-2_1_4_7-8
CONTRAIL_DEPLOYER_CONTAINER_TAG=master-2_1_4_7-8
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.254 "
AGENT_NODES="10.0.0.254"
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.254'
OS_AUTH_URL='http://10.0.0.254:5000/v3'
AUTH_PASSWORD='contrail123'
AUTH_URL=''
INFO: Successful deployment Mon Oct 6 09:24:59 UTC 2025
DEBUG: kill running child jobs:
INFO: Deploy finished
+ exit
Archiving artifacts
Finished: SUCCESS