![Markos Chandras](/assets/img/avatar_default.png)
The venv_python_path tasks were in the roles directroy but we were including it as a normal file with a list of tasks so it was not really an Ansible role. This does not work well when we use the Bifrost roles outside of bifrost since Ansible does not know where to find this file for inclusion. Our best chance is to convert it to a simple role which can be statically imported. Change-Id: I82fdfe48f9f2eb631165ab630157bc378ddc631d
34 lines
1.3 KiB
YAML
34 lines
1.3 KiB
YAML
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
# implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
---
|
|
- name: "If VENV is set in the environment, enable installation into venv"
|
|
set_fact:
|
|
enable_venv: true
|
|
when: lookup('env', 'VENV') | length > 0
|
|
|
|
- name: "Retrieve venv python path"
|
|
shell: "/bin/echo -e \"import sys\\nprint(':'.join(sys.path))\" | {{ ansible_python.get('executable', '/usr/bin/python').split('/')[-1] }}"
|
|
environment: "{{ bifrost_venv_env | default({}) }}"
|
|
register: venv_pythonpath_result
|
|
when: enable_venv
|
|
|
|
- name: "Compute venv python path"
|
|
set_fact:
|
|
venv_pythonpath:
|
|
PYTHONPATH: "{{ venv_pythonpath_result.get('stdout', '') }}"
|
|
when: enable_venv
|
|
|
|
- name: "Compute proper complete venv including proper Python path"
|
|
set_fact:
|
|
venv: "{{ venv | default({}) | combine(bifrost_venv_env | default({})) | combine(venv_pythonpath | default({})) }}"
|