From 998a14148255b8360a291df797f36c5d84193cbf Mon Sep 17 00:00:00 2001 From: Rafael Guterres Jeffman <rjeffman@redhat.com> Date: Mon, 17 Jan 2022 09:23:06 -0300 Subject: [PATCH] upstream CI: Enable CentOS 8 Stream for PR and nightly tests. Add configuration to build a testing CentOS 8 stream image and to execute upstream tests using that image in pull requests (Ansible 2.9) and on the nightly tests (all supported Ansible versions). --- molecule/c8s-build/Dockerfile | 30 ++++++++++++++++++++++++ molecule/c8s-build/molecule.yml | 18 ++++++++++++++ molecule/c8s/molecule.yml | 19 +++++++++++++++ tests/azure/azure-pipelines.yml | 15 ++++++++++-- tests/azure/build-containers.yml | 6 +++++ tests/azure/nightly.yml | 40 +++++++++++++++++++++++++++++++- 6 files changed, 125 insertions(+), 3 deletions(-) create mode 100644 molecule/c8s-build/Dockerfile create mode 100644 molecule/c8s-build/molecule.yml create mode 100644 molecule/c8s/molecule.yml diff --git a/molecule/c8s-build/Dockerfile b/molecule/c8s-build/Dockerfile new file mode 100644 index 00000000..7bdc1764 --- /dev/null +++ b/molecule/c8s-build/Dockerfile @@ -0,0 +1,30 @@ +FROM quay.io/centos/centos:stream8 +ENV container=docker + +RUN rm -fv /var/cache/dnf/metadata_lock.pid; \ +dnf makecache; \ +dnf --assumeyes install \ + /usr/bin/python3 \ + /usr/bin/python3-config \ + /usr/bin/dnf-3 \ + sudo \ + bash \ + systemd \ + procps-ng \ + iproute && \ +dnf clean all; \ +(cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ +rm -f /lib/systemd/system/multi-user.target.wants/*;\ +rm -f /etc/systemd/system/*.wants/*;\ +rm -f /lib/systemd/system/local-fs.target.wants/*; \ +rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ +rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ +rm -f /lib/systemd/system/basic.target.wants/*;\ +rm -f /lib/systemd/system/anaconda.target.wants/*; \ +rm -rf /var/cache/dnf/; + +STOPSIGNAL RTMIN+3 + +VOLUME ["/sys/fs/cgroup"] + +CMD ["/usr/sbin/init"] diff --git a/molecule/c8s-build/molecule.yml b/molecule/c8s-build/molecule.yml new file mode 100644 index 00000000..86d5d610 --- /dev/null +++ b/molecule/c8s-build/molecule.yml @@ -0,0 +1,18 @@ +--- +driver: + name: docker +platforms: + - name: c8s-build + image: "quay.io/centos/centos:stream8" + dockerfile: Dockerfile + hostname: ipaserver.test.local + dns_servers: + - 8.8.8.8 + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + command: /usr/sbin/init + privileged: true +provisioner: + name: ansible + playbooks: + prepare: ../resources/playbooks/prepare-build.yml diff --git a/molecule/c8s/molecule.yml b/molecule/c8s/molecule.yml new file mode 100644 index 00000000..79f35c54 --- /dev/null +++ b/molecule/c8s/molecule.yml @@ -0,0 +1,19 @@ +--- +driver: + name: docker +platforms: + - name: c8s + image: quay.io/ansible-freeipa/upstream-tests:c8s + pre_build_image: true + hostname: ipaserver.test.local + dns_servers: + - 127.0.0.1 + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:ro + command: /usr/sbin/init + privileged: true +provisioner: + name: ansible + playbooks: + prepare: ../resources/playbooks/prepare.yml +prerun: false diff --git a/tests/azure/azure-pipelines.yml b/tests/azure/azure-pipelines.yml index b1cf3469..d188fd54 100644 --- a/tests/azure/azure-pipelines.yml +++ b/tests/azure/azure-pipelines.yml @@ -18,9 +18,9 @@ stages: scenario: fedora-latest ansible_version: ">=2.9,<2.10" -# CentOS 9 +# CentOS 9 Stream -- stage: CentOS9_Ansible_2_9 +- stage: c9s_Ansible_2_9 dependsOn: [] jobs: - template: templates/group_tests.yml @@ -29,6 +29,17 @@ stages: scenario: centos-9 ansible_version: ">=2.9,<2.10" +# CentOS 8 Stream + +- stage: c8s_Ansible_2_9 + dependsOn: [] + jobs: + - template: templates/group_tests.yml + parameters: + build_number: $(Build.BuildNumber) + scenario: c8s + ansible_version: ">=2.9,<2.10" + # CentOS 8 - stage: CentOS8_Ansible_2_9 diff --git a/tests/azure/build-containers.yml b/tests/azure/build-containers.yml index 633eb825..9bdc5521 100644 --- a/tests/azure/build-containers.yml +++ b/tests/azure/build-containers.yml @@ -27,6 +27,12 @@ jobs: container_name: centos-8 build_scenario_name: centos-8-build +- template: templates/build_container.yml + parameters: + job_name_suffix: C8S + container_name: c8s + build_scenario_name: c8s-build + - template: templates/build_container.yml parameters: job_name_suffix: Centos9 diff --git a/tests/azure/nightly.yml b/tests/azure/nightly.yml index 2bef4cbd..9c17a6f9 100644 --- a/tests/azure/nightly.yml +++ b/tests/azure/nightly.yml @@ -52,7 +52,7 @@ stages: scenario: fedora-latest ansible_version: "" -# CentoOS 9 +# CentoOS 9 Stream - stage: CentOS9_Ansible_2_9 dependsOn: [] @@ -81,6 +81,44 @@ stages: scenario: centos-9 ansible_version: "" +# CentOS 8 Stream + +- stage: c8s_Ansible_2_9 + dependsOn: [] + jobs: + - template: templates/group_tests.yml + parameters: + build_number: $(Build.BuildNumber) + scenario: c8s + ansible_version: ">=2.9,<2.10" + +- stage: c8s_Ansible_Core_2_11 + dependsOn: [] + jobs: + - template: templates/group_tests.yml + parameters: + build_number: $(Build.BuildNumber) + scenario: centos-8 + ansible_version: "-core >=2.11,<2.12" + +- stage: c8s_Ansible_Core_2_12 + dependsOn: [] + jobs: + - template: templates/group_tests.yml + parameters: + build_number: $(Build.BuildNumber) + scenario: c8s + ansible_version: "-core >=2.12,<2.13" + +- stage: c8s_Ansible_latest + dependsOn: [] + jobs: + - template: templates/group_tests.yml + parameters: + build_number: $(Build.BuildNumber) + scenario: c8s + ansible_version: "" + # CentOS 8 - stage: CentOS8_Ansible_2_9 -- GitLab