openstack-ansible-os_adjutant/tasks/adjutant_install.yml
Dmitriy Rabotyagov 7444c804a9 Switch back to use constrained Django version
Supposedly, Adjutant has upgraded used Django version and constrained
version can be used now, since upper limit for Django is not defined
anymore in project requirements [1]

We also fix ansible_facts usage with same commit to resolve
circular dependency.

[1] df8c3e4a8b/requirements.txt (L3)

Change-Id: Ie5c4f5528a25d0a13c12749c1d7af09377792342
2023-04-10 16:54:32 +00:00

60 lines
2.3 KiB
YAML

---
# Copyright 2021, City Network International AB
#
# 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: Install the python venv
import_role:
name: "python_venv_build"
vars:
venv_python_executable: "{{ adjutant_venv_python_executable }}"
venv_build_constraints: "{{ adjutant_git_constraints }}"
venv_build_distro_package_list: "{{ adjutant_devel_distro_packages }}"
venv_install_destination_path: "{{ adjutant_bin | dirname }}"
venv_pip_install_args: "{{ adjutant_pip_install_args }}"
venv_pip_packages: "{{ adjutant_pip_packages }}"
venv_facts_when_changed:
- section: "adjutant"
option: "venv_tag"
value: "{{ adjutant_venv_tag }}"
tags:
- adjutant-install
# NOTE(noonedeadpunk): We perform all these tasks as mysqlclient library requires
# mysql-dev to be installed both during wheels build and runtime (wheel installation).
# To reduce places where we need mysql-devel, we install mysqlclient separately inside
# venv on the adjutant containers directly.
- name: Install maria devel packages
import_role:
name: galera_server
vars:
galera_install_devel: true
- name: Install distro packages for extra package build
package:
name: "{{ adjutant_distro_packages }}"
state: "{{ adjutant_package_state }}"
update_cache: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('yes', omit) }}"
cache_valid_time: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary(cache_timeout, omit) }}"
register: _install_distro_packages
until: _install_distro_packages is success
retries: 5
delay: 2
- name: Install extra pip packages into build venv
pip:
virtualenv: "{{ adjutant_bin | dirname }}"
name: "{{ adjutant_pip_extra_packages }}"
state: present
extra_args: "{{ (adjutant_git_constraints + [adjutant_pip_install_args]) | join(' ') }}"