74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
- name: Install dib extra dependencies
|
|
command: ./install_test_deps.sh
|
|
args:
|
|
chdir: "{{ zuul.project.src_dir }}/tests"
|
|
become: yes
|
|
|
|
- name: Setup mounted space
|
|
file:
|
|
path: '/opt/dib_cache'
|
|
state: directory
|
|
mode: ugo+rw
|
|
become: yes
|
|
|
|
- name: Define upper_constraints
|
|
set_fact:
|
|
upper_constraints: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/requirements'].src_dir }}/upper-constraints.txt"
|
|
|
|
- name: Take ourselves out of uppper constraints
|
|
lineinfile:
|
|
path: "{{ upper_constraints }}"
|
|
state: absent
|
|
regexp: '^diskimage-builder'
|
|
|
|
- name: Install diskimage-builder
|
|
pip:
|
|
name: "file://{{ ansible_user_dir }}/{{ zuul.project.src_dir }}"
|
|
virtualenv: "{{ dib_virtualenv }}"
|
|
virtualenv_command: "{{ ensure_pip_virtualenv_command }}"
|
|
extra_args: "-c {{ upper_constraints }}"
|
|
|
|
- name: Setup log output
|
|
file:
|
|
path: "{{ ansible_user_dir }}/logs"
|
|
state: directory
|
|
mode: ugo+rw
|
|
|
|
# There is a Debian package for dnf-plugins-core but it breaks and replaces
|
|
# zypper which we also want to install. Prior to dnf-plugins-core existing
|
|
# in Debian we fetched the content we needed from github. Continue doing
|
|
# that but pin the version for compatibility with Debian's dnf.
|
|
# Until Debian fixes its dnf-plugins-core package in bookworm; manually
|
|
# install "dnf download" for the yum-minimal element. Note version 4.4.4
|
|
# is the last version compatible with bookworm's dnf package.
|
|
- name: Install dnf download
|
|
shell: |
|
|
set -x
|
|
git clone --depth 1 --branch 4.4.4 https://github.com/rpm-software-management/dnf-plugins-core
|
|
mkdir /usr/lib/python3/dist-packages/dnf-plugins
|
|
cp -r dnf-plugins-core/plugins/dnfpluginscore /usr/lib/python3/dist-packages
|
|
cp dnf-plugins-core/plugins/download.py /usr/lib/python3/dist-packages/dnf-plugins
|
|
rm -rf dnf-plugins-core
|
|
echo 'pluginpath=/usr/lib/python3/dist-packages/dnf-plugins' >> /etc/dnf/dnf.conf
|
|
args:
|
|
executable: /bin/bash
|
|
become: yes
|
|
when: ansible_os_family == 'Debian'
|
|
|
|
- name: Run dib functional tests
|
|
shell:
|
|
cmd: |
|
|
source {{ dib_virtualenv }}/bin/activate
|
|
{{ zuul.project.src_dir }}/tests/run_functests.sh \
|
|
-L {{ ansible_user_dir }}/logs {{ dib_functests | join(' ') }} \
|
|
{{ dib_functests_extra | join(' ') }}
|
|
args:
|
|
executable: /bin/bash
|
|
environment:
|
|
DIB_NO_TMPFS: 1
|
|
TMPDIR: /opt/dib_cache
|
|
DIB_OS_CI_YUM_REPOS: "{{ dib_gate_mirror_repos|default(omit) }}"
|
|
# NOTE(ianw) 2021-10-15 : this might be our bullseye images
|
|
# having issues with non-root podman. This works for now.
|
|
DIB_CONTAINERFILE_RUNTIME_ROOT: 1
|