Started by upstream project "pipeline-gate" build number 3024 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-vrouter/+/3104 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 d0c52da635d06c50a3dbc331927c823e00983714 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f d0c52da635d06c50a3dbc331927c823e00983714 # timeout=10 Commit message: "Merge "upgrade default kolla-ansible version to 2025.1"" > git rev-list --no-walk d0c52da635d06c50a3dbc331927c823e00983714 # 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 e8957c3b57e6ab690f7331338bfaf654e9f55ce8 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f e8957c3b57e6ab690f7331338bfaf654e9f55ce8 # timeout=10 Commit message: "some changes for kolla-ansible upgrade" > git rev-list --no-walk e8957c3b57e6ab690f7331338bfaf654e9f55ce8 # timeout=10 Copied 4 artifacts from "pipeline-gate" build number 3024 [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins13719352801416779302.sh + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-gate-3024 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-gate-3024 ++ 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/04/3104/4/gate_3024 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ 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-3_1_0_4-4 ++ CONTRAIL_CONTAINER_TAG=master-3_1_0_4-4 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ export GERRIT_PIPELINE=gate ++ GERRIT_PIPELINE=gate ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I06b185563eba9c9295e9613a374cb97350a04bb0 ++ GERRIT_CHANGE_ID=I06b185563eba9c9295e9613a374cb97350a04bb0 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-vrouter ++ GERRIT_PROJECT=opensdn-io/tf-vrouter ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest ++ export BASE_BUILD_ID_LIST= ++ BASE_BUILD_ID_LIST= + desc='Pipeline: pipeline-gate-3024 Random: 93366 Stream: ansible-os' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024/ansible-os' + echo 'DESCRIPTION Pipeline: pipeline-gate-3024 Random: 93366 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024/ansible-os' DESCRIPTION Pipeline: pipeline-gate-3024 Random: 93366 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024/ansible-os [description-setter] Description set: Pipeline: pipeline-gate-3024 Random: 93366 Stream: ansible-os
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024/ansible-os' [deploy-tf-ansible-os] $ /bin/bash -xe /tmp/jenkins10380097012843589725.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-gate-3024 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-gate-3024 ++ 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/04/3104/4/gate_3024 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ 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-3_1_0_4-4 ++ CONTRAIL_CONTAINER_TAG=master-3_1_0_4-4 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ export GERRIT_PIPELINE=gate ++ GERRIT_PIPELINE=gate ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I06b185563eba9c9295e9613a374cb97350a04bb0 ++ GERRIT_CHANGE_ID=I06b185563eba9c9295e9613a374cb97350a04bb0 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-vrouter ++ GERRIT_PROJECT=opensdn-io/tf-vrouter ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest ++ export BASE_BUILD_ID_LIST= ++ BASE_BUILD_ID_LIST= + ./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/jenkins9169145148516769870.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-os/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-gate-3024 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-gate-3024 ++ 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/04/3104/4/gate_3024 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/04/3104/4/gate_3024 ++ 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-3_1_0_4-4 ++ CONTRAIL_CONTAINER_TAG=master-3_1_0_4-4 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 ++ export CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ DEPLOYER_CONTAINER_REGISTRY_ORIGINAL=nexus.gz1.opensdn.io:5101 ++ export CONTRAIL_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-3_1_0_4-4 ++ export GERRIT_PIPELINE=gate ++ GERRIT_PIPELINE=gate ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I06b185563eba9c9295e9613a374cb97350a04bb0 ++ GERRIT_CHANGE_ID=I06b185563eba9c9295e9613a374cb97350a04bb0 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-vrouter ++ GERRIT_PROJECT=opensdn-io/tf-vrouter ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest ++ export BASE_BUILD_ID_LIST= ++ BASE_BUILD_ID_LIST= + 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 ++ export AVAILABILITY_ZONE=PA2 ++ AVAILABILITY_ZONE=PA2 ++ 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' ['ROCKY93']='rocky' ['ROCKY94']='rocky' ['ROCKY95']='rocky' ['ROCKY96']='rocky') ++ declare -A OS_IMAGE_USERS ++ OS_IMAGES_UP=(['CENTOS7']='centos' ['CENTOS8']='centos' ['UBUNTU20']='ubuntu' ['UBUNTU22']='ubuntu' ['UBUNTU24']='ubuntu' ['ROCKY9']='rocky' ['ROCKY92']='rocky' ['ROCKY93']='rocky' ['ROCKY94']='rocky' ['ROCKY95']='rocky' ['ROCKY96']='rocky') ++ declare -A OS_IMAGES_UP ++ OS_IMAGES_DOWN=(['CENTOS7']='' ['CENTOS8']='' ['UBUNTU20']='' ['UBUNTU22']='' ['UBUNTU24']='' ['ROCKY9']='' ['ROCKY92']='' ['ROCKY93']='' ['ROCKY94']='' ['ROCKY95']='' ['ROCKY96']='') ++ 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.93366.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=23e25add-3741-422d-aa44-850e875414f4, ++ INSTANCE_IDS=23e25add-3741-422d-aa44-850e875414f4, ++ export instance_ip=10.0.0.38 ++ instance_ip=10.0.0.38 ++ export CONTROLLER_NODES=10.0.0.38, ++ CONTROLLER_NODES=10.0.0.38, ++ export CONTROL_NODES=10.20.0.25, ++ CONTROL_NODES=10.20.0.25, ++ 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.93366.env ++ export OPENSTACK_VERSION=2025.1 ++ OPENSTACK_VERSION=2025.1 ++ 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/04/3104/4/gate_3024/ansible-os + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/04/3104/4/gate_3024/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.38' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.38' (ECDSA) to the list of known hosts. INFO: =================== Fri Oct 23 14:04:26 UTC 2026 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Fri Oct 23 14:04:26 UTC 2026 Skipping stage machines because it's finished INFO: Stage machines was run successfully Fri Oct 23 14:04:26 UTC 2026 INFO: Running stage k8s at Fri Oct 23 14:04:26 UTC 2026 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Fri Oct 23 14:04:26 UTC 2026 INFO: Running stage openstack at Fri Oct 23 14:04:26 UTC 2026 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Fri Oct 23 14:04:26 UTC 2026 INFO: Running stage tf at Fri Oct 23 14:04:26 UTC 2026 [WARNING]: log file at /var/log/ansible.log is not writeable and we cannot create it, aborting [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' [DEPRECATION WARNING]: Specifying a list of dictionaries for vars is deprecated in favor of specifying a dictionary. Error occurred in the file: /home/ubuntu/tf-ansible-deployer/playbooks/install_opensdn.yml, line: 43. This feature will be removed in version 2.18. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. [DEPRECATION WARNING]: Specifying a list of dictionaries for vars is deprecated in favor of specifying a dictionary. Error occurred in the file: /home/ubuntu/tf-ansible-deployer/playbooks/install_opensdn.yml, line: 61. This feature will be removed in version 2.18. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. [DEPRECATION WARNING]: Specifying a list of dictionaries for vars is deprecated in favor of specifying a dictionary. Error occurred in the file: /home/ubuntu/tf-ansible-deployer/playbooks/install_opensdn.yml, line: 76. This feature will be removed in version 2.18. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. [DEPRECATION WARNING]: Specifying a list of dictionaries for vars is deprecated in favor of specifying a dictionary. Error occurred in the file: /home/ubuntu/tf-ansible-deployer/playbooks/install_opensdn.yml, line: 103. This feature will be removed in version 2.18. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. [WARNING]: Found variable using reserved name: roles Using /home/ubuntu/tf-ansible-deployer/ansible.cfg as config file 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_38": {"ip": "10.0.0.38", "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/yum9/latest/k8s/", "REGISTRY_PRIVATE_INSECURE": true, "SITE_MIRROR": "http://nexus.gz1.opensdn.io/repository/external-web-cache"}}, "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] ****************************** changed: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "host_vars": {"ansible_become": true, "ansible_ssh_pass": "", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_38", "private_ip": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": true, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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] ****************************** changed: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "host_vars": {"ansible_become": true, "ansible_ssh_private_key_file": "/home/ubuntu/.ssh/id_rsa", "ansible_user": "ubuntu", "instance_name": "node_10_0_0_38", "private_ip": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": true, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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_38', 'value': {'ip': '10.0.0.38', '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.38"]}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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-3_1_0_4-4"}, "changed": false} TASK [opensdn_deployer : set registry if defined] ****************************** ok: [localhost] => {"ansible_facts": {"container_registry": "nexus.gz1.opensdn.io:5101"}, "changed": false} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"roles": {}}, "changed": false} TASK [opensdn_deployer : add roles if defined] ********************************* ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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_38": {"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_38", "value": {"ip": "10.0.0.38", "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.38", "opencontrail_collector_ip": "10.0.0.38"}, "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-3_1_0_4-4", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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-3_1_0_4-4", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38']}) => {"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.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.38']}) => {"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.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.38']}) => {"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.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "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.38"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.38']}) => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.38"]}} TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"AAA_MODE": "rbac", "ANALYTICSDB_ENABLE": false, "ANALYTICSDB_NODES": "10.0.0.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "changed": false} TASK [opensdn_deployer : check analyticsdb presence] *************************** ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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.38", "ANALYTICS_ALARM_ENABLE": false, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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.38", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": false, "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => (item={'key': 'node_10_0_0_38', 'value': {'ip': '10.0.0.38', '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.38", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.38", "ANALYTICS_NODES": "10.0.0.38", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.38", "AUTH_MODE": "keystone", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "openstack", "CONFIGDB_NODES": "10.0.0.38", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.38", "CONTRAIL_CONTAINER_TAG": "master-3_1_0_4-4", "CONTROLLER_NODES": "10.0.0.38", "CONTROL_NODES": "10.20.0.25", "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": "2025.1", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.38"}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_38", "value": {"ip": "10.0.0.38", "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.38"}, "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 )] ************************ [WARNING]: Platform linux on host 10.0.0.38 is using the discovered Python interpreter at /usr/bin/python3.10, but future installation of another Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible- core/2.17/reference_appendices/interpreter_discovery.html for more information. TASK [Gathering Facts] ********************************************************* ok: [10.0.0.38] PLAY [Remove opensdn from Deleted Nodes ( Cleanup )] *************************** skipping: no hosts matched PLAY [Install opensdn] ********************************************************* TASK [Gathering Facts] ********************************************************* ok: [10.0.0.38] TASK [opensdn : set instance data] ********************************************* ok: [10.0.0.38] => {"ansible_facts": {"instance_data": {"ip": "10.0.0.38", "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.38] => {"ansible_facts": {"instance_name": "node_10_0_0_38"}, "changed": false} TASK [opensdn : run common tasks] ********************************************** included: /home/ubuntu/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for 10.0.0.38 TASK [opensdn : create /var/log/contrail] ************************************** changed: [10.0.0.38] => {"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.38] => {"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.38] => {"changed": true, "checksum": "668ba6d5e418856a50685ebc320ae20a4e2631b9", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "853115bf3e358551d70fa6bcc2acb434", "mode": "0640", "owner": "root", "size": 1024, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764282.5499792-47924-63972983093007/.source.env", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [10.0.0.38] => {"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-1792764283.5686145-48027-271760682234810/.source.env", "state": "file", "uid": 0} [DEPRECATION WARNING]: community.docker.docker_compose has been deprecated. This module uses docker-compose v1, which is End of Life since July 2022. Please migrate to community.docker.docker_compose_v2. This feature will be removed from community.docker in version 4.0.0. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. TASK [create redis] ************************************************************ included: opensdn_redis for 10.0.0.38 => (item=update_images) included: opensdn_redis for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_redis : update contrail redis image: 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.38] => (item=opensdn-external-redis) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-3_1_0_4-4", "delta": "0:00:06.811614", "end": "2026-10-23 14:04:51.462724", "item": "opensdn-external-redis", "msg": "", "rc": 0, "start": "2026-10-23 14:04:44.651110", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-redis\nfaef57eae888: Pulling fs layer\nbb595d48e52d: Pulling fs layer\nd479b54c3bb2: Pulling fs layer\nf1b700c31442: Pulling fs layer\nb96556682ce1: Pulling fs layer\n0df3a9e3510c: Pulling fs layer\nd7c866829235: Pulling fs layer\nfbb8e7a6794a: Pulling fs layer\nf2209bd174d7: Pulling fs layer\nd1290b3ac36f: Pulling fs layer\nfbb8e7a6794a: Waiting\nf2209bd174d7: Waiting\nd1290b3ac36f: Waiting\nb96556682ce1: Waiting\n0df3a9e3510c: Waiting\nf1b700c31442: Waiting\nd7c866829235: Waiting\nbb595d48e52d: Download complete\nd479b54c3bb2: Download complete\nb96556682ce1: Verifying Checksum\nb96556682ce1: Download complete\n0df3a9e3510c: Download complete\nd7c866829235: Verifying Checksum\nd7c866829235: Download complete\nf1b700c31442: Download complete\nfbb8e7a6794a: Download complete\nf2209bd174d7: Download complete\nfaef57eae888: Verifying Checksum\nfaef57eae888: Download complete\nd1290b3ac36f: Verifying Checksum\nd1290b3ac36f: Download complete\nfaef57eae888: Pull complete\nbb595d48e52d: Pull complete\nd479b54c3bb2: Pull complete\nf1b700c31442: Pull complete\nb96556682ce1: Pull complete\n0df3a9e3510c: Pull complete\nd7c866829235: Pull complete\nfbb8e7a6794a: Pull complete\nf2209bd174d7: Pull complete\nd1290b3ac36f: Pull complete\nDigest: sha256:f093df8d91bb50b87ad369e01a6bafdb2463d3942506d75f6dbe76b2aa109d17\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-redis:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-redis", "faef57eae888: Pulling fs layer", "bb595d48e52d: Pulling fs layer", "d479b54c3bb2: Pulling fs layer", "f1b700c31442: Pulling fs layer", "b96556682ce1: Pulling fs layer", "0df3a9e3510c: Pulling fs layer", "d7c866829235: Pulling fs layer", "fbb8e7a6794a: Pulling fs layer", "f2209bd174d7: Pulling fs layer", "d1290b3ac36f: Pulling fs layer", "fbb8e7a6794a: Waiting", "f2209bd174d7: Waiting", "d1290b3ac36f: Waiting", "b96556682ce1: Waiting", "0df3a9e3510c: Waiting", "f1b700c31442: Waiting", "d7c866829235: Waiting", "bb595d48e52d: Download complete", "d479b54c3bb2: Download complete", "b96556682ce1: Verifying Checksum", "b96556682ce1: Download complete", "0df3a9e3510c: Download complete", "d7c866829235: Verifying Checksum", "d7c866829235: Download complete", "f1b700c31442: Download complete", "fbb8e7a6794a: Download complete", "f2209bd174d7: Download complete", "faef57eae888: Verifying Checksum", "faef57eae888: Download complete", "d1290b3ac36f: Verifying Checksum", "d1290b3ac36f: Download complete", "faef57eae888: Pull complete", "bb595d48e52d: Pull complete", "d479b54c3bb2: Pull complete", "f1b700c31442: Pull complete", "b96556682ce1: Pull complete", "0df3a9e3510c: Pull complete", "d7c866829235: Pull complete", "fbb8e7a6794a: Pull complete", "f2209bd174d7: Pull complete", "d1290b3ac36f: Pull complete", "Digest: sha256:f093df8d91bb50b87ad369e01a6bafdb2463d3942506d75f6dbe76b2aa109d17", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-external-stunnel) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-3_1_0_4-4", "delta": "0:00:01.124694", "end": "2026-10-23 14:04:52.968227", "item": "opensdn-external-stunnel", "msg": "", "rc": 0, "start": "2026-10-23 14:04:51.843533", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-stunnel\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\ne848ef24a7ed: Pulling fs layer\n4830732b6a6d: Pulling fs layer\ne848ef24a7ed: Download complete\ne848ef24a7ed: Pull complete\n4830732b6a6d: Download complete\n4830732b6a6d: Pull complete\nDigest: sha256:84e7244ba9e2030195bd7dffd536c2d7c22a0c1486ddca7f5fa10f953f86ea94\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-stunnel", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "e848ef24a7ed: Pulling fs layer", "4830732b6a6d: Pulling fs layer", "e848ef24a7ed: Download complete", "e848ef24a7ed: Pull complete", "4830732b6a6d: Download complete", "4830732b6a6d: Pull complete", "Digest: sha256:84e7244ba9e2030195bd7dffd536c2d7c22a0c1486ddca7f5fa10f953f86ea94", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-stunnel:master-3_1_0_4-4"]} TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [10.0.0.38] => {"changed": true, "checksum": "105af652d6b2167a35b66f0b1e4e71941972807d", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "ea94c57ce7d6c712001cad011db54973", "mode": "0644", "owner": "root", "size": 198, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764294.2992167-48447-157762865745584/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_redis : start redis] ********************************************* changed: [10.0.0.38] => {"changed": true, "services": {"redis": {"redis_redis_1": {"cmd": ["redis-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-redis:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "42a9810f8058960857a438ed44b291232e3d5e0a1b2500616e482927322b125a", "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-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail config database] ***************************************** included: opensdn_config_database for 10.0.0.38 => (item=update_images) included: opensdn_config_database for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_config_database : update contrail config_database image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:08.513977", "end": "2026-10-23 14:05:06.094728", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:04:57.580751", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Pulling fs layer\ne99e004e446e: Pulling fs layer\n4598c931a7e5: Pulling fs layer\n375d7dd2e835: Pulling fs layer\ncb6a4e93b25b: Pulling fs layer\n43219694e9ca: Pulling fs layer\n375d7dd2e835: Waiting\ncb6a4e93b25b: Waiting\n43219694e9ca: Waiting\n4598c931a7e5: Download complete\nd34695ddc246: Download complete\ne99e004e446e: Verifying Checksum\ne99e004e446e: Download complete\ncb6a4e93b25b: Download complete\n43219694e9ca: Download complete\nd34695ddc246: Pull complete\ne99e004e446e: Pull complete\n4598c931a7e5: Pull complete\n375d7dd2e835: Verifying Checksum\n375d7dd2e835: Download complete\n375d7dd2e835: Pull complete\ncb6a4e93b25b: Pull complete\n43219694e9ca: Pull complete\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Pulling fs layer", "e99e004e446e: Pulling fs layer", "4598c931a7e5: Pulling fs layer", "375d7dd2e835: Pulling fs layer", "cb6a4e93b25b: Pulling fs layer", "43219694e9ca: Pulling fs layer", "375d7dd2e835: Waiting", "cb6a4e93b25b: Waiting", "43219694e9ca: Waiting", "4598c931a7e5: Download complete", "d34695ddc246: Download complete", "e99e004e446e: Verifying Checksum", "e99e004e446e: Download complete", "cb6a4e93b25b: Download complete", "43219694e9ca: Download complete", "d34695ddc246: Pull complete", "e99e004e446e: Pull complete", "4598c931a7e5: Pull complete", "375d7dd2e835: Verifying Checksum", "375d7dd2e835: Download complete", "375d7dd2e835: Pull complete", "cb6a4e93b25b: Pull complete", "43219694e9ca: Pull complete", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:04.875897", "end": "2026-10-23 14:05:11.541890", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:05:06.665993", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n1e4b1dbfac8d: Pulling fs layer\nd0e3ff0d0704: Pulling fs layer\nd0e3ff0d0704: Download complete\n1e4b1dbfac8d: Verifying Checksum\n1e4b1dbfac8d: Download complete\n1e4b1dbfac8d: Pull complete\nd0e3ff0d0704: Pull complete\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "1e4b1dbfac8d: Pulling fs layer", "d0e3ff0d0704: Pulling fs layer", "d0e3ff0d0704: Download complete", "1e4b1dbfac8d: Verifying Checksum", "1e4b1dbfac8d: Download complete", "1e4b1dbfac8d: Pull complete", "d0e3ff0d0704: Pull complete", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "delta": "0:00:10.053068", "end": "2026-10-23 14:05:22.024972", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-10-23 14:05:11.971904", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-cassandra\n63e5bc7682b8: Pulling fs layer\n7e27b670a0f5: Pulling fs layer\n5d42da29b261: Pulling fs layer\nfa94125d190e: Pulling fs layer\nc53675a133c6: Pulling fs layer\n0497a703e222: Pulling fs layer\n5a2e2c2fe7e2: Pulling fs layer\nbf175d9fcc0a: Pulling fs layer\n9aca2daeac75: Pulling fs layer\nc39795272d2d: Pulling fs layer\nc5ca755942a5: Pulling fs layer\nc53675a133c6: Waiting\ne3c0715d2087: Pulling fs layer\n8cdc8bf16c7b: Pulling fs layer\n915f2887c11a: Pulling fs layer\n0497a703e222: Waiting\naef1dabf589d: Pulling fs layer\n5a2e2c2fe7e2: Waiting\nbf175d9fcc0a: Waiting\n8cdc8bf16c7b: Waiting\n9aca2daeac75: Waiting\n915f2887c11a: Waiting\nc39795272d2d: Waiting\naef1dabf589d: Waiting\nc5ca755942a5: Waiting\ne3c0715d2087: Waiting\nfa94125d190e: Waiting\n7e27b670a0f5: Verifying Checksum\n7e27b670a0f5: Download complete\nfa94125d190e: Download complete\nc53675a133c6: Download complete\n0497a703e222: Download complete\n63e5bc7682b8: Verifying Checksum\n63e5bc7682b8: Download complete\nbf175d9fcc0a: Download complete\n5a2e2c2fe7e2: Verifying Checksum\n5a2e2c2fe7e2: Download complete\nc39795272d2d: Download complete\n5d42da29b261: Verifying Checksum\n5d42da29b261: Download complete\ne3c0715d2087: Verifying Checksum\ne3c0715d2087: Download complete\nc5ca755942a5: Verifying Checksum\nc5ca755942a5: Download complete\n8cdc8bf16c7b: Verifying Checksum\n8cdc8bf16c7b: Download complete\n915f2887c11a: Verifying Checksum\n915f2887c11a: Download complete\naef1dabf589d: Verifying Checksum\naef1dabf589d: Download complete\n9aca2daeac75: Verifying Checksum\n9aca2daeac75: Download complete\n63e5bc7682b8: Pull complete\n7e27b670a0f5: Pull complete\n5d42da29b261: Pull complete\nfa94125d190e: Pull complete\nc53675a133c6: Pull complete\n0497a703e222: Pull complete\n5a2e2c2fe7e2: Pull complete\nbf175d9fcc0a: Pull complete\n9aca2daeac75: Pull complete\nc39795272d2d: Pull complete\nc5ca755942a5: Pull complete\ne3c0715d2087: Pull complete\n8cdc8bf16c7b: Pull complete\n915f2887c11a: Pull complete\naef1dabf589d: Pull complete\nDigest: sha256:11d38f2307db4fa620dd7d61a4e2a0a922e200272c303faa27a27bf2516bc29a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-cassandra", "63e5bc7682b8: Pulling fs layer", "7e27b670a0f5: Pulling fs layer", "5d42da29b261: Pulling fs layer", "fa94125d190e: Pulling fs layer", "c53675a133c6: Pulling fs layer", "0497a703e222: Pulling fs layer", "5a2e2c2fe7e2: Pulling fs layer", "bf175d9fcc0a: Pulling fs layer", "9aca2daeac75: Pulling fs layer", "c39795272d2d: Pulling fs layer", "c5ca755942a5: Pulling fs layer", "c53675a133c6: Waiting", "e3c0715d2087: Pulling fs layer", "8cdc8bf16c7b: Pulling fs layer", "915f2887c11a: Pulling fs layer", "0497a703e222: Waiting", "aef1dabf589d: Pulling fs layer", "5a2e2c2fe7e2: Waiting", "bf175d9fcc0a: Waiting", "8cdc8bf16c7b: Waiting", "9aca2daeac75: Waiting", "915f2887c11a: Waiting", "c39795272d2d: Waiting", "aef1dabf589d: Waiting", "c5ca755942a5: Waiting", "e3c0715d2087: Waiting", "fa94125d190e: Waiting", "7e27b670a0f5: Verifying Checksum", "7e27b670a0f5: Download complete", "fa94125d190e: Download complete", "c53675a133c6: Download complete", "0497a703e222: Download complete", "63e5bc7682b8: Verifying Checksum", "63e5bc7682b8: Download complete", "bf175d9fcc0a: Download complete", "5a2e2c2fe7e2: Verifying Checksum", "5a2e2c2fe7e2: Download complete", "c39795272d2d: Download complete", "5d42da29b261: Verifying Checksum", "5d42da29b261: Download complete", "e3c0715d2087: Verifying Checksum", "e3c0715d2087: Download complete", "c5ca755942a5: Verifying Checksum", "c5ca755942a5: Download complete", "8cdc8bf16c7b: Verifying Checksum", "8cdc8bf16c7b: Download complete", "915f2887c11a: Verifying Checksum", "915f2887c11a: Download complete", "aef1dabf589d: Verifying Checksum", "aef1dabf589d: Download complete", "9aca2daeac75: Verifying Checksum", "9aca2daeac75: Download complete", "63e5bc7682b8: Pull complete", "7e27b670a0f5: Pull complete", "5d42da29b261: Pull complete", "fa94125d190e: Pull complete", "c53675a133c6: Pull complete", "0497a703e222: Pull complete", "5a2e2c2fe7e2: Pull complete", "bf175d9fcc0a: Pull complete", "9aca2daeac75: Pull complete", "c39795272d2d: Pull complete", "c5ca755942a5: Pull complete", "e3c0715d2087: Pull complete", "8cdc8bf16c7b: Pull complete", "915f2887c11a: Pull complete", "aef1dabf589d: Pull complete", "Digest: sha256:11d38f2307db4fa620dd7d61a4e2a0a922e200272c303faa27a27bf2516bc29a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-external-zookeeper) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-3_1_0_4-4", "delta": "0:00:12.991904", "end": "2026-10-23 14:05:35.464529", "item": "opensdn-external-zookeeper", "msg": "", "rc": 0, "start": "2026-10-23 14:05:22.472625", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-zookeeper\na54e44c5bcc6: Pulling fs layer\nffd29860ca71: Pulling fs layer\n67ea9076d8f2: Pulling fs layer\n73b1cfb2d960: Pulling fs layer\n0a7d72162cd6: Pulling fs layer\n3db357c1caf1: Pulling fs layer\n0a8d27cbec89: Pulling fs layer\nfaf4fdb0f4ce: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n73b1cfb2d960: Waiting\nff1a4b7b7ac0: Pulling fs layer\n89b98d74adbc: Pulling fs layer\n65a0b1885fd8: Pulling fs layer\n3db357c1caf1: Waiting\n0bc29df871c3: Pulling fs layer\n0a8d27cbec89: Waiting\nfaf4fdb0f4ce: Waiting\n0a7d72162cd6: Waiting\na0f3508c88ff: Pulling fs layer\n4f4fb700ef54: Waiting\nff1a4b7b7ac0: Waiting\n89b98d74adbc: Waiting\n65a0b1885fd8: Waiting\na0f3508c88ff: Waiting\n0bc29df871c3: Waiting\nffd29860ca71: Verifying Checksum\nffd29860ca71: Download complete\n73b1cfb2d960: Verifying Checksum\n73b1cfb2d960: Download complete\n0a7d72162cd6: Verifying Checksum\n0a7d72162cd6: Download complete\n3db357c1caf1: Verifying Checksum\n3db357c1caf1: Download complete\na54e44c5bcc6: Download complete\n0a8d27cbec89: Verifying Checksum\n0a8d27cbec89: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\nff1a4b7b7ac0: Verifying Checksum\nff1a4b7b7ac0: Download complete\n89b98d74adbc: Download complete\n67ea9076d8f2: Verifying Checksum\n67ea9076d8f2: Download complete\n65a0b1885fd8: Verifying Checksum\n65a0b1885fd8: Download complete\n0bc29df871c3: Download complete\nfaf4fdb0f4ce: Verifying Checksum\nfaf4fdb0f4ce: Download complete\na0f3508c88ff: Verifying Checksum\na0f3508c88ff: Download complete\na54e44c5bcc6: Pull complete\nffd29860ca71: Pull complete\n67ea9076d8f2: Pull complete\n73b1cfb2d960: Pull complete\n0a7d72162cd6: Pull complete\n3db357c1caf1: Pull complete\n0a8d27cbec89: Pull complete\nfaf4fdb0f4ce: Pull complete\n4f4fb700ef54: Pull complete\nff1a4b7b7ac0: Pull complete\n89b98d74adbc: Pull complete\n65a0b1885fd8: Pull complete\n0bc29df871c3: Pull complete\na0f3508c88ff: Pull complete\nDigest: sha256:dad600785e511ec51c02bac383b34d8176d7f782a256037e3f20d0e781f9fcc8\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-zookeeper", "a54e44c5bcc6: Pulling fs layer", "ffd29860ca71: Pulling fs layer", "67ea9076d8f2: Pulling fs layer", "73b1cfb2d960: Pulling fs layer", "0a7d72162cd6: Pulling fs layer", "3db357c1caf1: Pulling fs layer", "0a8d27cbec89: Pulling fs layer", "faf4fdb0f4ce: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "73b1cfb2d960: Waiting", "ff1a4b7b7ac0: Pulling fs layer", "89b98d74adbc: Pulling fs layer", "65a0b1885fd8: Pulling fs layer", "3db357c1caf1: Waiting", "0bc29df871c3: Pulling fs layer", "0a8d27cbec89: Waiting", "faf4fdb0f4ce: Waiting", "0a7d72162cd6: Waiting", "a0f3508c88ff: Pulling fs layer", "4f4fb700ef54: Waiting", "ff1a4b7b7ac0: Waiting", "89b98d74adbc: Waiting", "65a0b1885fd8: Waiting", "a0f3508c88ff: Waiting", "0bc29df871c3: Waiting", "ffd29860ca71: Verifying Checksum", "ffd29860ca71: Download complete", "73b1cfb2d960: Verifying Checksum", "73b1cfb2d960: Download complete", "0a7d72162cd6: Verifying Checksum", "0a7d72162cd6: Download complete", "3db357c1caf1: Verifying Checksum", "3db357c1caf1: Download complete", "a54e44c5bcc6: Download complete", "0a8d27cbec89: Verifying Checksum", "0a8d27cbec89: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "ff1a4b7b7ac0: Verifying Checksum", "ff1a4b7b7ac0: Download complete", "89b98d74adbc: Download complete", "67ea9076d8f2: Verifying Checksum", "67ea9076d8f2: Download complete", "65a0b1885fd8: Verifying Checksum", "65a0b1885fd8: Download complete", "0bc29df871c3: Download complete", "faf4fdb0f4ce: Verifying Checksum", "faf4fdb0f4ce: Download complete", "a0f3508c88ff: Verifying Checksum", "a0f3508c88ff: Download complete", "a54e44c5bcc6: Pull complete", "ffd29860ca71: Pull complete", "67ea9076d8f2: Pull complete", "73b1cfb2d960: Pull complete", "0a7d72162cd6: Pull complete", "3db357c1caf1: Pull complete", "0a8d27cbec89: Pull complete", "faf4fdb0f4ce: Pull complete", "4f4fb700ef54: Pull complete", "ff1a4b7b7ac0: Pull complete", "89b98d74adbc: Pull complete", "65a0b1885fd8: Pull complete", "0bc29df871c3: Pull complete", "a0f3508c88ff: Pull complete", "Digest: sha256:dad600785e511ec51c02bac383b34d8176d7f782a256037e3f20d0e781f9fcc8", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-external-rabbitmq) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-3_1_0_4-4", "delta": "0:00:13.508852", "end": "2026-10-23 14:05:49.472282", "item": "opensdn-external-rabbitmq", "msg": "", "rc": 0, "start": "2026-10-23 14:05:35.963430", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-rabbitmq\n675920708c8b: Pulling fs layer\ne08fdafa88ce: Pulling fs layer\n92e5ca28c20e: Pulling fs layer\ne7add638ac41: Pulling fs layer\nc47c3bedb477: Pulling fs layer\n2d0a461f4591: Pulling fs layer\n027715895e8b: Pulling fs layer\n78c707bc7c70: Pulling fs layer\n6e8aae77390d: Pulling fs layer\na49b9cb023b6: Pulling fs layer\n9eb880a8d73e: Pulling fs layer\n0a3f524d51b4: Pulling fs layer\nd33c5e1f0a5b: Pulling fs layer\ne7add638ac41: Waiting\n78c707bc7c70: Waiting\nc47c3bedb477: Waiting\n6e8aae77390d: Waiting\n2d0a461f4591: Waiting\na49b9cb023b6: Waiting\n027715895e8b: Waiting\n9eb880a8d73e: Waiting\n0a3f524d51b4: Waiting\nd33c5e1f0a5b: 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\nc47c3bedb477: Verifying Checksum\nc47c3bedb477: Download complete\n027715895e8b: Download complete\n78c707bc7c70: Download complete\n6e8aae77390d: Verifying Checksum\n6e8aae77390d: Download complete\n9eb880a8d73e: Verifying Checksum\n9eb880a8d73e: Download complete\n0a3f524d51b4: Verifying Checksum\n0a3f524d51b4: Download complete\n92e5ca28c20e: Verifying Checksum\n92e5ca28c20e: Download complete\na49b9cb023b6: Verifying Checksum\na49b9cb023b6: Download complete\nd33c5e1f0a5b: Verifying Checksum\nd33c5e1f0a5b: 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\n9eb880a8d73e: Pull complete\n0a3f524d51b4: Pull complete\nd33c5e1f0a5b: Pull complete\nDigest: sha256:e6b87b771eb5a28e825c026c72a3101b220413871a85c41bf616614db1b68034\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-rabbitmq", "675920708c8b: Pulling fs layer", "e08fdafa88ce: Pulling fs layer", "92e5ca28c20e: Pulling fs layer", "e7add638ac41: Pulling fs layer", "c47c3bedb477: Pulling fs layer", "2d0a461f4591: Pulling fs layer", "027715895e8b: Pulling fs layer", "78c707bc7c70: Pulling fs layer", "6e8aae77390d: Pulling fs layer", "a49b9cb023b6: Pulling fs layer", "9eb880a8d73e: Pulling fs layer", "0a3f524d51b4: Pulling fs layer", "d33c5e1f0a5b: Pulling fs layer", "e7add638ac41: Waiting", "78c707bc7c70: Waiting", "c47c3bedb477: Waiting", "6e8aae77390d: Waiting", "2d0a461f4591: Waiting", "a49b9cb023b6: Waiting", "027715895e8b: Waiting", "9eb880a8d73e: Waiting", "0a3f524d51b4: Waiting", "d33c5e1f0a5b: 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", "c47c3bedb477: Verifying Checksum", "c47c3bedb477: Download complete", "027715895e8b: Download complete", "78c707bc7c70: Download complete", "6e8aae77390d: Verifying Checksum", "6e8aae77390d: Download complete", "9eb880a8d73e: Verifying Checksum", "9eb880a8d73e: Download complete", "0a3f524d51b4: Verifying Checksum", "0a3f524d51b4: Download complete", "92e5ca28c20e: Verifying Checksum", "92e5ca28c20e: Download complete", "a49b9cb023b6: Verifying Checksum", "a49b9cb023b6: Download complete", "d33c5e1f0a5b: Verifying Checksum", "d33c5e1f0a5b: 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", "9eb880a8d73e: Pull complete", "0a3f524d51b4: Pull complete", "d33c5e1f0a5b: Pull complete", "Digest: sha256:e6b87b771eb5a28e825c026c72a3101b220413871a85c41bf616614db1b68034", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.413070", "end": "2026-10-23 14:05:50.387306", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:05:49.974236", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n92b1df752f12: Pulling fs layer\n92b1df752f12: Verifying Checksum\n92b1df752f12: Download complete\n92b1df752f12: Pull complete\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "92b1df752f12: Pulling fs layer", "92b1df752f12: Verifying Checksum", "92b1df752f12: Download complete", "92b1df752f12: Pull complete", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_config_database : create /etc/contrail/config_database] ********** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"cassandra_seeds": "10.0.0.38"}, "changed": false} TASK [opensdn_config_database : set zookeeper nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.38] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.38"}, "changed": false} TASK [opensdn_config_database : set rabbit nodes to CONFIGDB_NODES if defined] *** ok: [10.0.0.38] => {"ansible_facts": {"rabbitmq_nodes": "10.0.0.38"}, "changed": false} TASK [opensdn_config_database : Set variables for reaper tool] ***************** ok: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config_database : create /etc/contrail/common_config_database.env] *** changed: [10.0.0.38] => {"changed": true, "dest": "/etc/contrail/common_config_database.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0} [WARNING]: TASK: opensdn_config_database : populate global common_config_database.env: 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.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "a7f8e67efc83c160174d4ddceaff7bd1528a60f0", "dest": "/etc/contrail/config_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "a6af3ee8c33edc9dbf5e6c02b26f18de", "mode": "0644", "owner": "root", "size": 4019, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764370.2607956-51167-207419107924525/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_config_database : start contrail config database] **************** changed: [10.0.0.38] => {"changed": true, "services": {"cassandra": {"config_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "d4826a59a488ffa107b6d6c8c117f57a94a4cb37f97f7e3bc9cc1b46f43f31a9", "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", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "22.04", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "d611e83d1d56cc256153a6bf07039686d460803b7a571ca4b23261fa8c8a8006", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "e1211f1ccaa4b91a2d33f0fc84290936e9776a755fb74b1ed324a8787f1de1cd", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "rabbitmq": {"config_database_rabbitmq_1": {"cmd": ["rabbitmq-server"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-rabbitmq:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "c048b1ea0536fb3c65ac3a5fa8a846260c7b34dcb3854296341cb69468799c7c", "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-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "zookeeper": {"config_database_zookeeper_1": {"cmd": ["zkServer.sh", "start-foreground"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-zookeeper:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "2d4d007f132bb21913d98e8d38667584c6a1086abc660d99056946c14fae0978", "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", "org.opencontainers.image.version": "22.04", "release": "5.1.0", "summary": "Contrail Zookeeper", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail config] ************************************************** included: opensdn_config for 10.0.0.38 => (item=update_images) included: opensdn_config for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_config : update contrail config image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.166074", "end": "2026-10-23 14:06:15.692071", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:06:15.525997", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.170477", "end": "2026-10-23 14:06:16.331299", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:06:16.160822", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:01.812292", "end": "2026-10-23 14:06:18.622942", "item": "opensdn-controller-config-api", "msg": "", "rc": 0, "start": "2026-10-23 14:06:16.810650", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-config-api\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n7d37cf651ae7: Pulling fs layer\nb80ca87c4617: Pulling fs layer\nc0ccaacd5be6: Pulling fs layer\n7d37cf651ae7: Verifying Checksum\n7d37cf651ae7: Download complete\nb80ca87c4617: Verifying Checksum\nb80ca87c4617: Download complete\n7d37cf651ae7: Pull complete\nc0ccaacd5be6: Verifying Checksum\nc0ccaacd5be6: Download complete\nb80ca87c4617: Pull complete\nc0ccaacd5be6: Pull complete\nDigest: sha256:91065bbbb911fa261678af42fa57a280920e6a69b40ae85e4c480d01032df8a2\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-config-api", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "7d37cf651ae7: Pulling fs layer", "b80ca87c4617: Pulling fs layer", "c0ccaacd5be6: Pulling fs layer", "7d37cf651ae7: Verifying Checksum", "7d37cf651ae7: Download complete", "b80ca87c4617: Verifying Checksum", "b80ca87c4617: Download complete", "7d37cf651ae7: Pull complete", "c0ccaacd5be6: Verifying Checksum", "c0ccaacd5be6: Download complete", "b80ca87c4617: Pull complete", "c0ccaacd5be6: Pull complete", "Digest: sha256:91065bbbb911fa261678af42fa57a280920e6a69b40ae85e4c480d01032df8a2", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:02.262239", "end": "2026-10-23 14:06:21.351887", "item": "opensdn-controller-config-svcmonitor", "msg": "", "rc": 0, "start": "2026-10-23 14:06:19.089648", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-config-svcmonitor\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n4dc914c01dd6: Pulling fs layer\n06f7fa478316: Pulling fs layer\n4dc914c01dd6: Verifying Checksum\n4dc914c01dd6: Download complete\n4dc914c01dd6: Pull complete\n06f7fa478316: Verifying Checksum\n06f7fa478316: Download complete\n06f7fa478316: Pull complete\nDigest: sha256:077eec5ee013bdcec7fa209f585ff8a404b4000022f86136d981493dc2aa95aa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-config-svcmonitor", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "4dc914c01dd6: Pulling fs layer", "06f7fa478316: Pulling fs layer", "4dc914c01dd6: Verifying Checksum", "4dc914c01dd6: Download complete", "4dc914c01dd6: Pull complete", "06f7fa478316: Verifying Checksum", "06f7fa478316: Download complete", "06f7fa478316: Pull complete", "Digest: sha256:077eec5ee013bdcec7fa209f585ff8a404b4000022f86136d981493dc2aa95aa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:00.564912", "end": "2026-10-23 14:06:22.377005", "item": "opensdn-controller-config-schema", "msg": "", "rc": 0, "start": "2026-10-23 14:06:21.812093", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-config-schema\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n77c9c24fd39c: Pulling fs layer\na706a27047a0: Pulling fs layer\n77c9c24fd39c: Verifying Checksum\n77c9c24fd39c: Download complete\na706a27047a0: Download complete\n77c9c24fd39c: Pull complete\na706a27047a0: Pull complete\nDigest: sha256:d7dc28d0265c52243d35e56814b19875ef3061ad90684921e010f890ce7df07d\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-config-schema", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "77c9c24fd39c: Pulling fs layer", "a706a27047a0: Pulling fs layer", "77c9c24fd39c: Verifying Checksum", "77c9c24fd39c: Download complete", "a706a27047a0: Download complete", "77c9c24fd39c: Pull complete", "a706a27047a0: Pull complete", "Digest: sha256:d7dc28d0265c52243d35e56814b19875ef3061ad90684921e010f890ce7df07d", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:13.182046", "end": "2026-10-23 14:06:36.169276", "item": "opensdn-controller-config-devicemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:06:22.987230", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-config-devicemgr\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\nac8ef3e8f9b6: Pulling fs layer\n5d97227072ac: Pulling fs layer\n75d036815aed: Pulling fs layer\n75d036815aed: Verifying Checksum\nac8ef3e8f9b6: Download complete\nac8ef3e8f9b6: Pull complete\n5d97227072ac: Verifying Checksum\n5d97227072ac: Download complete\n5d97227072ac: Pull complete\n75d036815aed: Pull complete\nDigest: sha256:c0697321e2a1b87224f22c5bfd2affba4c912d1caed13383b11252d416c2517a\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-config-devicemgr", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "ac8ef3e8f9b6: Pulling fs layer", "5d97227072ac: Pulling fs layer", "75d036815aed: Pulling fs layer", "75d036815aed: Verifying Checksum", "ac8ef3e8f9b6: Download complete", "ac8ef3e8f9b6: Pull complete", "5d97227072ac: Verifying Checksum", "5d97227072ac: Download complete", "5d97227072ac: Pull complete", "75d036815aed: Pull complete", "Digest: sha256:c0697321e2a1b87224f22c5bfd2affba4c912d1caed13383b11252d416c2517a", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:01.333449", "end": "2026-10-23 14:06:37.954513", "item": "opensdn-controller-config-dnsmasq", "msg": "", "rc": 0, "start": "2026-10-23 14:06:36.621064", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-config-dnsmasq\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n8770cb6aba27: Pulling fs layer\n3bc011edc7fa: Pulling fs layer\n5fbfab287799: Pulling fs layer\nb6703a4c59ce: Pulling fs layer\nb6703a4c59ce: Waiting\n8770cb6aba27: Verifying Checksum\n8770cb6aba27: Download complete\n3bc011edc7fa: Verifying Checksum\n3bc011edc7fa: Download complete\n5fbfab287799: Download complete\n8770cb6aba27: Pull complete\nb6703a4c59ce: Verifying Checksum\nb6703a4c59ce: Download complete\n3bc011edc7fa: Pull complete\n5fbfab287799: Pull complete\nb6703a4c59ce: Pull complete\nDigest: sha256:4dd1ba1dad7b23551429e5b7affcea47dff8ec8b5ff71406723949c317b4aac4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-config-dnsmasq", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "8770cb6aba27: Pulling fs layer", "3bc011edc7fa: Pulling fs layer", "5fbfab287799: Pulling fs layer", "b6703a4c59ce: Pulling fs layer", "b6703a4c59ce: Waiting", "8770cb6aba27: Verifying Checksum", "8770cb6aba27: Download complete", "3bc011edc7fa: Verifying Checksum", "3bc011edc7fa: Download complete", "5fbfab287799: Download complete", "8770cb6aba27: Pull complete", "b6703a4c59ce: Verifying Checksum", "b6703a4c59ce: Download complete", "3bc011edc7fa: Pull complete", "5fbfab287799: Pull complete", "b6703a4c59ce: Pull complete", "Digest: sha256:4dd1ba1dad7b23551429e5b7affcea47dff8ec8b5ff71406723949c317b4aac4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.139459", "end": "2026-10-23 14:06:38.447633", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:06:38.308174", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_config : create /etc/contrail/config] **************************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_config : create /etc/contrail/common_config.env] ***************** changed: [10.0.0.38] => {"changed": true, "dest": "/etc/contrail/common_config.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0} [WARNING]: TASK: opensdn_config : populate global common_config.env: 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.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => {"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.38]: 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.38] => {"ansible_facts": {"use_external_tftp": false}, "changed": false} TASK [opensdn_config : check if ironic_pxe is deployed on node] **************** fatal: [10.0.0.38]: FAILED! => {"changed": true, "cmd": "docker inspect ironic_pxe", "delta": "0:00:00.041241", "end": "2026-10-23 14:06:54.617939", "msg": "non-zero return code", "rc": 1, "start": "2026-10-23 14:06:54.576698", "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.38] => {"changed": true, "checksum": "597afe77b4ea5be5918e965a39c79c7b8775ed55", "dest": "/etc/contrail/config/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "59765f81aaa77110b648b53a59b0b21b", "mode": "0644", "owner": "root", "size": 3932, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764414.8858578-54969-274090346938880/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_config : start contrail config] ********************************** changed: [10.0.0.38] => {"changed": true, "services": {"api": {"config_api_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-api:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "5eed9b15f18c881bd1e7dcfa0ecffc72a264fd1f28e8d804b310f95fc032de95", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-config-api", "io.opensdn.pod": "config", "io.opensdn.service": "api", "license": "BSD-3-Clause", "name": "opensdn-controller-config-api", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Controller Configuration API", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "devicemgr": {"config_devicemgr_1": {"cmd": ["/usr/local/bin/contrail-device-manager", "--conf_file", "/etc/contrail/contrail-device-manager.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-devicemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "81f453ed638a91eaa7429e957b2348495ebeb99bafd28411e7472115d376b0ca", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-config-devicemgr", "io.opensdn.pod": "config", "io.opensdn.service": "device-manager", "license": "BSD-3-Clause", "name": "opensdn-controller-config-devicemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Device Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dnsmasq": {"config_dnsmasq_1": {"cmd": ["dnsmasq", "-k", "-p0"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-dnsmasq:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "520c703ae10df0523d16fde6456e4f64be907b7daeba2ef9ad1f746670fa1ac5", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-config-dnsmasq", "io.opensdn.pod": "config", "io.opensdn.service": "dnsmasq", "license": "BSD-3-Clause", "name": "opensdn-controller-config-dnsmasq", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Dnsmasq", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"config_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"config_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "be1130ea9fc850c05156eb96705b30bc0e3da3789290f9b3e6a88314e3f09b96", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"config_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "b04de700fdffeec4a8967b76fbfb4d16cb532e4598eccfae25ca260f0ee8acc4", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "schema": {"config_schema_1": {"cmd": ["/usr/local/bin/contrail-schema", "--conf_file", "/etc/contrail/contrail-schema.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-schema:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "0fd3e570daa4880d5525c55c1e191827ca5810e7786d0513fdd498df0bc0eb41", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-config-schema", "io.opensdn.pod": "config", "io.opensdn.service": "schema", "license": "BSD-3-Clause", "name": "opensdn-controller-config-schema", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail VNC Configuration Schema Transformer", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "svcmonitor": {"config_svcmonitor_1": {"cmd": ["/usr/local/bin/contrail-svc-monitor", "--conf_file", "/etc/contrail/contrail-svc-monitor.conf", "--conf_file", "/etc/contrail/contrail-keystone-auth.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-config-svcmonitor:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "0d91cbc38983dcea00670e9a76740941c414e5d2eeb095e96d2a6b2f7ebe2459", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-config-svcmonitor", "io.opensdn.pod": "config", "io.opensdn.service": "svc-monitor", "license": "BSD-3-Clause", "name": "opensdn-controller-config-svcmonitor", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Service Monitor", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail webui] *************************************************** included: opensdn_webui for 10.0.0.38 => (item=update_images) included: opensdn_webui for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_webui : update contrail webui image: 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.38] => (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-3_1_0_4-4", "delta": "0:00:23.296694", "end": "2026-10-23 14:07:23.376665", "item": "opensdn-controller-webui-web", "msg": "", "rc": 0, "start": "2026-10-23 14:07:00.079971", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-webui-web\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\n9c1271aa1d8d: Pulling fs layer\neb975ba242bf: Pulling fs layer\n2d3d3cf61de2: Pulling fs layer\nb02d9d2a8735: Pulling fs layer\n83e3e8550a27: Pulling fs layer\n0c27a971ba16: Pulling fs layer\nc7c68e582f51: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\nb02d9d2a8735: Waiting\n83e3e8550a27: Waiting\n0c27a971ba16: Waiting\nc7c68e582f51: Waiting\n4f4fb700ef54: Waiting\n9c1271aa1d8d: Verifying Checksum\n9c1271aa1d8d: Download complete\nb02d9d2a8735: Verifying Checksum\nb02d9d2a8735: Download complete\n83e3e8550a27: Verifying Checksum\n83e3e8550a27: Download complete\n0c27a971ba16: Download complete\nc7c68e582f51: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\neb975ba242bf: Verifying Checksum\neb975ba242bf: Download complete\n2d3d3cf61de2: Verifying Checksum\n2d3d3cf61de2: Download complete\n9c1271aa1d8d: Pull complete\neb975ba242bf: Pull complete\n2d3d3cf61de2: Pull complete\nb02d9d2a8735: Pull complete\n83e3e8550a27: Pull complete\n0c27a971ba16: Pull complete\nc7c68e582f51: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:8687bb9016fdf59b710cc32c338987d737dcd77a660443790957aa898ac882aa\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-webui-web", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "9c1271aa1d8d: Pulling fs layer", "eb975ba242bf: Pulling fs layer", "2d3d3cf61de2: Pulling fs layer", "b02d9d2a8735: Pulling fs layer", "83e3e8550a27: Pulling fs layer", "0c27a971ba16: Pulling fs layer", "c7c68e582f51: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "b02d9d2a8735: Waiting", "83e3e8550a27: Waiting", "0c27a971ba16: Waiting", "c7c68e582f51: Waiting", "4f4fb700ef54: Waiting", "9c1271aa1d8d: Verifying Checksum", "9c1271aa1d8d: Download complete", "b02d9d2a8735: Verifying Checksum", "b02d9d2a8735: Download complete", "83e3e8550a27: Verifying Checksum", "83e3e8550a27: Download complete", "0c27a971ba16: Download complete", "c7c68e582f51: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "eb975ba242bf: Verifying Checksum", "eb975ba242bf: Download complete", "2d3d3cf61de2: Verifying Checksum", "2d3d3cf61de2: Download complete", "9c1271aa1d8d: Pull complete", "eb975ba242bf: Pull complete", "2d3d3cf61de2: Pull complete", "b02d9d2a8735: Pull complete", "83e3e8550a27: Pull complete", "0c27a971ba16: Pull complete", "c7c68e582f51: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:8687bb9016fdf59b710cc32c338987d737dcd77a660443790957aa898ac882aa", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:01.976983", "end": "2026-10-23 14:07:25.948023", "item": "opensdn-controller-webui-job", "msg": "", "rc": 0, "start": "2026-10-23 14:07:23.971040", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-webui-job\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\n9c1271aa1d8d: Already exists\neb975ba242bf: Already exists\n2d3d3cf61de2: Already exists\nb02d9d2a8735: Already exists\n83e3e8550a27: Already exists\n0c27a971ba16: Already exists\nc7c68e582f51: Already exists\n4f4fb700ef54: Already exists\nDigest: sha256:6876ec89dc4fd9a353209c63c88c3d141a5c3e94ad12f6012f999a85f49934f4\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-webui-job", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "9c1271aa1d8d: Already exists", "eb975ba242bf: Already exists", "2d3d3cf61de2: Already exists", "b02d9d2a8735: Already exists", "83e3e8550a27: Already exists", "0c27a971ba16: Already exists", "c7c68e582f51: Already exists", "4f4fb700ef54: Already exists", "Digest: sha256:6876ec89dc4fd9a353209c63c88c3d141a5c3e94ad12f6012f999a85f49934f4", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-3_1_0_4-4"]} TASK [opensdn_webui : create /etc/contrail/webui] ****************************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_webui : create /etc/contrail/common_webui.env] ******************* changed: [10.0.0.38] => {"changed": true, "dest": "/etc/contrail/common_webui.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0} [WARNING]: TASK: opensdn_webui : populate cluster wide common_webui.env: 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.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "0cd63b76f59b2c8f82e1b45fa4db8b5dc9cef3d7", "dest": "/etc/contrail/webui/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "b10ed55b58ecb4d06674c53ef7dbc836", "mode": "0644", "owner": "root", "size": 1390, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764463.3418238-58550-164996245973476/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_webui : start contrail webui] ************************************ changed: [10.0.0.38] => {"changed": true, "services": {"job": {"webui_job_1": {"cmd": ["/usr/bin/node", "jobServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-job:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "3626403f7f0aaacfc325207c5172d60d96a7480a6f801a2895dca114abce6c62", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-webui-job", "io.opensdn.pod": "webui", "io.opensdn.service": "job", "license": "BSD-3-Clause", "name": "opensdn-controller-webui-job", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail WEB UI Job", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"webui_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "web": {"webui_web_1": {"cmd": ["/usr/bin/node", "webServerStart.js"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-webui-web:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "61e97ae05c6bbe40b80f1bfa19e194ad9383a547a877144b6a674b685ed39802", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-webui-web", "io.opensdn.pod": "webui", "io.opensdn.service": "web", "license": "BSD-3-Clause", "name": "opensdn-controller-webui-web", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail WEB UI", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail control] ************************************************* included: opensdn_control for 10.0.0.38 => (item=update_images) included: opensdn_control for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_control : update contrail control image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.156738", "end": "2026-10-23 14:07:47.689162", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:07:47.532424", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.147076", "end": "2026-10-23 14:07:48.267765", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:07:48.120689", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:02.811106", "end": "2026-10-23 14:07:51.605801", "item": "opensdn-controller-control-control", "msg": "", "rc": 0, "start": "2026-10-23 14:07:48.794695", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-control-control\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\nb94d6878e79c: Pulling fs layer\ndc6c880f4bc6: Pulling fs layer\n8e094e943357: Pulling fs layer\na5046b48f993: Pulling fs layer\na5046b48f993: Waiting\n8e094e943357: Verifying Checksum\n8e094e943357: Download complete\na5046b48f993: Verifying Checksum\na5046b48f993: Download complete\ndc6c880f4bc6: Verifying Checksum\ndc6c880f4bc6: Download complete\nb94d6878e79c: Verifying Checksum\nb94d6878e79c: Download complete\nb94d6878e79c: Pull complete\ndc6c880f4bc6: Pull complete\n8e094e943357: Pull complete\na5046b48f993: Pull complete\nDigest: sha256:caaa99caf49b945a91bae01a9903e0a39f2375e67fc7c8fcd94184a6f033f683\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-control-control", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "b94d6878e79c: Pulling fs layer", "dc6c880f4bc6: Pulling fs layer", "8e094e943357: Pulling fs layer", "a5046b48f993: Pulling fs layer", "a5046b48f993: Waiting", "8e094e943357: Verifying Checksum", "8e094e943357: Download complete", "a5046b48f993: Verifying Checksum", "a5046b48f993: Download complete", "dc6c880f4bc6: Verifying Checksum", "dc6c880f4bc6: Download complete", "b94d6878e79c: Verifying Checksum", "b94d6878e79c: Download complete", "b94d6878e79c: Pull complete", "dc6c880f4bc6: Pull complete", "8e094e943357: Pull complete", "a5046b48f993: Pull complete", "Digest: sha256:caaa99caf49b945a91bae01a9903e0a39f2375e67fc7c8fcd94184a6f033f683", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:00.889354", "end": "2026-10-23 14:07:52.922190", "item": "opensdn-controller-control-named", "msg": "", "rc": 0, "start": "2026-10-23 14:07:52.032836", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-control-named\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\nb94d6878e79c: Already exists\n10c7d63249e1: Pulling fs layer\n4ab70fdbd9c0: Pulling fs layer\n379425120e63: Pulling fs layer\nb085a80264d6: Pulling fs layer\n66f02ed4e369: Pulling fs layer\nc11c5f07a56e: Pulling fs layer\nb085a80264d6: Waiting\nc11c5f07a56e: Waiting\n66f02ed4e369: Waiting\n10c7d63249e1: Verifying Checksum\n10c7d63249e1: Download complete\n4ab70fdbd9c0: Verifying Checksum\n4ab70fdbd9c0: Download complete\n10c7d63249e1: Pull complete\nb085a80264d6: Download complete\n66f02ed4e369: Verifying Checksum\n66f02ed4e369: Download complete\n379425120e63: Verifying Checksum\n379425120e63: Download complete\nc11c5f07a56e: Verifying Checksum\nc11c5f07a56e: Download complete\n4ab70fdbd9c0: Pull complete\n379425120e63: Pull complete\nb085a80264d6: Pull complete\n66f02ed4e369: Pull complete\nc11c5f07a56e: Pull complete\nDigest: sha256:b247daecaddfe5c8bfb2519bdbe4e7d21a35112215d17aac932726cd23f2ef45\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-control-named", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "b94d6878e79c: Already exists", "10c7d63249e1: Pulling fs layer", "4ab70fdbd9c0: Pulling fs layer", "379425120e63: Pulling fs layer", "b085a80264d6: Pulling fs layer", "66f02ed4e369: Pulling fs layer", "c11c5f07a56e: Pulling fs layer", "b085a80264d6: Waiting", "c11c5f07a56e: Waiting", "66f02ed4e369: Waiting", "10c7d63249e1: Verifying Checksum", "10c7d63249e1: Download complete", "4ab70fdbd9c0: Verifying Checksum", "4ab70fdbd9c0: Download complete", "10c7d63249e1: Pull complete", "b085a80264d6: Download complete", "66f02ed4e369: Verifying Checksum", "66f02ed4e369: Download complete", "379425120e63: Verifying Checksum", "379425120e63: Download complete", "c11c5f07a56e: Verifying Checksum", "c11c5f07a56e: Download complete", "4ab70fdbd9c0: Pull complete", "379425120e63: Pull complete", "b085a80264d6: Pull complete", "66f02ed4e369: Pull complete", "c11c5f07a56e: Pull complete", "Digest: sha256:b247daecaddfe5c8bfb2519bdbe4e7d21a35112215d17aac932726cd23f2ef45", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:01.835015", "end": "2026-10-23 14:07:55.198313", "item": "opensdn-controller-control-dns", "msg": "", "rc": 0, "start": "2026-10-23 14:07:53.363298", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-controller-control-dns\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\nb94d6878e79c: Already exists\ne683ad44ebed: Pulling fs layer\n7bc15ae4c093: Pulling fs layer\n72a6a19e1422: Pulling fs layer\n0e7d94f76981: Pulling fs layer\n74f0d3f08d30: Pulling fs layer\nbb6709d49284: Pulling fs layer\n0166c5a24b13: Pulling fs layer\nac9f5f3233a9: Pulling fs layer\n4bd910033e0b: Pulling fs layer\n0166c5a24b13: Waiting\n74f0d3f08d30: Waiting\nac9f5f3233a9: Waiting\n4bd910033e0b: Waiting\n0e7d94f76981: Waiting\nbb6709d49284: Waiting\n72a6a19e1422: Verifying Checksum\n72a6a19e1422: Download complete\n7bc15ae4c093: Verifying Checksum\n7bc15ae4c093: Download complete\n0e7d94f76981: Download complete\n74f0d3f08d30: Download complete\n0166c5a24b13: Download complete\nbb6709d49284: Verifying Checksum\nbb6709d49284: Download complete\nac9f5f3233a9: Verifying Checksum\nac9f5f3233a9: Download complete\ne683ad44ebed: Verifying Checksum\ne683ad44ebed: Download complete\n4bd910033e0b: Verifying Checksum\n4bd910033e0b: Download complete\ne683ad44ebed: Pull complete\n7bc15ae4c093: Pull complete\n72a6a19e1422: Pull complete\n0e7d94f76981: Pull complete\n74f0d3f08d30: Pull complete\nbb6709d49284: Pull complete\n0166c5a24b13: Pull complete\nac9f5f3233a9: Pull complete\n4bd910033e0b: Pull complete\nDigest: sha256:d276ed946d44b3273ec72485850eea832dc457951c33ffa0e1e56ed8c399b853\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-controller-control-dns", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "b94d6878e79c: Already exists", "e683ad44ebed: Pulling fs layer", "7bc15ae4c093: Pulling fs layer", "72a6a19e1422: Pulling fs layer", "0e7d94f76981: Pulling fs layer", "74f0d3f08d30: Pulling fs layer", "bb6709d49284: Pulling fs layer", "0166c5a24b13: Pulling fs layer", "ac9f5f3233a9: Pulling fs layer", "4bd910033e0b: Pulling fs layer", "0166c5a24b13: Waiting", "74f0d3f08d30: Waiting", "ac9f5f3233a9: Waiting", "4bd910033e0b: Waiting", "0e7d94f76981: Waiting", "bb6709d49284: Waiting", "72a6a19e1422: Verifying Checksum", "72a6a19e1422: Download complete", "7bc15ae4c093: Verifying Checksum", "7bc15ae4c093: Download complete", "0e7d94f76981: Download complete", "74f0d3f08d30: Download complete", "0166c5a24b13: Download complete", "bb6709d49284: Verifying Checksum", "bb6709d49284: Download complete", "ac9f5f3233a9: Verifying Checksum", "ac9f5f3233a9: Download complete", "e683ad44ebed: Verifying Checksum", "e683ad44ebed: Download complete", "4bd910033e0b: Verifying Checksum", "4bd910033e0b: Download complete", "e683ad44ebed: Pull complete", "7bc15ae4c093: Pull complete", "72a6a19e1422: Pull complete", "0e7d94f76981: Pull complete", "74f0d3f08d30: Pull complete", "bb6709d49284: Pull complete", "0166c5a24b13: Pull complete", "ac9f5f3233a9: Pull complete", "4bd910033e0b: Pull complete", "Digest: sha256:d276ed946d44b3273ec72485850eea832dc457951c33ffa0e1e56ed8c399b853", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.169672", "end": "2026-10-23 14:07:55.780245", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:07:55.610573", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_control : create /etc/contrail/control] ************************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_control : create /etc/contrail/common_control.env] *************** changed: [10.0.0.38] => {"changed": true, "dest": "/etc/contrail/common_control.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0} [WARNING]: TASK: opensdn_control : add peer control nodes to the list: 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]: TASK: opensdn_control : populate global common_control.env: 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.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "c5ac6e99e6834cc03ee16bd9f34bd40a8064ffda", "dest": "/etc/contrail/control/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "f6e63e600dbf80dc09c4fd0ce4073efe", "mode": "0644", "owner": "root", "size": 2997, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764492.435876-60886-250308418311467/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_control : start contrail control] ******************************** changed: [10.0.0.38] => {"changed": true, "services": {"control": {"control_control_1": {"cmd": ["/usr/bin/contrail-control"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-control:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "dfaffd1d24abae089d6c002648bc692a55ce48e2474b95f8dc7291ca34180bc9", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-control-control", "io.opensdn.pod": "control", "io.opensdn.service": "control", "license": "BSD-3-Clause", "name": "opensdn-controller-control-control", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Controller", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "dns": {"control_dns_1": {"cmd": ["/usr/bin/contrail-dns"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-dns:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "ab568a010bc048cc82f183f5acb1433fcdbf6e0390a3bf9e0eb97cbb28131b87", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-control-dns", "io.opensdn.pod": "control", "io.opensdn.service": "dns", "license": "BSD-3-Clause", "name": "opensdn-controller-control-dns", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail DNS", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "named": {"control_named_1": {"cmd": ["/usr/bin/contrail-named", "-f", "-u", "contrail", "-c", "/etc/contrail/dns/contrail-named.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-controller-control-named:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "b1ad1b8f85d163d7cbd462b86d3f4b31f6f148b3e6e728ed3e5241fb753dcaa7", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-controller-control-named", "io.opensdn.pod": "control", "io.opensdn.service": "named", "license": "BSD-3-Clause", "name": "opensdn-controller-control-named", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Named", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"control_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"control_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "b01cbbe3613bee335b8cb20a64a66c4c4f3a4b54c7577b1365a43881a3a4433e", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"control_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "1562d6cce601cc4a1c1857ce37b30d9fcc78bf45c08f86b9a04a18905a84c2b5", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics database] ************************************** included: opensdn_analytics_database for 10.0.0.38 => (item=update_images) included: opensdn_analytics_database for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_analytics_database : update contrail analytics database image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.178294", "end": "2026-10-23 14:08:16.676705", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:08:16.498411", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.167640", "end": "2026-10-23 14:08:17.313983", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:08:17.146343", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:02.928785", "end": "2026-10-23 14:08:20.818683", "item": "opensdn-analytics-query-engine", "msg": "", "rc": 0, "start": "2026-10-23 14:08:17.889898", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-analytics-query-engine\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n7413e1be1074: Pulling fs layer\n24786b9287d0: Pulling fs layer\n9155b311d73a: Pulling fs layer\n7413e1be1074: Verifying Checksum\n7413e1be1074: Download complete\n7413e1be1074: Pull complete\n24786b9287d0: Verifying Checksum\n24786b9287d0: Download complete\n24786b9287d0: Pull complete\n9155b311d73a: Verifying Checksum\n9155b311d73a: Download complete\n9155b311d73a: Pull complete\nDigest: sha256:a7622aede8cd0e8107dddbc9321e7bead53b7f8939a03f6406b8733738430fba\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-analytics-query-engine", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "7413e1be1074: Pulling fs layer", "24786b9287d0: Pulling fs layer", "9155b311d73a: Pulling fs layer", "7413e1be1074: Verifying Checksum", "7413e1be1074: Download complete", "7413e1be1074: Pull complete", "24786b9287d0: Verifying Checksum", "24786b9287d0: Download complete", "24786b9287d0: Pull complete", "9155b311d73a: Verifying Checksum", "9155b311d73a: Download complete", "9155b311d73a: Pull complete", "Digest: sha256:a7622aede8cd0e8107dddbc9321e7bead53b7f8939a03f6406b8733738430fba", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-external-cassandra) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "delta": "0:00:00.152256", "end": "2026-10-23 14:08:21.578252", "item": "opensdn-external-cassandra", "msg": "", "rc": 0, "start": "2026-10-23 14:08:21.425996", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-cassandra\nDigest: sha256:11d38f2307db4fa620dd7d61a4e2a0a922e200272c303faa27a27bf2516bc29a\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-cassandra", "Digest: sha256:11d38f2307db4fa620dd7d61a4e2a0a922e200272c303faa27a27bf2516bc29a", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.154626", "end": "2026-10-23 14:08:22.196496", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:08:22.041870", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_analytics_database : create /etc/contrail/analytics_database] **** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"cassandra_seeds": "10.0.0.38"}, "changed": false} TASK [opensdn_analytics_database : get /etc/contrail/common_analytics_database.env stat] *** ok: [10.0.0.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics_database : create /etc/contrail/common_analytics_database.env] *** changed: [10.0.0.38] => {"changed": true, "dest": "/etc/contrail/common_analytics_database.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0} [WARNING]: TASK: opensdn_analytics_database : populate global common_analytics_database.env: 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.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "996a8e0b4b58ccb931055f9bd269d20b822b930b", "dest": "/etc/contrail/analytics_database/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "61bc2c9969e90526858242e2e09ad864", "mode": "0644", "owner": "root", "size": 3013, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764520.0729136-63541-135413614562247/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_analytics_database : start contrail analyticsdb] ***************** changed: [10.0.0.38] => {"changed": true, "services": {"cassandra": {"analytics_database_cassandra_1": {"cmd": ["cassandra", "-f"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-cassandra:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "5b5879647cfe0c89621f8b73e904754b31c3ffdf856cfd5c158e5a21865c322f", "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", "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "22.04", "release": "5.1.0", "summary": "Contrail Cassandra DB", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_database_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_database_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "a21ce3de87848604e8f10e2aebbf78a16e75d4076a1b3024c6237f6968d47ea2", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_database_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "590f88f8ad771b54eb5c25cd1fcbaa4edd4fa064955c24b05640de058ca2d5bf", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "query-engine": {"analytics_database_query-engine_1": {"cmd": ["/usr/bin/contrail-query-engine", "--conf_file", "/etc/contrail/contrail-query-engine.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-query-engine:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "ddb324629932c2f9c673439e2ee29ccc5e92e22812d69b761089f14514cd4946", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-analytics-query-engine", "io.opensdn.pod": "database", "io.opensdn.service": "query-engine", "license": "BSD-3-Clause", "name": "opensdn-analytics-query-engine", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Query Engine", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics] *********************************************** included: opensdn_analytics for 10.0.0.38 => (item=update_images) included: opensdn_analytics for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_analytics : update contrail analytics images: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.156590", "end": "2026-10-23 14:08:44.059651", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:08:43.903061", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.184504", "end": "2026-10-23 14:08:44.824512", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:08:44.640008", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-analytics-api) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-3_1_0_4-4", "delta": "0:00:03.232499", "end": "2026-10-23 14:08:48.392601", "item": "opensdn-analytics-api", "msg": "", "rc": 0, "start": "2026-10-23 14:08:45.160102", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-analytics-api\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n2439f9591e8e: Pulling fs layer\naea11c7d8175: Pulling fs layer\nada5b4193b97: Pulling fs layer\nd62f59dc2c26: Pulling fs layer\n87d698cd38bd: Pulling fs layer\nd62f59dc2c26: Waiting\n87d698cd38bd: Waiting\n2439f9591e8e: Download complete\naea11c7d8175: Verifying Checksum\naea11c7d8175: Download complete\n2439f9591e8e: Pull complete\nd62f59dc2c26: Download complete\nada5b4193b97: Verifying Checksum\nada5b4193b97: Download complete\naea11c7d8175: Pull complete\n87d698cd38bd: Verifying Checksum\n87d698cd38bd: Download complete\nada5b4193b97: Pull complete\nd62f59dc2c26: Pull complete\n87d698cd38bd: Pull complete\nDigest: sha256:f620f8f2bf42db796e29bae5fb5d22562a28d3f7c58b4adc332c2a3db05a6cbf\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-analytics-api", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "2439f9591e8e: Pulling fs layer", "aea11c7d8175: Pulling fs layer", "ada5b4193b97: Pulling fs layer", "d62f59dc2c26: Pulling fs layer", "87d698cd38bd: Pulling fs layer", "d62f59dc2c26: Waiting", "87d698cd38bd: Waiting", "2439f9591e8e: Download complete", "aea11c7d8175: Verifying Checksum", "aea11c7d8175: Download complete", "2439f9591e8e: Pull complete", "d62f59dc2c26: Download complete", "ada5b4193b97: Verifying Checksum", "ada5b4193b97: Download complete", "aea11c7d8175: Pull complete", "87d698cd38bd: Verifying Checksum", "87d698cd38bd: Download complete", "ada5b4193b97: Pull complete", "d62f59dc2c26: Pull complete", "87d698cd38bd: Pull complete", "Digest: sha256:f620f8f2bf42db796e29bae5fb5d22562a28d3f7c58b4adc332c2a3db05a6cbf", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-api:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-analytics-collector) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-3_1_0_4-4", "delta": "0:00:02.487676", "end": "2026-10-23 14:08:51.368325", "item": "opensdn-analytics-collector", "msg": "", "rc": 0, "start": "2026-10-23 14:08:48.880649", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-analytics-collector\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n02cf80da98c8: Pulling fs layer\n3f4e6c911989: Pulling fs layer\n49a2e58b60da: Pulling fs layer\n02cf80da98c8: Verifying Checksum\n02cf80da98c8: Download complete\n02cf80da98c8: Pull complete\n3f4e6c911989: Verifying Checksum\n3f4e6c911989: Download complete\n49a2e58b60da: Verifying Checksum\n49a2e58b60da: Download complete\n3f4e6c911989: Pull complete\n49a2e58b60da: Pull complete\nDigest: sha256:b1bb21b4eb1fbb61959f182935f6b9923b8496442231494f3e69df6d79145d74\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-analytics-collector", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "02cf80da98c8: Pulling fs layer", "3f4e6c911989: Pulling fs layer", "49a2e58b60da: Pulling fs layer", "02cf80da98c8: Verifying Checksum", "02cf80da98c8: Download complete", "02cf80da98c8: Pull complete", "3f4e6c911989: Verifying Checksum", "3f4e6c911989: Download complete", "49a2e58b60da: Verifying Checksum", "49a2e58b60da: Download complete", "3f4e6c911989: Pull complete", "49a2e58b60da: Pull complete", "Digest: sha256:b1bb21b4eb1fbb61959f182935f6b9923b8496442231494f3e69df6d79145d74", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.139676", "end": "2026-10-23 14:08:51.802184", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:08:51.662508", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_analytics : create /etc/contrail/analytics] ********************** changed: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_analytics : create /etc/contrail/common_analytics.env] *********** changed: [10.0.0.38] => {"changed": true, "dest": "/etc/contrail/common_analytics.env", "gid": 0, "group": "root", "mode": "0640", "owner": "root", "size": 0, "state": "file", "uid": 0} [WARNING]: TASK: opensdn_analytics : populate global common_analytics.env: 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.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": true} changed: [10.0.0.38] => {"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.38]: 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.38] => {"changed": true, "checksum": "c9349cdd3ff94bf565b84afcf91e4e7a349e0535", "dest": "/etc/contrail/analytics/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "e2d65dad43c7327ac00d4d55982499b2", "mode": "0644", "owner": "root", "size": 2403, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764547.7028797-66480-155947224464616/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_analytics : start contrail analytics] **************************** changed: [10.0.0.38] => {"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-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "6d2f941b151fd1eaff0558ef6026015fe0041c6006593b758aff49627fa07edc", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-analytics-api", "io.opensdn.pod": "analytics", "io.opensdn.service": "api", "license": "BSD-3-Clause", "name": "opensdn-analytics-api", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Analytics API", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "collector": {"analytics_collector_1": {"cmd": ["/usr/bin/contrail-collector"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-collector:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "466830e2eb2a32688bdc79a7b8153c7d258126d195ff2e90c9a72e2d388645e1", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-analytics-collector", "io.opensdn.pod": "analytics", "io.opensdn.service": "collector", "license": "BSD-3-Clause", "name": "opensdn-analytics-collector", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Analytics Collector", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "09be4f24f0c81a163fc4bb12426d39fa3116526ee599402eb7e03b2845610b5c", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "2f7ffcc921d00513bf069b32334d64d830a50f4bd9eb1dd5b32f99234df59605", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics alarm] ***************************************** included: opensdn_analytics_alarm for 10.0.0.38 => (item=update_images) included: opensdn_analytics_alarm for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_analytics_alarm : update alarm, external-kafka image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.152516", "end": "2026-10-23 14:09:11.561581", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:09:11.409065", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.154315", "end": "2026-10-23 14:09:12.146541", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:09:11.992226", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:01.816575", "end": "2026-10-23 14:09:14.358679", "item": "opensdn-analytics-alarm-gen", "msg": "", "rc": 0, "start": "2026-10-23 14:09:12.542104", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-analytics-alarm-gen\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n62eea46c7336: Pulling fs layer\nb9a22e2fc515: Pulling fs layer\n62eea46c7336: Verifying Checksum\n62eea46c7336: Download complete\n62eea46c7336: Pull complete\nb9a22e2fc515: Verifying Checksum\nb9a22e2fc515: Download complete\nb9a22e2fc515: Pull complete\nDigest: sha256:27f162fcc3b56d1dc80c1aa88f345bca875030627fd00e6aeb3a0976ec4c6aed\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-analytics-alarm-gen", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "62eea46c7336: Pulling fs layer", "b9a22e2fc515: Pulling fs layer", "62eea46c7336: Verifying Checksum", "62eea46c7336: Download complete", "62eea46c7336: Pull complete", "b9a22e2fc515: Verifying Checksum", "b9a22e2fc515: Download complete", "b9a22e2fc515: Pull complete", "Digest: sha256:27f162fcc3b56d1dc80c1aa88f345bca875030627fd00e6aeb3a0976ec4c6aed", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-alarm-gen:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-external-kafka) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-3_1_0_4-4", "delta": "0:00:17.134692", "end": "2026-10-23 14:09:32.045447", "item": "opensdn-external-kafka", "msg": "", "rc": 0, "start": "2026-10-23 14:09:14.910755", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-kafka\nf18232174bc9: Pulling fs layer\nf6cd406c8d97: Pulling fs layer\n74f6a226ed93: Pulling fs layer\ne6744199aa66: Pulling fs layer\ncda86626eeb3: Pulling fs layer\n304e58a73598: Pulling fs layer\n34d370b15c91: Pulling fs layer\n6e6e21ba9841: Pulling fs layer\na34edb4da622: Pulling fs layer\nf7cdaeb78991: Pulling fs layer\n92d1bdd63c73: Pulling fs layer\n0925be2bc499: Pulling fs layer\nfabd79aa540d: Pulling fs layer\n2150056eac70: Pulling fs layer\n4f4fb700ef54: Pulling fs layer\n0925be2bc499: Waiting\n6e6e21ba9841: Waiting\ncda86626eeb3: Waiting\nfabd79aa540d: Waiting\na34edb4da622: Waiting\n2150056eac70: Waiting\n4f4fb700ef54: Waiting\nf7cdaeb78991: Waiting\n92d1bdd63c73: Waiting\n304e58a73598: Waiting\n34d370b15c91: Waiting\ne6744199aa66: Waiting\nf18232174bc9: Verifying Checksum\nf18232174bc9: Download complete\ne6744199aa66: Verifying Checksum\ne6744199aa66: Download complete\ncda86626eeb3: Download complete\nf6cd406c8d97: Verifying Checksum\nf6cd406c8d97: Download complete\n34d370b15c91: Verifying Checksum\n34d370b15c91: Download complete\n6e6e21ba9841: Verifying Checksum\n6e6e21ba9841: Download complete\na34edb4da622: Verifying Checksum\na34edb4da622: Download complete\nf7cdaeb78991: Verifying Checksum\nf7cdaeb78991: Download complete\nf18232174bc9: Pull complete\n92d1bdd63c73: Verifying Checksum\n92d1bdd63c73: Download complete\n0925be2bc499: Download complete\nfabd79aa540d: Verifying Checksum\nfabd79aa540d: Download complete\n74f6a226ed93: Verifying Checksum\n74f6a226ed93: Download complete\n4f4fb700ef54: Verifying Checksum\n4f4fb700ef54: Download complete\n2150056eac70: Verifying Checksum\n2150056eac70: Download complete\n304e58a73598: Verifying Checksum\n304e58a73598: Download complete\nf6cd406c8d97: Pull complete\n74f6a226ed93: Pull complete\ne6744199aa66: Pull complete\ncda86626eeb3: Pull complete\n304e58a73598: Pull complete\n34d370b15c91: Pull complete\n6e6e21ba9841: Pull complete\na34edb4da622: Pull complete\nf7cdaeb78991: Pull complete\n92d1bdd63c73: Pull complete\n0925be2bc499: Pull complete\nfabd79aa540d: Pull complete\n2150056eac70: Pull complete\n4f4fb700ef54: Pull complete\nDigest: sha256:830e47273cbdda8e406a0f895c0e07771fba3f3ac7611476c23bef4da149eebd\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-kafka", "f18232174bc9: Pulling fs layer", "f6cd406c8d97: Pulling fs layer", "74f6a226ed93: Pulling fs layer", "e6744199aa66: Pulling fs layer", "cda86626eeb3: Pulling fs layer", "304e58a73598: Pulling fs layer", "34d370b15c91: Pulling fs layer", "6e6e21ba9841: Pulling fs layer", "a34edb4da622: Pulling fs layer", "f7cdaeb78991: Pulling fs layer", "92d1bdd63c73: Pulling fs layer", "0925be2bc499: Pulling fs layer", "fabd79aa540d: Pulling fs layer", "2150056eac70: Pulling fs layer", "4f4fb700ef54: Pulling fs layer", "0925be2bc499: Waiting", "6e6e21ba9841: Waiting", "cda86626eeb3: Waiting", "fabd79aa540d: Waiting", "a34edb4da622: Waiting", "2150056eac70: Waiting", "4f4fb700ef54: Waiting", "f7cdaeb78991: Waiting", "92d1bdd63c73: Waiting", "304e58a73598: Waiting", "34d370b15c91: Waiting", "e6744199aa66: Waiting", "f18232174bc9: Verifying Checksum", "f18232174bc9: Download complete", "e6744199aa66: Verifying Checksum", "e6744199aa66: Download complete", "cda86626eeb3: Download complete", "f6cd406c8d97: Verifying Checksum", "f6cd406c8d97: Download complete", "34d370b15c91: Verifying Checksum", "34d370b15c91: Download complete", "6e6e21ba9841: Verifying Checksum", "6e6e21ba9841: Download complete", "a34edb4da622: Verifying Checksum", "a34edb4da622: Download complete", "f7cdaeb78991: Verifying Checksum", "f7cdaeb78991: Download complete", "f18232174bc9: Pull complete", "92d1bdd63c73: Verifying Checksum", "92d1bdd63c73: Download complete", "0925be2bc499: Download complete", "fabd79aa540d: Verifying Checksum", "fabd79aa540d: Download complete", "74f6a226ed93: Verifying Checksum", "74f6a226ed93: Download complete", "4f4fb700ef54: Verifying Checksum", "4f4fb700ef54: Download complete", "2150056eac70: Verifying Checksum", "2150056eac70: Download complete", "304e58a73598: Verifying Checksum", "304e58a73598: Download complete", "f6cd406c8d97: Pull complete", "74f6a226ed93: Pull complete", "e6744199aa66: Pull complete", "cda86626eeb3: Pull complete", "304e58a73598: Pull complete", "34d370b15c91: Pull complete", "6e6e21ba9841: Pull complete", "a34edb4da622: Pull complete", "f7cdaeb78991: Pull complete", "92d1bdd63c73: Pull complete", "0925be2bc499: Pull complete", "fabd79aa540d: Pull complete", "2150056eac70: Pull complete", "4f4fb700ef54: Pull complete", "Digest: sha256:830e47273cbdda8e406a0f895c0e07771fba3f3ac7611476c23bef4da149eebd", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.297152", "end": "2026-10-23 14:09:32.957489", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:09:32.660337", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_analytics_alarm : create /etc/contrail/analytics_alarm] ********** changed: [10.0.0.38] => {"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.38] => {"ansible_facts": {"zookeeper_nodes": "10.0.0.38"}, "changed": false} TASK [opensdn_analytics_alarm : create contrail analytics_alarm docker-compose file] *** changed: [10.0.0.38] => {"changed": true, "checksum": "a019d9776e14c56bb300a7e7319e6c460f053c45", "dest": "/etc/contrail/analytics_alarm/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "2d2f06d9ed666ba68074fbb198667d7c", "mode": "0644", "owner": "root", "size": 2475, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764573.999508-68608-170162308725278/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_analytics_alarm : start contrail analytics_alarm] **************** changed: [10.0.0.38] => {"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-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "72c774073146a17b504002371027b7dc11099b354a7ac7c7307e4e048f3d0637", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-analytics-alarm-gen", "io.opensdn.pod": "analytics-alarm", "io.opensdn.service": "alarm-gen", "license": "BSD-3-Clause", "name": "opensdn-analytics-alarm-gen", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Alarm Generator", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "kafka": {"analytics_alarm_kafka_1": {"cmd": ["/contrail-entrypoint.sh"], "image": "nexus.gz1.opensdn.io:5101/opensdn-external-kafka:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "0fabc92471fa9f74790730e028ee100e2bf6f2b751600d48894ed1ae02d83254", "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", "maintainer": "Apache Kafka", "name": "opensdn-external-kafka", "org.label-schema.build-date": "2025-05-12", "org.label-schema.description": "Apache Kafka", "org.label-schema.name": "kafka", "org.label-schema.vcs-url": "https://github.com/apache/kafka", "release": "5.1.0", "summary": "Contrail Kafka", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "node-init": {"analytics_alarm_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_alarm_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "aa5d4e05a5cb4729a4deb5aa55702545d69565834c0744c637357461a7b05db2", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_alarm_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "ea4f509c4db75ea4c0ce1404521aa34999ede23a1c030ecc2e1e7091ed3d67f6", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail analytics snmp] ****************************************** included: opensdn_analytics_snmp for 10.0.0.38 => (item=update_images) included: opensdn_analytics_snmp for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_analytics_snmp : update contrail-snmp-collector and contrail-analytics-snmp-topology image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.189178", "end": "2026-10-23 14:09:39.580360", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:09:39.391182", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.153385", "end": "2026-10-23 14:09:40.334935", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:09:40.181550", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:08.390508", "end": "2026-10-23 14:09:49.108098", "item": "opensdn-analytics-snmp-topology", "msg": "", "rc": 0, "start": "2026-10-23 14:09:40.717590", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-analytics-snmp-topology\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n1052fcecf0cd: Pulling fs layer\n7e87f65cd8a6: Pulling fs layer\n27984846f7e2: Pulling fs layer\n1d5ba20c715f: Pulling fs layer\n1d5ba20c715f: Waiting\n27984846f7e2: Verifying Checksum\n27984846f7e2: Download complete\n1052fcecf0cd: Verifying Checksum\n1052fcecf0cd: Download complete\n1d5ba20c715f: Download complete\n1052fcecf0cd: Pull complete\n7e87f65cd8a6: Verifying Checksum\n7e87f65cd8a6: Download complete\n7e87f65cd8a6: Pull complete\n27984846f7e2: Pull complete\n1d5ba20c715f: Pull complete\nDigest: sha256:89ba2ef428c42e8f93243a8b67706641889aa306c793a2648ae509008718eabd\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-analytics-snmp-topology", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "1052fcecf0cd: Pulling fs layer", "7e87f65cd8a6: Pulling fs layer", "27984846f7e2: Pulling fs layer", "1d5ba20c715f: Pulling fs layer", "1d5ba20c715f: Waiting", "27984846f7e2: Verifying Checksum", "27984846f7e2: Download complete", "1052fcecf0cd: Verifying Checksum", "1052fcecf0cd: Download complete", "1d5ba20c715f: Download complete", "1052fcecf0cd: Pull complete", "7e87f65cd8a6: Verifying Checksum", "7e87f65cd8a6: Download complete", "7e87f65cd8a6: Pull complete", "27984846f7e2: Pull complete", "1d5ba20c715f: Pull complete", "Digest: sha256:89ba2ef428c42e8f93243a8b67706641889aa306c793a2648ae509008718eabd", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:00.848409", "end": "2026-10-23 14:09:50.465472", "item": "opensdn-analytics-snmp-collector", "msg": "", "rc": 0, "start": "2026-10-23 14:09:49.617063", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-analytics-snmp-collector\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\n1052fcecf0cd: Already exists\n7e87f65cd8a6: Already exists\n38923c28e86c: Pulling fs layer\nb90df96264de: Pulling fs layer\n38923c28e86c: Download complete\nb90df96264de: Verifying Checksum\nb90df96264de: Download complete\n38923c28e86c: Pull complete\nb90df96264de: Pull complete\nDigest: sha256:0250d226531529cf5599ab54bcc0d9eaee2fc2b23b520834dfc9d3133b7ef68c\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-analytics-snmp-collector", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "1052fcecf0cd: Already exists", "7e87f65cd8a6: Already exists", "38923c28e86c: Pulling fs layer", "b90df96264de: Pulling fs layer", "38923c28e86c: Download complete", "b90df96264de: Verifying Checksum", "b90df96264de: Download complete", "38923c28e86c: Pull complete", "b90df96264de: Pull complete", "Digest: sha256:0250d226531529cf5599ab54bcc0d9eaee2fc2b23b520834dfc9d3133b7ef68c", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.174072", "end": "2026-10-23 14:09:51.202195", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:09:51.028123", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} TASK [opensdn_analytics_snmp : create /etc/contrail/analytics_snmp] ************ changed: [10.0.0.38] => {"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.38] => {"changed": true, "checksum": "2c9f6d407b833f8d2e9e9de8cc94373443c46a0b", "dest": "/etc/contrail/analytics_snmp/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "31c6463b5e1ba21e94cde5630dfe73e5", "mode": "0644", "owner": "root", "size": 2356, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764592.207671-71059-193656484331652/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_analytics_snmp : start contrail analytics_snmp] ****************** changed: [10.0.0.38] => {"changed": true, "services": {"node-init": {"analytics_snmp_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"analytics_snmp_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "51e5cbc05375d8282d4274f2088650b2f086f9ad43e598fa6954094f96a2bb86", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"analytics_snmp_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "2303c53dfba3dd19bfb5c8a8673eb2614296e68fae0edaad592e4481895c96fa", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "snmp-collector": {"analytics_snmp_snmp-collector_1": {"cmd": ["/usr/local/bin/tf-snmp-collector", "-c", "/etc/contrail/tf-snmp-collector.conf", "--device-config-file", "/etc/contrail/device.ini"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-collector:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "210252db3a5cd71d6379afd1b22f7177d71d674c0ffca926a395c1b6814eab33", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-analytics-snmp-collector", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "snmp-collector", "license": "BSD-3-Clause", "name": "opensdn-analytics-snmp-collector", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "SNMP Collector", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "topology": {"analytics_snmp_topology_1": {"cmd": ["/usr/local/bin/tf-topology", "-c", "/etc/contrail/tf-topology.conf"], "image": "nexus.gz1.opensdn.io:5101/opensdn-analytics-snmp-topology:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "47ebeb7b537b89a28faa419c1c7c4287adf882658eddb952d39c5c2b4ae977e7", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-analytics-snmp-topology", "io.opensdn.pod": "analytics-snmp", "io.opensdn.service": "topology", "license": "BSD-3-Clause", "name": "opensdn-analytics-snmp-topology", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "SNMP Topology", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail rsyslogd for Linux] ************************************** included: opensdn_rsyslogd for 10.0.0.38 => (item=update_images) included: opensdn_rsyslogd for 10.0.0.38 => (item=main) [WARNING]: TASK: opensdn_rsyslogd : update contrail rsyslogd image: 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.38] => (item=opensdn-external-rsyslogd) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-3_1_0_4-4", "delta": "0:00:01.787387", "end": "2026-10-23 14:09:58.212508", "item": "opensdn-external-rsyslogd", "msg": "", "rc": 0, "start": "2026-10-23 14:09:56.425121", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-external-rsyslogd\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\ne096cf2550f8: Pulling fs layer\nf896cca5f208: Pulling fs layer\n5ceb102af58e: Pulling fs layer\nd6c4c8159d2a: Pulling fs layer\nd6c4c8159d2a: Waiting\ne096cf2550f8: Verifying Checksum\ne096cf2550f8: Download complete\n5ceb102af58e: Verifying Checksum\n5ceb102af58e: Download complete\nd6c4c8159d2a: Download complete\nf896cca5f208: Verifying Checksum\nf896cca5f208: Download complete\ne096cf2550f8: Pull complete\nf896cca5f208: Pull complete\n5ceb102af58e: Pull complete\nd6c4c8159d2a: Pull complete\nDigest: sha256:5bf06458d7553e579421db1e24b5eb81236799a2f27c5eeb33ddb7c822114bfd\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-external-rsyslogd", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "e096cf2550f8: Pulling fs layer", "f896cca5f208: Pulling fs layer", "5ceb102af58e: Pulling fs layer", "d6c4c8159d2a: Pulling fs layer", "d6c4c8159d2a: Waiting", "e096cf2550f8: Verifying Checksum", "e096cf2550f8: Download complete", "5ceb102af58e: Verifying Checksum", "5ceb102af58e: Download complete", "d6c4c8159d2a: Download complete", "f896cca5f208: Verifying Checksum", "f896cca5f208: Download complete", "e096cf2550f8: Pull complete", "f896cca5f208: Pull complete", "5ceb102af58e: Pull complete", "d6c4c8159d2a: Pull complete", "Digest: sha256:5bf06458d7553e579421db1e24b5eb81236799a2f27c5eeb33ddb7c822114bfd", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-external-rsyslogd:master-3_1_0_4-4"]} TASK [opensdn_rsyslogd : create /etc/contrail/rsyslogd] ************************ changed: [10.0.0.38] => {"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.38] => {"changed": true, "checksum": "589dc0e568dbf94a9552889b51670f3431825ae9", "dest": "/etc/contrail/rsyslogd/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "59827894054f23d55de484d598e8b924", "mode": "0644", "owner": "root", "size": 615, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764598.905995-72107-183512457924000/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_rsyslogd : start rsyslogd] *************************************** changed: [10.0.0.38] => {"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-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "bd5e92b704d549ed18366fb9fe7a2d12fa7b276a096280706d70aba2be5a4c2d", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "", "io.opensdn.service": "rsyslogd", "license": "BSD-3-Clause", "name": "", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail rsyslogd", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [create contrail vrouter for Linux] *************************************** included: opensdn_vrouter for 10.0.0.38 => (item=update_images) included: opensdn_vrouter for 10.0.0.38 => (item=main) TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.38] => {"ansible_facts": {"vrouter_kernel_init_img_name": "opensdn-vrouter-kernel-build-init"}, "changed": false} [WARNING]: TASK: opensdn_vrouter : update image: 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.38] => (item=opensdn-node-init) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "delta": "0:00:00.196243", "end": "2026-10-23 14:10:02.775028", "item": "opensdn-node-init", "msg": "", "rc": 0, "start": "2026-10-23 14:10:02.578785", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-node-init\nDigest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-node-init", "Digest: sha256:aba0ea3187bd6f1dc85f95c1e515f1cbed8470b7b7839e9f61c755db8fd75c73", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-nodemgr) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "delta": "0:00:00.179709", "end": "2026-10-23 14:10:03.430303", "item": "opensdn-nodemgr", "msg": "", "rc": 0, "start": "2026-10-23 14:10:03.250594", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-nodemgr\nDigest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-nodemgr", "Digest: sha256:1285ebeb072001cfb9e6a1c3fbbc06e0e590b4095ad97a13f37ea829ede1d958", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-provisioner) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "delta": "0:00:00.181540", "end": "2026-10-23 14:10:04.061253", "item": "opensdn-provisioner", "msg": "", "rc": 0, "start": "2026-10-23 14:10:03.879713", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-provisioner\nDigest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d\nStatus: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-provisioner", "Digest: sha256:e27a12da8863a312bd3024b221e6801ea43f4b1ec9ae6345d2544b570a11024d", "Status: Image is up to date for nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4"]} changed: [10.0.0.38] => (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-3_1_0_4-4", "delta": "0:00:19.427561", "end": "2026-10-23 14:10:23.952866", "item": "opensdn-vrouter-kernel-build-init", "msg": "", "rc": 0, "start": "2026-10-23 14:10:04.525305", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-vrouter-kernel-build-init\n3e126faff855: Pulling fs layer\n2a88c3415831: Pulling fs layer\n6d9c31caf7ab: Pulling fs layer\n3f8ff80da824: Pulling fs layer\nbc04ae25b039: Pulling fs layer\nc9262cb83fa8: Pulling fs layer\n1086d5045543: Pulling fs layer\nddf00aa8fe1d: Pulling fs layer\nbb10708237d8: Pulling fs layer\nd9ec625986fd: Pulling fs layer\n3f8ff80da824: Waiting\nbc04ae25b039: Waiting\nc9262cb83fa8: Waiting\n1086d5045543: Waiting\nddf00aa8fe1d: Waiting\nbb10708237d8: Waiting\nd9ec625986fd: Waiting\n6d9c31caf7ab: Verifying Checksum\n6d9c31caf7ab: Download complete\n2a88c3415831: Download complete\n3f8ff80da824: Verifying Checksum\n3f8ff80da824: Download complete\nbc04ae25b039: Download complete\nc9262cb83fa8: Verifying Checksum\nc9262cb83fa8: Download complete\n1086d5045543: Download complete\nbb10708237d8: Verifying Checksum\nbb10708237d8: Download complete\nd9ec625986fd: Verifying Checksum\nd9ec625986fd: Download complete\n3e126faff855: Verifying Checksum\n3e126faff855: Download complete\nddf00aa8fe1d: Verifying Checksum\nddf00aa8fe1d: Download complete\n3e126faff855: Pull complete\n2a88c3415831: Pull complete\n6d9c31caf7ab: Pull complete\n3f8ff80da824: Pull complete\nbc04ae25b039: Pull complete\nc9262cb83fa8: Pull complete\n1086d5045543: Pull complete\nddf00aa8fe1d: Pull complete\nbb10708237d8: Pull complete\nd9ec625986fd: Pull complete\nDigest: sha256:919574234e626a78ed11b5811d8bc85a6bb9130937f9fcb227ea0eddb9bbd588\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-vrouter-kernel-build-init", "3e126faff855: Pulling fs layer", "2a88c3415831: Pulling fs layer", "6d9c31caf7ab: Pulling fs layer", "3f8ff80da824: Pulling fs layer", "bc04ae25b039: Pulling fs layer", "c9262cb83fa8: Pulling fs layer", "1086d5045543: Pulling fs layer", "ddf00aa8fe1d: Pulling fs layer", "bb10708237d8: Pulling fs layer", "d9ec625986fd: Pulling fs layer", "3f8ff80da824: Waiting", "bc04ae25b039: Waiting", "c9262cb83fa8: Waiting", "1086d5045543: Waiting", "ddf00aa8fe1d: Waiting", "bb10708237d8: Waiting", "d9ec625986fd: Waiting", "6d9c31caf7ab: Verifying Checksum", "6d9c31caf7ab: Download complete", "2a88c3415831: Download complete", "3f8ff80da824: Verifying Checksum", "3f8ff80da824: Download complete", "bc04ae25b039: Download complete", "c9262cb83fa8: Verifying Checksum", "c9262cb83fa8: Download complete", "1086d5045543: Download complete", "bb10708237d8: Verifying Checksum", "bb10708237d8: Download complete", "d9ec625986fd: Verifying Checksum", "d9ec625986fd: Download complete", "3e126faff855: Verifying Checksum", "3e126faff855: Download complete", "ddf00aa8fe1d: Verifying Checksum", "ddf00aa8fe1d: Download complete", "3e126faff855: Pull complete", "2a88c3415831: Pull complete", "6d9c31caf7ab: Pull complete", "3f8ff80da824: Pull complete", "bc04ae25b039: Pull complete", "c9262cb83fa8: Pull complete", "1086d5045543: Pull complete", "ddf00aa8fe1d: Pull complete", "bb10708237d8: Pull complete", "d9ec625986fd: Pull complete", "Digest: sha256:919574234e626a78ed11b5811d8bc85a6bb9130937f9fcb227ea0eddb9bbd588", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-3_1_0_4-4"]} changed: [10.0.0.38] => (item=opensdn-vrouter-agent) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "cmd": "docker pull nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-3_1_0_4-4", "delta": "0:00:05.944309", "end": "2026-10-23 14:10:30.315831", "item": "opensdn-vrouter-agent", "msg": "", "rc": 0, "start": "2026-10-23 14:10:24.371522", "stderr": "", "stderr_lines": [], "stdout": "master-3_1_0_4-4: Pulling from opensdn-vrouter-agent\nbfa58b95103a: Already exists\n7f10ea370a22: Already exists\n9174eff68cee: Already exists\n4f42c692b8b9: Already exists\ncacd209301c8: Already exists\ncd7316ffbe5f: Already exists\ne7f2e1d11134: Already exists\n1fac419ad548: Already exists\n41eb7ceed5fc: Already exists\nd34695ddc246: Already exists\ne99e004e446e: Already exists\n4598c931a7e5: Already exists\n375d7dd2e835: Already exists\ncb6a4e93b25b: Already exists\nc32c01c29399: Pulling fs layer\n3fd3a6aff415: Pulling fs layer\nd7e82a53f51d: Pulling fs layer\n6869c3a2b7c9: Pulling fs layer\nf22e6ac58fe1: Pulling fs layer\nb9feca11ffdb: Pulling fs layer\nc80ac26a8c22: Pulling fs layer\n3c71d7769af9: Pulling fs layer\n6567073242f2: Pulling fs layer\nc2bed9f5af73: Pulling fs layer\nd2bedc1b2ed1: Pulling fs layer\n9110e2a849e7: Pulling fs layer\n5d50193d7054: Pulling fs layer\n27af005f2c68: Pulling fs layer\na812c37dab15: Pulling fs layer\nf22e6ac58fe1: Waiting\nb9feca11ffdb: Waiting\nc80ac26a8c22: Waiting\n6567073242f2: Waiting\n3c71d7769af9: Waiting\n5d50193d7054: Waiting\n27af005f2c68: Waiting\nc2bed9f5af73: Waiting\na812c37dab15: Waiting\nd2bedc1b2ed1: Waiting\n9110e2a849e7: Waiting\n6869c3a2b7c9: Waiting\n3fd3a6aff415: Verifying Checksum\nc32c01c29399: Verifying Checksum\nc32c01c29399: Download complete\nc32c01c29399: Pull complete\n6869c3a2b7c9: Verifying Checksum\n6869c3a2b7c9: Download complete\n3fd3a6aff415: Pull complete\nb9feca11ffdb: Download complete\nf22e6ac58fe1: Verifying Checksum\nf22e6ac58fe1: Download complete\nc80ac26a8c22: Verifying Checksum\nc80ac26a8c22: Download complete\n6567073242f2: Download complete\nd7e82a53f51d: Verifying Checksum\nd7e82a53f51d: Download complete\nc2bed9f5af73: Download complete\nd2bedc1b2ed1: Verifying Checksum\nd2bedc1b2ed1: Download complete\n5d50193d7054: Verifying Checksum\n5d50193d7054: Download complete\n27af005f2c68: Download complete\n3c71d7769af9: Verifying Checksum\n3c71d7769af9: Download complete\na812c37dab15: Verifying Checksum\na812c37dab15: Download complete\n9110e2a849e7: Download complete\nd7e82a53f51d: Pull complete\n6869c3a2b7c9: Pull complete\nf22e6ac58fe1: Pull complete\nb9feca11ffdb: Pull complete\nc80ac26a8c22: Pull complete\n3c71d7769af9: Pull complete\n6567073242f2: Pull complete\nc2bed9f5af73: Pull complete\nd2bedc1b2ed1: Pull complete\n9110e2a849e7: Pull complete\n5d50193d7054: Pull complete\n27af005f2c68: Pull complete\na812c37dab15: Pull complete\nDigest: sha256:e4ba0322aaea4b36401893adeb77d01970dc994fe2b5a83a3e8f9552f20c852b\nStatus: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-3_1_0_4-4\nnexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-3_1_0_4-4", "stdout_lines": ["master-3_1_0_4-4: Pulling from opensdn-vrouter-agent", "bfa58b95103a: Already exists", "7f10ea370a22: Already exists", "9174eff68cee: Already exists", "4f42c692b8b9: Already exists", "cacd209301c8: Already exists", "cd7316ffbe5f: Already exists", "e7f2e1d11134: Already exists", "1fac419ad548: Already exists", "41eb7ceed5fc: Already exists", "d34695ddc246: Already exists", "e99e004e446e: Already exists", "4598c931a7e5: Already exists", "375d7dd2e835: Already exists", "cb6a4e93b25b: Already exists", "c32c01c29399: Pulling fs layer", "3fd3a6aff415: Pulling fs layer", "d7e82a53f51d: Pulling fs layer", "6869c3a2b7c9: Pulling fs layer", "f22e6ac58fe1: Pulling fs layer", "b9feca11ffdb: Pulling fs layer", "c80ac26a8c22: Pulling fs layer", "3c71d7769af9: Pulling fs layer", "6567073242f2: Pulling fs layer", "c2bed9f5af73: Pulling fs layer", "d2bedc1b2ed1: Pulling fs layer", "9110e2a849e7: Pulling fs layer", "5d50193d7054: Pulling fs layer", "27af005f2c68: Pulling fs layer", "a812c37dab15: Pulling fs layer", "f22e6ac58fe1: Waiting", "b9feca11ffdb: Waiting", "c80ac26a8c22: Waiting", "6567073242f2: Waiting", "3c71d7769af9: Waiting", "5d50193d7054: Waiting", "27af005f2c68: Waiting", "c2bed9f5af73: Waiting", "a812c37dab15: Waiting", "d2bedc1b2ed1: Waiting", "9110e2a849e7: Waiting", "6869c3a2b7c9: Waiting", "3fd3a6aff415: Verifying Checksum", "c32c01c29399: Verifying Checksum", "c32c01c29399: Download complete", "c32c01c29399: Pull complete", "6869c3a2b7c9: Verifying Checksum", "6869c3a2b7c9: Download complete", "3fd3a6aff415: Pull complete", "b9feca11ffdb: Download complete", "f22e6ac58fe1: Verifying Checksum", "f22e6ac58fe1: Download complete", "c80ac26a8c22: Verifying Checksum", "c80ac26a8c22: Download complete", "6567073242f2: Download complete", "d7e82a53f51d: Verifying Checksum", "d7e82a53f51d: Download complete", "c2bed9f5af73: Download complete", "d2bedc1b2ed1: Verifying Checksum", "d2bedc1b2ed1: Download complete", "5d50193d7054: Verifying Checksum", "5d50193d7054: Download complete", "27af005f2c68: Download complete", "3c71d7769af9: Verifying Checksum", "3c71d7769af9: Download complete", "a812c37dab15: Verifying Checksum", "a812c37dab15: Download complete", "9110e2a849e7: Download complete", "d7e82a53f51d: Pull complete", "6869c3a2b7c9: Pull complete", "f22e6ac58fe1: Pull complete", "b9feca11ffdb: Pull complete", "c80ac26a8c22: Pull complete", "3c71d7769af9: Pull complete", "6567073242f2: Pull complete", "c2bed9f5af73: Pull complete", "d2bedc1b2ed1: Pull complete", "9110e2a849e7: Pull complete", "5d50193d7054: Pull complete", "27af005f2c68: Pull complete", "a812c37dab15: Pull complete", "Digest: sha256:e4ba0322aaea4b36401893adeb77d01970dc994fe2b5a83a3e8f9552f20c852b", "Status: Downloaded newer image for nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-3_1_0_4-4", "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-3_1_0_4-4"]} [WARNING]: TASK: opensdn_vrouter : update image for dpdk vrouter: 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.38] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/vrouter", "size": 4096, "state": "directory", "uid": 0} [WARNING]: TASK: opensdn_vrouter : add pop control nodes to list: 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.38] => {"changed": true, "checksum": "0b2081e2606f7f2b9f9773eeabb50a797e8f6560", "dest": "/etc/contrail/common_vrouter.env", "gid": 0, "group": "root", "md5sum": "6819f2fc36751948ed29cd9f9ed98e33", "mode": "0640", "owner": "root", "size": 1027, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764631.5839863-73797-185639265719350/.source.env", "state": "file", "uid": 0} TASK [opensdn_vrouter : set vrouter kernel init image name] ******************** ok: [10.0.0.38] => {"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.38] => {"changed": false, "stat": {"exists": false}} TASK [opensdn_vrouter : create contrail vrouter compose file] ****************** changed: [10.0.0.38] => {"changed": true, "checksum": "546f6b402f5bf21fa8390b31f3c71114c542705d", "dest": "/etc/contrail/vrouter/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "9bcccfaccce9e52250ecd57a1d2f5091", "mode": "0644", "owner": "root", "size": 2745, "src": "/home/ubuntu/.ansible/tmp/ansible-tmp-1792764633.2183633-73872-167155736646231/.source.yaml", "state": "file", "uid": 0} TASK [opensdn_vrouter : create /var/run/contrail/loadbalancer] ***************** changed: [10.0.0.38] => {"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.38] => {"changed": true, "services": {"node-init": {"vrouter_node-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-node-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7a8a0574355ee44046351f698acdb585a00890bfee2eef7415205130b92d6a03", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-node-init", "license": "BSD-3-Clause", "name": "opensdn-node-init", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Init container", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": false, "status": "exited"}}}, "nodemgr": {"vrouter_nodemgr_1": {"cmd": ["/bin/sh", "-c", "/usr/local/bin/contrail-nodemgr --nodetype=${NODEMGR_TYPE}"], "image": "nexus.gz1.opensdn.io:5101/opensdn-nodemgr:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "72bf05a93b1c2209761635a41103478b2a3824bfad768bf4c51bb23f5d236f7f", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-nodemgr", "io.opensdn.service": "nodemgr", "license": "BSD-3-Clause", "name": "opensdn-nodemgr", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Node Manager", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "provisioner": {"vrouter_provisioner_1": {"cmd": ["/usr/bin/tail", "-f", "/dev/null"], "image": "nexus.gz1.opensdn.io:5101/opensdn-provisioner:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "7caeb84902608141b5cb5cc5120bcdb9e4249e282a36cc11796b4495305977b4", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-provisioner", "io.opensdn.service": "provisioner", "license": "BSD-3-Clause", "name": "opensdn-provisioner", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Provisioner", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-agent": {"vrouter_vrouter-agent_1": {"cmd": ["/usr/bin/contrail-vrouter-agent"], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-agent:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "2d216b27a189305b38beddf0a7a2d759a0371bc905668cf7a430d291954bd5cd", "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.buildah.version": "1.43.1", "io.opensdn.container.name": "opensdn-vrouter-agent", "io.opensdn.pod": "vrouter", "io.opensdn.service": "agent", "license": "BSD-3-Clause", "name": "opensdn-vrouter-agent", "org.opencontainers.image.authors": "Lukas Magauer, Neil Hanlon, Louis Abel", "org.opencontainers.image.licenses": "BSD-3-Clause", "org.opencontainers.image.source": "https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9", "org.opencontainers.image.title": "rockylinux", "org.opencontainers.image.vendor": "Rocky Enterprise Software Foundation", "org.opencontainers.image.version": "9", "release": "5.1.0", "summary": "Contrail Vrouter Agent", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}, "vrouter-kernel-init": {"vrouter_vrouter-kernel-init_1": {"cmd": [], "image": "nexus.gz1.opensdn.io:5101/opensdn-vrouter-kernel-build-init:master-3_1_0_4-4", "labels": {"com.docker.compose.config-hash": "9c22184e57aab394685196e13f2ee2ad7d06cb07b3990b3ea1ce5621cc88a9e6", "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.created": "2026-10-06T21:25:30.040262+00:00", "org.opencontainers.image.description": "The Ubuntu container image maintained by Canonical\n\nUbuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things.\nIt is the world's most popular operating system across public clouds and OpenStack clouds.\nIt is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale.\nFast, secure and simple, Ubuntu powers millions of PCs worldwide.\n", "org.opencontainers.image.title": "ubuntu", "org.opencontainers.image.version": "26.04", "release": "5.1.0", "summary": "Contrail vrouter kernel module for ubuntu", "vendor": "OpenSDN-IO", "version": "master-3_1_0_4-4"}, "networks": {"host": {"IPAddress": "", "IPPrefixLen": 0, "aliases": [], "globalIPv6": "", "globalIPv6PrefixLen": 0, "links": null, "macAddress": ""}}, "state": {"running": true, "status": "running"}}}}} TASK [opensdn_vrouter : Set variables for DPDK plugins] ************************ ok: [10.0.0.38] => {"ansible_facts": {"mellanox": false, "n3000": false, "plugin_os": "ubuntu"}, "changed": false} PLAY RECAP ********************************************************************* 10.0.0.38 : ok=114 changed=63 unreachable=0 failed=0 skipped=60 rescued=0 ignored=7 localhost : ok=66 changed=2 unreachable=0 failed=0 skipped=34 rescued=0 ignored=0 INFO: done in 0s INFO: check time sync on nodes and force sync Fri Oct 23 14:12:40 UTC 2026 INFO: controller nodes - 10.0.0.38 INFO: agent nodes - 10.0.0.38 INFO: openstack controller nodes - INFO: sync time on machine ubuntu@10.0.0.38 Warning: Permanently added '10.0.0.38' (ED25519) to the list of known hosts. Warning: Permanently added '10.0.0.38' (ED25519) to the list of known hosts. INFO: Fri Oct 23 14:12:41 UTC 2026: ensure time is synced (chronyd) INFO: Fri Oct 23 14:12:41 UTC 2026: time is synced TF Web UI must be available at https://10.0.0.38:8143 OpenStack UI must be avaiable at http://10.0.0.38 Use admin/contrail123 to log in INFO: Stage tf was run successfully Fri Oct 23 14:12:41 UTC 2026 INFO: Running stage wait at Fri Oct 23 14:12:41 UTC 2026 INFO: done in 0s INFO: Stage wait was run successfully Fri Oct 23 14:12:51 UTC 2026 [update tf stack configuration] tf setup profile /home/ubuntu/.tf/stack.env DEPLOYER=ansible CONTRAIL_CONTAINER_TAG=master-3_1_0_4-4 CONTRAIL_DEPLOYER_CONTAINER_TAG=master-3_1_0_4-4 CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 DEPLOYER_CONTAINER_REGISTRY=nexus.gz1.opensdn.io:5101 ORCHESTRATOR=openstack OPENSTACK_VERSION="2025.1" CONTROLLER_NODES="10.0.0.38 " AGENT_NODES="10.0.0.38" CONTROL_NODES="10.20.0.25 " 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.38' OS_AUTH_URL='http://10.0.0.38:5000/v3' AUTH_PASSWORD='contrail123' AUTH_URL='' INFO: Successful deployment Fri Oct 23 14:12:51 UTC 2026 DEBUG: kill running child jobs: INFO: Deploy finished + exit Archiving artifacts Finished: SUCCESS