File: main.yaml

package info (click to toggle)
python-diskimage-builder 3.39.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,704 kB
  • sloc: sh: 7,474; python: 6,454; makefile: 37
file content (73 lines) | stat: -rw-r--r-- 2,648 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
- 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