Started by upstream project "pipeline-check" build number 4883 originally caused by: Triggered by Gerrit: https://gerrit.opensdn.io/c/opensdn-io/tf-ansible-deployer/+/1741 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on slave-openstack-gz1_1 (openstack) in workspace /home/jenkins/workspace/deploy-tf-ansible-k8s [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-k8s/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-k8s/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-check" build number 4883 [deploy-tf-ansible-k8s] $ /bin/bash -xe /tmp/jenkins11861695633284609452.sh + source /home/jenkins/workspace/deploy-tf-ansible-k8s/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-4883 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-4883 ++ 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/41/1741/19/check_4883 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/41/1741/19/check_4883 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883 ++ 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-1_7_4_1-1_9 ++ CONTRAIL_CONTAINER_TAG=master-1_7_4_1-1_9 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-1_7_4_1-1_9 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-1_7_4_1-1_9 ++ 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-1_7_4_1-1_9 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I2fcef72c89c6c1292ab72cacfd044051692a4ad9 ++ GERRIT_CHANGE_ID=I2fcef72c89c6c1292ab72cacfd044051692a4ad9 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-ansible-deployer ++ GERRIT_PROJECT=opensdn-io/tf-ansible-deployer ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + desc='Pipeline: pipeline-check-4883 Random: 86598 Stream: ansible-k8s' + desc+='
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883/ansible-k8s' + echo 'DESCRIPTION Pipeline: pipeline-check-4883 Random: 86598 Stream: ansible-k8s
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883/ansible-k8s' DESCRIPTION Pipeline: pipeline-check-4883 Random: 86598 Stream: ansible-k8s
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883/ansible-k8s [description-setter] Description set: Pipeline: pipeline-check-4883 Random: 86598 Stream: ansible-k8s
Job logs: http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883/ansible-k8s' [deploy-tf-ansible-k8s] $ /bin/bash -xe /tmp/jenkins1900502551854964783.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-k8s/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-4883 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-4883 ++ 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/41/1741/19/check_4883 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/41/1741/19/check_4883 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883 ++ 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-1_7_4_1-1_9 ++ CONTRAIL_CONTAINER_TAG=master-1_7_4_1-1_9 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-1_7_4_1-1_9 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-1_7_4_1-1_9 ++ 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-1_7_4_1-1_9 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I2fcef72c89c6c1292ab72cacfd044051692a4ad9 ++ GERRIT_CHANGE_ID=I2fcef72c89c6c1292ab72cacfd044051692a4ad9 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-ansible-deployer ++ GERRIT_PROJECT=opensdn-io/tf-ansible-deployer ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-jenkins ./patchsets-info.json + ./src/opensdn-io/tf-jenkins/infra/gerrit/apply_patchsets.sh ./src opensdn-io/tf-devstack ./patchsets-info.json [deploy-tf-ansible-k8s] $ /bin/bash -xe /tmp/jenkins16733641309935039992.sh + set -eo pipefail + source /home/jenkins/workspace/deploy-tf-ansible-k8s/global.env ++ export PIPELINE_BUILD_TAG=jenkins-pipeline-check-4883 ++ PIPELINE_BUILD_TAG=jenkins-pipeline-check-4883 ++ 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/41/1741/19/check_4883 ++ LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/41/1741/19/check_4883 ++ export LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883 ++ LOGS_URL=http://nexus.gz1.opensdn.io:8082/jenkins_logs/gerrit/41/1741/19/check_4883 ++ 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-1_7_4_1-1_9 ++ CONTRAIL_CONTAINER_TAG=master-1_7_4_1-1_9 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG=master-1_7_4_1-1_9 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG=master-1_7_4_1-1_9 ++ 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-1_7_4_1-1_9 ++ CONTRAIL_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ export CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ CONTRAIL_DEPLOYER_CONTAINER_TAG_ORIGINAL=master-1_7_4_1-1_9 ++ export GERRIT_PIPELINE=check ++ GERRIT_PIPELINE=check ++ export GERRIT_URL=https://gerrit.opensdn.io/ ++ GERRIT_URL=https://gerrit.opensdn.io/ ++ export GERRIT_CHANGE_ID=I2fcef72c89c6c1292ab72cacfd044051692a4ad9 ++ GERRIT_CHANGE_ID=I2fcef72c89c6c1292ab72cacfd044051692a4ad9 ++ export GERRIT_BRANCH=master ++ GERRIT_BRANCH=master ++ export GERRIT_PROJECT=opensdn-io/tf-ansible-deployer ++ GERRIT_PROJECT=opensdn-io/tf-ansible-deployer ++ export REPOS_CHANNEL=latest ++ REPOS_CHANNEL=latest + source ./src/opensdn-io/tf-jenkins/infra/openstack/definitions ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export OS_NETWORK=management ++ OS_NETWORK=management ++ export OS_DATA_NETWORK=data ++ OS_DATA_NETWORK=data ++ export OS_SG=default ++ OS_SG=default ++ export RESERVED_INSTANCES_COUNT=3 ++ RESERVED_INSTANCES_COUNT=3 ++ export RESERVED_CORES_COUNT=16 ++ RESERVED_CORES_COUNT=16 ++ export VM_BOOT_RETRIES=120 ++ VM_BOOT_RETRIES=120 ++ export VM_BOOT_DELAY=60 ++ VM_BOOT_DELAY=60 ++ export VOLUME_TYPE=ceph-ssd ++ VOLUME_TYPE=ceph-ssd ++ 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-k8s/deps.deploy-tf-ansible-k8s.86598.env ++ export PROVIDER=openstack ++ PROVIDER=openstack ++ export ENVIRONMENT_OS=rocky9 ++ ENVIRONMENT_OS=rocky9 ++ head -1 ++ export DATA_NETWORK=10.20.0.0/24 ++ DATA_NETWORK=10.20.0.0/24 ++ export VROUTER_GATEWAY=10.20.0.1 ++ VROUTER_GATEWAY=10.20.0.1 ++ export IMAGE=4342c5af-7cec-453c-8480-30a37444aa06 ++ IMAGE=4342c5af-7cec-453c-8480-30a37444aa06 ++ export IMAGE_SSH_USER=rocky ++ IMAGE_SSH_USER=rocky ++ export INSTANCE_IDS=8852b3e1-acbf-47dc-9aab-5a46f8f9c0a9, ++ INSTANCE_IDS=8852b3e1-acbf-47dc-9aab-5a46f8f9c0a9, ++ export instance_ip=10.0.0.187 ++ instance_ip=10.0.0.187 ++ export CONTROLLER_NODES=10.0.0.187, ++ CONTROLLER_NODES=10.0.0.187, ++ export CONTROL_NODES=10.20.0.17, ++ CONTROL_NODES=10.20.0.17, ++ export ORCHESTRATOR=kubernetes ++ ORCHESTRATOR=kubernetes ++ export DEPLOYER=ansible ++ DEPLOYER=ansible ++ export JOB_LOGS_PATH=ansible-k8s ++ JOB_LOGS_PATH=ansible-k8s + source /home/jenkins/workspace/deploy-tf-ansible-k8s/vars.deploy-tf-ansible-k8s.86598.env ++ export MONITORING_DEPLOY_TARGET=AIO ++ MONITORING_DEPLOY_TARGET=AIO ++ export MONITORING_DEPLOYER=ansible ++ MONITORING_DEPLOYER=ansible ++ export MONITORING_ORCHESTRATOR=k8s ++ MONITORING_ORCHESTRATOR=k8s ++ export ENVIRONMENT_OS=rocky9 ++ ENVIRONMENT_OS=rocky9 ++ export CONFIG_API_WORKER_COUNT=3 ++ CONFIG_API_WORKER_COUNT=3 ++ export USE_DATAPLANE_NETWORK=true ++ USE_DATAPLANE_NETWORK=true + export FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/41/1741/19/check_4883/ansible-k8s + FULL_LOGS_PATH=/var/www/logs/jenkins_logs/gerrit/41/1741/19/check_4883/ansible-k8s + ./src/opensdn-io/tf-jenkins/jobs/devstack/ansible/deploy_tf.sh INFO: Deploy ansible/ (deploy-tf-ansible-k8s) Warning: Permanently added '10.0.0.187' (ECDSA) to the list of known hosts. Warning: Permanently added '10.0.0.187' (ECDSA) to the list of known hosts. INFO: =================== Mon Oct 26 09:26:16 AM UTC 2026 =================== [there is no tf devenv configuration to load] INFO: Applying stages machines k8s openstack tf wait INFO: Running stage machines at Mon Oct 26 09:26:16 AM UTC 2026 Skipping stage machines because it's finished INFO: Stage machines was run successfully Mon Oct 26 09:26:16 AM UTC 2026 INFO: Running stage k8s at Mon Oct 26 09:26:16 AM UTC 2026 Skipping stage k8s because it's finished INFO: Stage k8s was run successfully Mon Oct 26 09:26:16 AM UTC 2026 INFO: Running stage openstack at Mon Oct 26 09:26:16 AM UTC 2026 Skipping stage openstack because it's finished INFO: Stage openstack was run successfully Mon Oct 26 09:26:16 AM UTC 2026 INFO: Running stage tf at Mon Oct 26 09:26:16 AM 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' Using /home/rocky/tf-ansible-deployer/ansible.cfg as config file PLAY [Create container host group and evaluate variables for opensdn] ********** TASK [Gathering Facts] ********************************************************* ok: [localhost] TASK [Ensure instances have IP-addresses] ************************************** ok: [localhost] => {"ansible_facts": {"instances": {"node_10_0_0_187": {"ip": "10.0.0.187", "private_ip": "10.0.0.187", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "k8s_master": null, "k8s_node": null, "kubemanager": null, "vrouter": null, "webui": null}}}}, "changed": false} TASK [Show instances] ********************************************************** ok: [localhost] => { "instances": { "node_10_0_0_187": { "ip": "10.0.0.187", "private_ip": "10.0.0.187", "provider": "bms", "roles": { "analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "k8s_master": null, "k8s_node": null, "kubemanager": null, "vrouter": null, "webui": null } } } } TASK [Expose SDN roles] ******************************************************** ok: [localhost] => {"ansible_facts": {"sdn_roles": {"node_10_0_0_187": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "k8s_master": null, "k8s_node": null, "kubemanager": 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": "novalocal", "ssh_private_key": "/home/rocky/.ssh/id_rsa", "ssh_pwd": null, "ssh_user": "rocky"}}}, "changed": false} TASK [pip : check if pip present] ********************************************** changed: [localhost] => {"changed": true, "cmd": "python3 -m pip --version", "delta": "0:00:00.251629", "end": "2026-10-26 09:26:20.293648", "msg": "", "rc": 0, "start": "2026-10-26 09:26:20.042019", "stderr": "", "stderr_lines": [], "stdout": "pip 21.3.1 from /home/rocky/.venv/lib/python3.9/site-packages/pip (python 3.9)", "stdout_lines": ["pip 21.3.1 from /home/rocky/.venv/lib/python3.9/site-packages/pip (python 3.9)"]} TASK [pip : upgrade pip] ******************************************************* changed: [localhost] => {"attempts": 1, "changed": true, "cmd": "python3 -m pip install --upgrade 'pip>=20'", "delta": "0:00:00.541500", "end": "2026-10-26 09:26:21.231788", "msg": "", "rc": 0, "start": "2026-10-26 09:26:20.690288", "stderr": "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.", "stderr_lines": ["WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning."], "stdout": "Looking in indexes: http://tf-mirrors.gz1.opensdn.io/root/pypi/+simple/\nRequirement already satisfied: pip>=20 in /usr/local/lib/python3.9/site-packages (26.0.1)", "stdout_lines": ["Looking in indexes: http://tf-mirrors.gz1.opensdn.io/root/pypi/+simple/", "Requirement already satisfied: pip>=20 in /usr/local/lib/python3.9/site-packages (26.0.1)"]} TASK [opensdn_deployer : create container host group] ************************** included: /home/rocky/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_187', 'value': {'ip': '10.0.0.187', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'k8s_master': None, 'kubemanager': None, 'vrouter': None, 'k8s_node': None}, 'private_ip': '10.0.0.187'}}) => {"add_host": {"groups": ["container_hosts", "opensdn_role_analytics", "opensdn_role_analytics_snmp", "opensdn_role_analytics_alarm", "opensdn_role_analytics_database", "opensdn_role_config", "opensdn_role_config_database", "opensdn_role_control", "opensdn_role_webui", "opensdn_role_k8s_master", "opensdn_role_kubemanager", "opensdn_role_vrouter", "opensdn_role_k8s_node"], "host_name": "node_10_0_0_187", "host_vars": {"ansible_become": true, "ansible_host": "10.0.0.187", "ansible_ssh_pass": "", "ansible_ssh_private_key_file": "/home/rocky/.ssh/id_rsa", "ansible_user": "rocky", "instance_name": "node_10_0_0_187", "private_ip": "10.0.0.187"}}, "ansible_loop_var": "item", "changed": true, "item": {"key": "node_10_0_0_187", "value": {"ip": "10.0.0.187", "private_ip": "10.0.0.187", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "k8s_master": null, "k8s_node": null, "kubemanager": null, "vrouter": null, "webui": null}}}} TASK [opensdn_deployer : build node lists] ************************************* included: /home/rocky/tf-ansible-deployer/playbooks/roles/opensdn_deployer/tasks/build_node_lists.yml for localhost TASK [opensdn_deployer : set_fact] ********************************************* ok: [localhost] => {"ansible_facts": {"analytics_alarm_nodes_list": [], "analytics_nodes_list": [], "analytics_snmp_nodes_list": [], "analyticsdb_nodes_list": [], "config_nodes_list": [], "configdb_nodes_list": [], "control_nodes_list": [], "control_nodes_pods": {}, "k8s_master_nodes_list": [], "k8s_node_nodes_list": [], "kubemanager_nodes_list": [], "locations_control_nodes": {}, "openstack_nodes_list": [], "tsn_nodes_list": [], "vrouter_nodes_list": [], "webui_nodes_list": []}, "changed": false} TASK [opensdn_deployer : define config nodes list] ***************************** ok: [localhost] => {"ansible_facts": {"config_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define control nodes list] **************************** ok: [localhost] => {"ansible_facts": {"control_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define configdb nodes list] *************************** ok: [localhost] => {"ansible_facts": {"configdb_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define analytics nodes list] ************************** ok: [localhost] => {"ansible_facts": {"analytics_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define analytics snmp nodes list] ********************* ok: [localhost] => {"ansible_facts": {"analytics_snmp_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define analytics alarm nodes list] ******************** ok: [localhost] => {"ansible_facts": {"analytics_alarm_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define analyticsdb nodes list] ************************ ok: [localhost] => {"ansible_facts": {"analyticsdb_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define webui nodes list] ****************************** ok: [localhost] => {"ansible_facts": {"webui_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define k8s_master nodes list] ************************* ok: [localhost] => {"ansible_facts": {"k8s_master_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define k8s_node nodes list] *************************** ok: [localhost] => {"ansible_facts": {"k8s_node_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define kubemanager nodes list] ************************ ok: [localhost] => {"ansible_facts": {"kubemanager_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define openstack nodes list] ************************** ok: [localhost] => {"ansible_facts": {"openstack_nodes_list": []}, "changed": false} TASK [opensdn_deployer : define Vrouter nodes list] **************************** ok: [localhost] => {"ansible_facts": {"vrouter_nodes_list": ["10.0.0.187"]}, "changed": false} TASK [opensdn_deployer : define TSN nodes list] ******************************** ok: [localhost] => {"ansible_facts": {"tsn_nodes_list": []}, "changed": false} TASK [opensdn_deployer : define control nodes list for remote locations] ******* ok: [localhost] => (item={'key': 'node_10_0_0_187', 'value': {'ip': '10.0.0.187', 'provider': 'bms', 'roles': {'analytics': None, 'analytics_snmp': None, 'analytics_alarm': None, 'analytics_database': None, 'config': None, 'config_database': None, 'control': None, 'webui': None, 'k8s_master': None, 'kubemanager': None, 'vrouter': None, 'k8s_node': None}, 'private_ip': '10.0.0.187'}}) => {"ansible_facts": {"locations_control_nodes": {"": ["10.0.0.187"]}}, "ansible_loop_var": "item", "changed": false, "item": {"key": "node_10_0_0_187", "value": {"ip": "10.0.0.187", "private_ip": "10.0.0.187", "provider": "bms", "roles": {"analytics": null, "analytics_alarm": null, "analytics_database": null, "analytics_snmp": null, "config": null, "config_database": null, "control": null, "k8s_master": null, "k8s_node": null, "kubemanager": null, "vrouter": null, "webui": null}}}} TASK [opensdn_deployer : OpenSDN nodes summary] ******************************** ok: [localhost] => { "msg": { "analytics_alarm_nodes_list": [ "10.0.0.187" ], "analytics_nodes_list": [ "10.0.0.187" ], "analytics_snmp_nodes_list": [ "10.0.0.187" ], "analyticsdb_nodes_list": [ "10.0.0.187" ], "config_nodes_list": [ "10.0.0.187" ], "configdb_nodes_list": [ "10.0.0.187" ], "control_nodes_list": [ "10.0.0.187" ], "k8s_master_nodes_list": [ "10.0.0.187" ], "k8s_node_nodes_list": [ "10.0.0.187" ], "kubemanager_nodes_list": [ "10.0.0.187" ], "locations_control_nodes": { "": [ "10.0.0.187" ] }, "openstack_nodes_list": [], "tsn_nodes_list": [], "vrouter_nodes_list": [ "10.0.0.187" ], "webui_nodes_list": [ "10.0.0.187" ] } } TASK [opensdn_deployer : set global variables] ********************************* included: /home/rocky/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-1_7_4_1-1_9"}, "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 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.187", "opencontrail_collector_ip": "10.0.0.187"}, "changed": false} TASK [opensdn_deployer : set default variables] ******************************** included: /home/rocky/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/rocky/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": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'CONTROLLER_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'CONFIGDB_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_SNMP_ENABLE": "true", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'ANALYTICS_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'ANALYTICS_SNMP_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'ANALYTICS_ALARM_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'ANALYTICSDB_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "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.187"]}} ok: [localhost] => (item={'name': 'WEBUI_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "WEBUI_NODES", "nodes": ["10.0.0.187"]}} ok: [localhost] => (item={'name': 'KUBERNETES_API_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBERNETES_API_NODES": "10.0.0.187", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "KUBERNETES_API_NODES", "nodes": ["10.0.0.187"]}} ok: [localhost] => (item={'name': 'KUBEMANAGER_NODES', 'nodes': ['10.0.0.187']}) => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": "true", "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBEMANAGER_NODES": "10.0.0.187", "KUBERNETES_API_NODES": "10.0.0.187", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "ansible_loop_var": "item", "changed": false, "item": {"name": "KUBEMANAGER_NODES", "nodes": ["10.0.0.187"]}} TASK [opensdn_deployer : show remote_locations intact] ************************* ok: [localhost] => { "remote_locations": {} } TASK [opensdn_deployer : show remote_locations modified] *********************** ok: [localhost] => { "remote_locations": {} } TASK [opensdn_deployer : check analyticsi database presence] ******************* ok: [localhost] => {"ansible_facts": {"has_analytics_database": true}, "changed": false} TASK [opensdn_deployer : print analytics database presence] ******************** ok: [localhost] => { "has_analytics_database": true } TASK [opensdn_deployer : store analytics database presence into configuration] *** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": "true", "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBEMANAGER_NODES": "10.0.0.187", "KUBERNETES_API_NODES": "10.0.0.187", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "changed": false} TASK [opensdn_deployer : check analytics alarm presence] *********************** ok: [localhost] => {"ansible_facts": {"has_analytics_alarm": true}, "changed": false} TASK [opensdn_deployer : print analytics alarm presence] *********************** ok: [localhost] => { "has_analytics_alarm": true } TASK [opensdn_deployer : store analytics database presence into configuration] *** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": "true", "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBEMANAGER_NODES": "10.0.0.187", "KUBERNETES_API_NODES": "10.0.0.187", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "changed": false} TASK [opensdn_deployer : check analytics snmp presence] ************************ ok: [localhost] => {"ansible_facts": {"has_analytics_snmp": true}, "changed": false} TASK [opensdn_deployer : print analytics snmp presence] ************************ ok: [localhost] => { "has_analytics_snmp": true } TASK [opensdn_deployer : store analytics snmp presence into configuration] ***** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBEMANAGER_NODES": "10.0.0.187", "KUBERNETES_API_NODES": "10.0.0.187", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "changed": false} TASK [opensdn_deployer : build cluster node role lists] ************************ included: /home/rocky/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 : define k8s_masters] *************************************** ok: [localhost] => {"ansible_facts": {"k8s_masters": ["node_10_0_0_187"]}, "changed": false} TASK [k8s_deployer : define k8s_nodes] ***************************************** ok: [localhost] => {"ansible_facts": {"k8s_nodes": ["node_10_0_0_187"]}, "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 : fill master lists] **************************************** ok: [localhost] => (item=node_10_0_0_187) => {"ansible_facts": {"k8s_master_ip_list": ["10.0.0.187"], "k8s_master_name_list": ["node_10_0_0_187"]}, "ansible_loop_var": "item", "changed": false, "item": "node_10_0_0_187"} TASK [k8s_deployer : show master_ip list] ************************************** ok: [localhost] => { "msg": [ "10.0.0.187" ] } TASK [k8s_deployer : show master_name list] ************************************ ok: [localhost] => { "msg": [ "node_10_0_0_187" ] } TASK [k8s_deployer : set master_ip as first item of master_ip list] ************ ok: [localhost] => {"ansible_facts": {"k8s_master_ip": "10.0.0.187"}, "changed": false} TASK [k8s_deployer : set master_name as first item of master_name list] ******** ok: [localhost] => {"ansible_facts": {"k8s_master_name": "node_10_0_0_187"}, "changed": false} TASK [k8s_deployer : create contrail_configuration.KUBERNETES_API_SERVER for nodes] *** ok: [localhost] => {"ansible_facts": {"contrail_configuration": {"ANALYTICSDB_ENABLE": true, "ANALYTICSDB_NODES": "10.0.0.187", "ANALYTICS_ALARM_ENABLE": true, "ANALYTICS_ALARM_NODES": "10.0.0.187", "ANALYTICS_NODES": "10.0.0.187", "ANALYTICS_SNMP_ENABLE": true, "ANALYTICS_SNMP_NODES": "10.0.0.187", "CASSANDRA_SSL_ENABLE": "false", "CLOUD_ORCHESTRATOR": "kubernetes", "CONFIGDB_NODES": "10.0.0.187", "CONFIG_API_WORKER_COUNT": "3", "CONFIG_DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "CONFIG_NODES": "10.0.0.187", "CONTRAIL_CONTAINER_TAG": "master-1_7_4_1-1_9", "CONTROLLER_NODES": "10.0.0.187", "CONTROL_NODES": "10.20.0.17", "DATABASE_NODEMGR__DEFAULTS__minimum_diskGB": "2", "HUGE_PAGES_2MB": "256", "JVM_EXTRA_OPTS": "-Xms1g -Xmx2g", "KUBEMANAGER_NODES": "10.0.0.187", "KUBERNETES_API_NODES": "10.0.0.187", "KUBERNETES_API_SERVER": "10.0.0.187", "KUBERNETES_PUBLIC_FIP_POOL": {"domain": "default-domain", "name": "__fip_pool_public__", "network": "__public__", "project": "k8s-default"}, "LOG_LEVEL": "SYS_DEBUG", "RABBITMQ_USE_SSL": "false", "SSL_ENABLE": "false", "STDIN_OPEN": true, "TTY": true, "VROUTER_ENCRYPTION": false, "WEBUI_NODES": "10.0.0.187"}}, "changed": false} TASK [k8s_deployer : create k8s_master_host host group] ************************ changed: [localhost] => (item=node_10_0_0_187) => {"add_host": {"groups": ["k8s_master_host"], "host_name": "node_10_0_0_187", "host_vars": {}}, "ansible_loop_var": "item", "changed": true, "item": "node_10_0_0_187"} TASK [k8s_deployer : create k8s_hosts host group] ****************************** changed: [localhost] => (item=node_10_0_0_187) => {"add_host": {"groups": ["k8s_hosts"], "host_name": "node_10_0_0_187", "host_vars": {}}, "ansible_loop_var": "item", "changed": true, "item": "node_10_0_0_187"} PLAY [Set compose version] ***************************************************** TASK [include_role : compose] ************************************************** TASK [compose : docker_compose_v2 support check cli] *************************** ok: [node_10_0_0_187] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "changed": false, "cmd": ["docker", "compose"], "delta": "0:00:00.058957", "end": "2026-10-26 09:26:30.538143", "failed_when_result": false, "msg": "", "rc": 0, "start": "2026-10-26 09:26:30.479186", "stderr": "", "stderr_lines": [], "stdout": "Usage: docker compose [OPTIONS] COMMAND\n\nDefine and run multi-container applications with Docker\n\nOptions:\n --all-resources Include all resources, even those not\n used by services\n --ansi string Control when to print ANSI control\n characters (\"never\"|\"always\"|\"auto\")\n (default \"auto\")\n --compatibility Run compose in backward compatibility mode\n --dry-run Execute command in dry run mode\n --env-file stringArray Specify an alternate environment file\n -f, --file stringArray Compose configuration files\n --parallel int Control max parallelism, -1 for\n unlimited (default -1)\n --profile stringArray Specify a profile to enable\n --progress string Set type of progress output (auto,\n tty, plain, json, quiet)\n --project-directory string Specify an alternate working directory\n (default: the path of the, first\n specified, Compose file)\n -p, --project-name string Project name\n\nManagement Commands:\n bridge Convert compose files into another model\n\nCommands:\n attach Attach local standard input, output, and error streams to a service's running container\n build Build or rebuild services\n commit Create a new image from a service container's changes\n config Parse, resolve and render compose file in canonical format\n cp Copy files/folders between a service container and the local filesystem\n create Creates containers for a service\n down Stop and remove containers, networks\n events Receive real time events from containers\n exec Execute a command in a running container\n export Export a service container's filesystem as a tar archive\n images List images used by the created containers\n kill Force stop service containers\n logs View output from containers\n ls List running compose projects\n pause Pause services\n port List port mappings or print the public port for a specific mapping for the service\n ps List containers\n publish Publish compose application\n pull Pull service images\n push Push service images\n restart Restart service containers\n rm Removes stopped service containers\n run Run a one-off command on a service\n scale Scale services \n start Start services\n stats Display a live stream of container(s) resource usage statistics\n stop Stop services\n top Display the running processes\n unpause Unpause services\n up Create and start containers\n version Show the Docker Compose version information\n volumes List volumes\n wait Block until containers of all (or specified) services stop.\n watch Watch build context for service and rebuild/refresh containers when files are updated\n\nRun 'docker compose COMMAND --help' for more information on a command.", "stdout_lines": ["Usage: docker compose [OPTIONS] COMMAND", "", "Define and run multi-container applications with Docker", "", "Options:", " --all-resources Include all resources, even those not", " used by services", " --ansi string Control when to print ANSI control", " characters (\"never\"|\"always\"|\"auto\")", " (default \"auto\")", " --compatibility Run compose in backward compatibility mode", " --dry-run Execute command in dry run mode", " --env-file stringArray Specify an alternate environment file", " -f, --file stringArray Compose configuration files", " --parallel int Control max parallelism, -1 for", " unlimited (default -1)", " --profile stringArray Specify a profile to enable", " --progress string Set type of progress output (auto,", " tty, plain, json, quiet)", " --project-directory string Specify an alternate working directory", " (default: the path of the, first", " specified, Compose file)", " -p, --project-name string Project name", "", "Management Commands:", " bridge Convert compose files into another model", "", "Commands:", " attach Attach local standard input, output, and error streams to a service's running container", " build Build or rebuild services", " commit Create a new image from a service container's changes", " config Parse, resolve and render compose file in canonical format", " cp Copy files/folders between a service container and the local filesystem", " create Creates containers for a service", " down Stop and remove containers, networks", " events Receive real time events from containers", " exec Execute a command in a running container", " export Export a service container's filesystem as a tar archive", " images List images used by the created containers", " kill Force stop service containers", " logs View output from containers", " ls List running compose projects", " pause Pause services", " port List port mappings or print the public port for a specific mapping for the service", " ps List containers", " publish Publish compose application", " pull Pull service images", " push Push service images", " restart Restart service containers", " rm Removes stopped service containers", " run Run a one-off command on a service", " scale Scale services ", " start Start services", " stats Display a live stream of container(s) resource usage statistics", " stop Stop services", " top Display the running processes", " unpause Unpause services", " up Create and start containers", " version Show the Docker Compose version information", " volumes List volumes", " wait Block until containers of all (or specified) services stop.", " watch Watch build context for service and rebuild/refresh containers when files are updated", "", "Run 'docker compose COMMAND --help' for more information on a command."]} TASK [compose : docker_compose set version] ************************************ ok: [node_10_0_0_187] => {"ansible_facts": {"compose_version": "1"}, "changed": false} PLAY [Remove opensdn from Deleted Nodes ( Deregister )] ************************ skipping: no hosts matched PLAY [Remove opensdn from Deleted Nodes ( Cleanup )] *************************** skipping: no hosts matched PLAY [opensdn common] ********************************************************** TASK [Gathering Facts] ********************************************************* ok: [node_10_0_0_187] TASK [opensdn : run common tasks] ********************************************** included: /home/rocky/tf-ansible-deployer/playbooks/roles/opensdn/tasks/common_Linux.yml for node_10_0_0_187 TASK [opensdn : create /var/log/contrail] ************************************** changed: [node_10_0_0_187] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/var/log/contrail", "secontext": "unconfined_u:object_r:var_log_t:s0", "size": 6, "state": "directory", "uid": 0} TASK [opensdn : create /etc/contrail/compose] ********************************** changed: [node_10_0_0_187] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/compose", "secontext": "unconfined_u:object_r:etc_t:s0", "size": 6, "state": "directory", "uid": 0} TASK [opensdn : populate common.env] ******************************************* changed: [node_10_0_0_187] => {"changed": true, "checksum": "0b2c03db7fb683bb910aa69d264ff67006ec9c57", "dest": "/etc/contrail/common.env", "gid": 0, "group": "root", "md5sum": "08f05e992ecf67cdddbac4c6bbe05f29", "mode": "0640", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 938, "src": "/home/rocky/.ansible/tmp/ansible-tmp-1793006792.3177524-42831-69467529077961/source", "state": "file", "uid": 0} TASK [opensdn : populate defaults.env] ***************************************** changed: [node_10_0_0_187] => {"changed": true, "checksum": "d0ec2d02b27484bcf9f59ef41e7b993311d55516", "dest": "/etc/contrail/defaults.env", "gid": 0, "group": "root", "md5sum": "4a16eb30253a69c955c1d715f6fef5a6", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 27, "src": "/home/rocky/.ansible/tmp/ansible-tmp-1793006793.2908869-42967-15254221416736/source", "state": "file", "uid": 0} PLAY [opensdn redis] *********************************************************** TASK [include_role : opensdn_redis] ******************************************** TASK [opensdn_redis : create /etc/contrail/redis] ****************************** changed: [node_10_0_0_187] => {"changed": true, "gid": 0, "group": "root", "mode": "0755", "owner": "root", "path": "/etc/contrail/redis", "secontext": "unconfined_u:object_r:etc_t:s0", "size": 6, "state": "directory", "uid": 0} TASK [opensdn_redis : Set variables for Stunnel] ******************************* ok: [node_10_0_0_187] => {"ansible_facts": {"redis_ssl_enable": false}, "changed": false} TASK [opensdn_redis : create redis compose file] ******************************* changed: [node_10_0_0_187] => {"changed": true, "checksum": "e9e1b05bddda6e613cb549af54e6f3f6c83f7eb6", "dest": "/etc/contrail/redis/docker-compose.yaml", "gid": 0, "group": "root", "md5sum": "96754f65b893e68b7d637883ab752e18", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 185, "src": "/home/rocky/.ansible/tmp/ansible-tmp-1793006794.4751003-43130-117271470380820/source", "state": "file", "uid": 0} TASK [include_role : opensdn_redis] ******************************************** TASK [update redis images] ***************************************************** ERROR! couldn't resolve module/action 'community.docker.docker_compose_pull'. This often indicates a misspelling, missing collection, or incorrect module path. The error appears to be in '/home/rocky/tf-ansible-deployer/playbooks/roles/compose_pull_v1/tasks/main.yml': line 1, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: "{{ compose_name }}" ^ here We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance: with_items: - {{ foo }} Should be written as: with_items: - "{{ foo }}" DEBUG: kill running child jobs: INFO: Deploy finished + res=1 + exit 1 Build step 'Execute shell' marked build as failure Archiving artifacts Finished: FAILURE