From ee4c7d17de46b46b5a24f3e26cd99c6f2e82a73d Mon Sep 17 00:00:00 2001 From: Takashi Kajinami <tkajinam@redhat.com> Date: Fri, 28 Apr 2023 11:47:08 +0900 Subject: [PATCH] Add non-voting Puppet 8 jobs Puppet 8 was recently released. This adds a few non-voting jobs to start testing our modules with that new major version. Note that Puppet 8 requires Ruby 3.1, which is not available in Ubuntu Jammy and CentOS 9 Stream by default. To meat that requirement we use CentOS 9 Stream with the ruby:3.1 module enabled. Change-Id: I0dc1d3a6c1b40c1e9cce636e9d41ec45e8bbf3ad --- playbooks/prepare-node-common.yaml | 14 ++++++++++++++ zuul.d/base.yaml | 2 ++ zuul.d/layout.yaml | 3 +++ zuul.d/libraries.yaml | 16 ++++++++++------ zuul.d/linters.yaml | 20 ++++++++++++++++++++ zuul.d/unit.yaml | 18 ++++++++++++------ 6 files changed, 61 insertions(+), 12 deletions(-) diff --git a/playbooks/prepare-node-common.yaml b/playbooks/prepare-node-common.yaml index 77ebf2bc9..606190410 100644 --- a/playbooks/prepare-node-common.yaml +++ b/playbooks/prepare-node-common.yaml @@ -17,6 +17,20 @@ - centos-release-openstack-* - centos-release-ceph-* + - name: Reset dnf modules (CentOS/RHEL) + shell: + cmd: |- + dnf module -y reset {{ item.key }} + become: true + with_items: "{{ dnf_modules | default({}) | dict2items }}" + + - name: Enable dnf modules (CentOS/RHEL) + shell: + cmd: |- + dnf module -y enable {{ item.key }}:{{ item.value }} + become: true + with_items: "{{ dnf_modules | default({}) | dict2items }}" + - name: Install Ruby dependencies (CentOS/RHEL) dnf: name: "{{ item }}" diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 50889bd0e..6e2676679 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -137,6 +137,7 @@ - ^setup.py$ - ^tox.ini$ vars: + # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support rspec_puppet_version: '~> 2.10.0' - job: @@ -163,4 +164,5 @@ - ^setup.py$ - ^tox.ini$ vars: + # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support rspec_puppet_version: '~> 2.10.0' diff --git a/zuul.d/layout.yaml b/zuul.d/layout.yaml index dffa74157..130a586e5 100644 --- a/zuul.d/layout.yaml +++ b/zuul.d/layout.yaml @@ -9,6 +9,7 @@ jobs: - puppet-openstack-lint-ubuntu-jammy - puppet-openstack-syntax-7-ubuntu-jammy + - puppet-openstack-syntax-8-centos-9-stream gate: jobs: - puppet-openstack-lint-ubuntu-jammy @@ -26,8 +27,10 @@ jobs: - puppet-openstack-libraries-puppet-lint-ubuntu-jammy - puppet-openstack-libraries-puppet-syntax-7-ubuntu-jammy + - puppet-openstack-libraries-puppet-syntax-8-centos-9-stream - puppet-openstack-libraries-puppet-unit-7.22-centos-9-stream - puppet-openstack-libraries-puppet-unit-7.22-ubuntu-jammy + - puppet-openstack-libraries-puppet-unit-8.0-centos-9-stream - puppet-openstack-libraries-puppet-unit-latest-ubuntu-jammy - puppet-openstack-libraries-litmus-7.22-centos-9-stream - puppet-openstack-libraries-litmus-7.22-ubuntu-jammy diff --git a/zuul.d/libraries.yaml b/zuul.d/libraries.yaml index a4fe7a0a7..7fe23853d 100644 --- a/zuul.d/libraries.yaml +++ b/zuul.d/libraries.yaml @@ -7,8 +7,6 @@ nodeset: centos-9-stream vars: puppet_gem_version: 7.22.0 - # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support - rspec_puppet_version: '~> 2.10.0' - job: name: puppet-openstack-libraries-puppet-unit-7.22-ubuntu-jammy @@ -16,8 +14,16 @@ nodeset: ubuntu-jammy vars: puppet_gem_version: 7.22.0 - # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support - rspec_puppet_version: '~> 2.10.0' + +- job: + name: puppet-openstack-libraries-puppet-unit-8.0-centos-9-stream + parent: puppet-openstack-libraries-puppet-unit-base + nodeset: centos-9-stream + voting: false + vars: + puppet_gem_version: 8.0.1 + dnf_modules: + ruby: 3.1 - job: name: puppet-openstack-libraries-puppet-unit-latest-ubuntu-jammy @@ -26,5 +32,3 @@ voting: false vars: puppet_gem_version: latest - # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support - rspec_puppet_version: '~> 2.10.0' diff --git a/zuul.d/linters.yaml b/zuul.d/linters.yaml index b521625a2..cbe9acc23 100644 --- a/zuul.d/linters.yaml +++ b/zuul.d/linters.yaml @@ -16,6 +16,16 @@ vars: puppet: 7 +- job: + name: puppet-openstack-syntax-8-centos-9-stream + parent: puppet-openstack-syntax-base + nodeset: centos-9-stream + voting: false + vars: + puppet: 8 + dnf_modules: + ruby: 3.1 + - job: name: puppet-openstack-libraries-puppet-lint-ubuntu-jammy parent: puppet-openstack-integration-base @@ -49,3 +59,13 @@ parent: puppet-openstack-libraries-puppet-syntax vars: puppet: 7 + +- job: + name: puppet-openstack-libraries-puppet-syntax-8-centos-9-stream + parent: puppet-openstack-libraries-puppet-syntax + nodeset: centos-9-stream + voting: false + vars: + puppet: 8 + dnf_modules: + ruby: 3.1 diff --git a/zuul.d/unit.yaml b/zuul.d/unit.yaml index 1752ed3f8..6a1d2c6ae 100644 --- a/zuul.d/unit.yaml +++ b/zuul.d/unit.yaml @@ -7,8 +7,6 @@ nodeset: centos-9-stream vars: puppet_gem_version: 7.22.0 - # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support - rspec_puppet_version: '~> 2.10.0' - job: name: puppet-openstack-unit-7.22-ubuntu-jammy @@ -16,8 +14,16 @@ nodeset: ubuntu-jammy vars: puppet_gem_version: 7.22.0 - # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support - rspec_puppet_version: '~> 2.10.0' + +- job: + name: puppet-openstack-unit-8.0-centos-9-stream + parent: puppet-openstack-unit-base + nodeset: centos-9-stream + voting: false + vars: + puppet_gem_version: 8.0.1 + dnf_modules: + ruby: 3.1 - job: name: puppet-openstack-unit-latest-ubuntu-jammy @@ -26,8 +32,6 @@ voting: false vars: puppet_gem_version: latest - # NOTE(tkajinam): rspec-puppet >= 2.10.0 is required for Ruby 3 support - rspec_puppet_version: '~> 2.10.0' - project-template: name: puppet-openstack-module-unit-jobs @@ -35,8 +39,10 @@ jobs: - puppet-openstack-unit-7.22-centos-9-stream - puppet-openstack-unit-7.22-ubuntu-jammy + - puppet-openstack-unit-8.0-centos-9-stream - puppet-openstack-unit-latest-ubuntu-jammy gate: jobs: - puppet-openstack-unit-7.22-centos-9-stream - puppet-openstack-unit-7.22-ubuntu-jammy + - puppet-openstack-unit-8.0-centos-9-stream