@@ -7,26 +7,51 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
7
7
8
8
{% import "macros.j2" as macros with context %}
9
9
10
+ {% set venv_path ='/var/lib/kolla/venv' %}
11
+
10
12
{{ macros.configure_user(name='bifrost') }}
11
13
12
14
{# NOTE(mgoddard): EPEL required for nginx #}
13
15
{{ macros.enable_extra_repos(['epel'] ) }}
14
16
15
17
{% set bifrost_base_packages = [
16
- 'cpio' ,
18
+ 'cpio'
17
19
] %}
18
20
21
+ {% if base_package_type == 'rpm' %}
22
+ {% set bifrost_base_packages = bifrost_base_packages + [
23
+ 'python3.12' ,
24
+ 'python3.12-devel'
25
+ ] %}
26
+ {% endif %}
27
+
19
28
{{ macros.install_packages(bifrost_base_packages | customizable("packages")) }}
20
29
21
- ENV VENV /var/lib/kolla/venv
30
+ {# Ensure we use Python 3.12 on RPM-based systems #}
31
+ {% if base_package_type == 'rpm' %}
32
+ RUN cd /usr/bin && \
33
+ rm -f python3 && \
34
+ ln -s python3.12 python3
35
+ {% endif %}
36
+
37
+ ENV VENV {{ venv_path }}
22
38
23
39
{% set bifrost_base_pip_packages = [
24
40
'/bifrost'
25
41
] %}
26
42
27
43
ADD bifrost-base-archive /bifrost-base-source
28
44
COPY build_arg.yml /tmp/build_arg.yml
45
+
46
+ RUN mkdir -p /requirements \
47
+ && curl -o /requirements/upper-constraints.txt ${UPPER_CONSTRAINTS_FILE:-https://releases.openstack.org/constraints/upper/{{ openstack_release }}} \
48
+ && python3 -m venv --system-site-packages {{ venv_path }} \
49
+ && KOLLA_DISTRO_PYTHON_VERSION=$(/usr/bin/python3 -c "import sys; print('{}.{}'.format(sys.version_info.major, sys.version_info.minor))") \
50
+ && cd {{ venv_path }}/lib \
51
+ && ln -s python${KOLLA_DISTRO_PYTHON_VERSION} {{ venv_path }}/lib/python3
52
+
29
53
RUN ln -s bifrost-base-source/* bifrost \
54
+ && {{ macros.install_pip(['pip', 'wheel', 'setuptools'] ) }} \
30
55
&& {{ macros.install_pip(bifrost_base_pip_packages | customizable("pip_packages")) }}
31
56
32
57
WORKDIR /bifrost
@@ -37,11 +62,10 @@ ENV ANSIBLE_GATHER_TIMEOUT=30
37
62
{% block bifrost_ansible_install %}
38
63
{% - if base_package_type == 'deb' %}
39
64
RUN apt-get --error-on=any update && \
40
- bash -c '$VENV/bin/pip install "ansible>=9,<10 " && \
41
65
{% - else %}
42
66
RUN echo " " && \
43
- bash -c '$VENV/bin/pip install " ansible >=8,<9 " && \
44
67
{% - endif %}
68
+ bash -c '$VENV/bin/pip install "ansible>=11,<12 " && \
45
69
$VENV/bin/ansible-galaxy collection install -r /bifrost/ansible-collections-requirements.yml && \
46
70
$VENV/bin/ansible-playbook -vvvv -i /bifrost/playbooks/inventory/target \
47
71
/bifrost/playbooks/install.yaml \
0 commit comments