diskimage-builder/roles/dib-functests/tasks/main.yaml
Ian Wienand 1a5c563920 Run functional tests on Debian Bullseye
We need to update the base reference platform we perform the
functional tests on.  Debian bullseye seems like the best choice -- it
is recent enough to last for a while, and will match the
nodepool-builder container environment.

Depends-On: https://review.opendev.org/c/zuul/zuul-jobs/+/814088
Change-Id: Ic68e8c5b839cbc2852326747c68ef89f630f26a3
2021-10-20 09:39:27 +11:00

69 lines
2.2 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
# NOTE(ianw) 2021-10-15 : at this point dnf-plugins-core is stuck in
# the NEW queue. Use that when it is available over this hack,
# obviously.
- name: Install dnf download
shell: |
set -x
git clone 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
- 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_PODMAN_ROOT: 1