diff --git a/playbooks/roles/bifrost-configdrives-dynamic/defaults/main.yml b/playbooks/roles/bifrost-configdrives-dynamic/defaults/main.yml index b4a89797b..1025fa026 100644 --- a/playbooks/roles/bifrost-configdrives-dynamic/defaults/main.yml +++ b/playbooks/roles/bifrost-configdrives-dynamic/defaults/main.yml @@ -27,3 +27,8 @@ iso_gen_utility: "mkisofs" # Deprecated, remove in Queens release node_network_info: {} + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-create-bootable-image/defaults/main.yml b/playbooks/roles/bifrost-create-bootable-image/defaults/main.yml index a0f1a7c66..065f3562e 100644 --- a/playbooks/roles/bifrost-create-bootable-image/defaults/main.yml +++ b/playbooks/roles/bifrost-create-bootable-image/defaults/main.yml @@ -3,3 +3,8 @@ http_boot_folder: /httpboot deploy_image_filename: "partition_image.raw" deploy_image: "{{http_boot_folder}}/{{deploy_image_filename}}" + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-create-dib-image/defaults/main.yml b/playbooks/roles/bifrost-create-dib-image/defaults/main.yml index 0bedc43c2..d34ea211c 100644 --- a/playbooks/roles/bifrost-create-dib-image/defaults/main.yml +++ b/playbooks/roles/bifrost-create-dib-image/defaults/main.yml @@ -25,3 +25,4 @@ bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" bifrost_venv_env: VIRTUAL_ENV: "{{ bifrost_venv_dir }}" PATH: "{{ bifrost_venv_dir }}/bin:{{ ansible_env.PATH }}" # include regular path via lookup env +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-create-vm-nodes/defaults/main.yml b/playbooks/roles/bifrost-create-vm-nodes/defaults/main.yml index f4c43994e..8d4de4731 100644 --- a/playbooks/roles/bifrost-create-vm-nodes/defaults/main.yml +++ b/playbooks/roles/bifrost-create-vm-nodes/defaults/main.yml @@ -40,6 +40,7 @@ bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" bifrost_venv_env: VIRTUAL_ENV: "{{ bifrost_venv_dir }}" PATH: "{{ bifrost_venv_dir }}/bin:{{ ansible_env.PATH }}" # include regular path via lookup env +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" git_branch: master git_root: "/opt/stack" diff --git a/playbooks/roles/bifrost-deploy-nodes-dynamic/defaults/main.yml b/playbooks/roles/bifrost-deploy-nodes-dynamic/defaults/main.yml index 9db613996..494a5758b 100644 --- a/playbooks/roles/bifrost-deploy-nodes-dynamic/defaults/main.yml +++ b/playbooks/roles/bifrost-deploy-nodes-dynamic/defaults/main.yml @@ -24,3 +24,8 @@ wait_timeout: 1800 # Timeout for gathering facts. fact_gather_timeout: "{{ lookup('config', 'DEFAULT_GATHER_TIMEOUT', on_missing='skip') | default(omit, true) }}" + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-ironic-install/defaults/main.yml b/playbooks/roles/bifrost-ironic-install/defaults/main.yml index ee3c88742..b66e3e69d 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/main.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/main.yml @@ -249,6 +249,7 @@ bifrost_venv_env: VIRTUAL_ENV: "{{ bifrost_venv_dir }}" PATH: "{{ bifrost_venv_dir }}/bin:{{ ansible_env.PATH }}" # include regular path via lookup env pydoc: "python -m pydoc" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" # Authentication support # By default, bifrost was developed around being a toolkit diff --git a/playbooks/roles/bifrost-keystone-client-config/defaults/main.yml b/playbooks/roles/bifrost-keystone-client-config/defaults/main.yml index 61c17a196..7efbbe9f2 100644 --- a/playbooks/roles/bifrost-keystone-client-config/defaults/main.yml +++ b/playbooks/roles/bifrost-keystone-client-config/defaults/main.yml @@ -1,3 +1,8 @@ --- ironic_api_url: "http://localhost:6385" ironic_inspector_api_url: "http://localhost:5050" + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-keystone-install/defaults/main.yml b/playbooks/roles/bifrost-keystone-install/defaults/main.yml index 59f9d892a..f4465a958 100644 --- a/playbooks/roles/bifrost-keystone-install/defaults/main.yml +++ b/playbooks/roles/bifrost-keystone-install/defaults/main.yml @@ -42,7 +42,7 @@ bifrost_venv_env: VIRTUAL_ENV: "{{ bifrost_venv_dir }}" PATH: "{{ bifrost_venv_dir }}/bin:{{ ansible_env.PATH }}" # include regular path via lookup env pydoc: "python -m pydoc" - +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" keystone: debug: true diff --git a/playbooks/roles/bifrost-pip-install/defaults/main.yml b/playbooks/roles/bifrost-pip-install/defaults/main.yml index 9f021836c..bade9401d 100644 --- a/playbooks/roles/bifrost-pip-install/defaults/main.yml +++ b/playbooks/roles/bifrost-pip-install/defaults/main.yml @@ -7,6 +7,7 @@ bifrost_venv_env: enable_venv: true skip_install: false source_install: false +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" # Pip options extra_args: diff --git a/playbooks/roles/bifrost-prep-for-install/defaults/main.yml b/playbooks/roles/bifrost-prep-for-install/defaults/main.yml index ca6e19618..3e5494871 100644 --- a/playbooks/roles/bifrost-prep-for-install/defaults/main.yml +++ b/playbooks/roles/bifrost-prep-for-install/defaults/main.yml @@ -114,3 +114,8 @@ bifrost_install_sources: git_url: "{{ ipa_builder_git_url }}" git_branch: "{{ ipa_builder_git_branch }}" name: ironic-python-agent-builder + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml b/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml index 676d69edc..9e35436d7 100644 --- a/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml +++ b/playbooks/roles/bifrost-prepare-for-test-dynamic/defaults/main.yml @@ -2,3 +2,8 @@ node_ssh_pause: 10 wait_timeout: 900 multinode_testing: false + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-rabbitmq/defaults/main.yml b/playbooks/roles/bifrost-rabbitmq/defaults/main.yml index 11016d1eb..f6e870e54 100644 --- a/playbooks/roles/bifrost-rabbitmq/defaults/main.yml +++ b/playbooks/roles/bifrost-rabbitmq/defaults/main.yml @@ -4,3 +4,8 @@ skip_package_install: false rabbitmq_package: rabbitmq-server rabbitmq_port: 5672 rabbitmq_service: rabbitmq-server + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/bifrost-unprovision-node-dynamic/defaults/main.yml b/playbooks/roles/bifrost-unprovision-node-dynamic/defaults/main.yml index 8949c3347..9fe3f8d58 100644 --- a/playbooks/roles/bifrost-unprovision-node-dynamic/defaults/main.yml +++ b/playbooks/roles/bifrost-unprovision-node-dynamic/defaults/main.yml @@ -2,3 +2,8 @@ ironic_url: "http://localhost:6385/" noauth_mode: true wait_for_node_undeploy: false + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/ironic-delete-dynamic/defaults/main.yml b/playbooks/roles/ironic-delete-dynamic/defaults/main.yml index 55c8c7cc1..bfee2399a 100644 --- a/playbooks/roles/ironic-delete-dynamic/defaults/main.yml +++ b/playbooks/roles/ironic-delete-dynamic/defaults/main.yml @@ -1,3 +1,8 @@ --- ironic_url: "http://localhost:6385/" noauth_mode: true + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/ironic-enroll-dynamic/defaults/main.yml b/playbooks/roles/ironic-enroll-dynamic/defaults/main.yml index eca986ae5..40a7ae895 100644 --- a/playbooks/roles/ironic-enroll-dynamic/defaults/main.yml +++ b/playbooks/roles/ironic-enroll-dynamic/defaults/main.yml @@ -18,3 +18,8 @@ noauth_mode: true # Timeout for gathering facts. fact_gather_timeout: "{{ lookup('config', 'DEFAULT_GATHER_TIMEOUT', on_missing='skip') | default(omit, true) }}" + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}" diff --git a/playbooks/roles/ironic-inspect-node/defaults/main.yml b/playbooks/roles/ironic-inspect-node/defaults/main.yml index 5c9d3a249..8ef1fadbe 100644 --- a/playbooks/roles/ironic-inspect-node/defaults/main.yml +++ b/playbooks/roles/ironic-inspect-node/defaults/main.yml @@ -8,3 +8,8 @@ inventory_dns: false # Timeout for gathering facts. fact_gather_timeout: "{{ lookup('config', 'DEFAULT_GATHER_TIMEOUT', on_missing='skip') | default(omit, true) }}" + +# Ensure that Ansible is using python interpreter and dependencies inside the bifrost virtual environment +enable_venv: true +bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" +ansible_python_interpreter: "{{ bifrost_venv_dir + '/bin/python3' if enable_venv | bool else '/usr/bin/python3' }}"