2023-08-17 11:41:10 |
Jonathan Herlin |
description |
Tested on 24.5.1 & 25.4.0
Playbook 1: https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/playbooks/healthcheck-infrastructure.yml#L99-L106
Playbook 2: https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/playbooks/ceph-rgw-keystone-setup.yml#L16-L24
When the hosts are being evaluated, by default "openstack_service_setup_host" is not defined and being evaluated back to the default of "localhost".
The playbook then loads vars from the "vars_file" and sets "openstack_service_setup_host" to the first utility container.
ansible_python_interpreter is then picking up the https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/playbooks/defaults/source_install.yml#L31 as if we we're running in the utility container, but we are really executing on localhost now which ends up failing the task as we don't have "/openstack/venvs/utility-{{ openstack_release }}/bin/python" on the OSA deployer VM.
A workaround is to uncomment the "openstack_service_setup_host" in the user_variables.yml so that it's always availabe when first evaluating the hosts to target.
https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/etc/openstack_deploy/user_variables.yml#L33 |
Tested on 24.5.1 & 25.4.0
Playbook 1: https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/playbooks/healthcheck-infrastructure.yml#L99-L106
Playbook 2: https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/playbooks/ceph-rgw-keystone-setup.yml#L16-L24
When the hosts are being evaluated, by default "openstack_service_setup_host" is not defined and being evaluated back to the default of "localhost".
The playbook then loads vars from the "vars_file" and sets "openstack_service_setup_host" to the first utility container.
ansible_python_interpreter is then picking up the https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/playbooks/defaults/source_install.yml#L31 as if we were running in the utility container, but we are really executing on localhost now which ends up failing the task as we don't have "/openstack/venvs/utility-{{ openstack_release }}/bin/python" on the OSA deployer VM.
A workaround is to uncomment the "openstack_service_setup_host" in the user_variables.yml so that it's always availabe when first evaluating the hosts to target.
https://github.com/openstack/openstack-ansible/blob/e3d3716b4e5c6af534001df7e22363baeca9abfa/etc/openstack_deploy/user_variables.yml#L33 |
|