From af01692b19df1b13a4142e4a36dfb76caf427220 Mon Sep 17 00:00:00 2001 From: Ioannis Karasavvaidis Date: Thu, 5 Oct 2023 14:15:18 +0100 Subject: [PATCH 1/3] (PE-36943) Support version 2023.4 --- .../workflows/test-fips-install-matrix.yaml | 50 +++++++++---------- .github/workflows/test-install-matrix.yaml | 50 +++++++++---------- documentation/upgrade.md | 8 +-- functions/assert_supported_pe_version.pp | 4 +- spec/plans/subplans/install_spec.rb | 8 +-- 5 files changed, 60 insertions(+), 60 deletions(-) diff --git a/.github/workflows/test-fips-install-matrix.yaml b/.github/workflows/test-fips-install-matrix.yaml index a4ce8068..c1f0bef8 100644 --- a/.github/workflows/test-fips-install-matrix.yaml +++ b/.github/workflows/test-fips-install-matrix.yaml @@ -4,25 +4,25 @@ name: "Install fips test matrix" on: pull_request: paths: - - '.github/workflows/**/*' - - 'spec/**/*' - - 'lib/**/*' - - 'tasks/**/*' - - 'functions/**/*' - - 'types/**/*' - - 'plans/**/*' - - 'hiera/**/*' - - 'manifests/**/*' - - 'templates/**/*' - - 'files/**/*' - - 'metadata.json' - - 'Rakefile' - - 'Gemfile' - - 'provision.yaml' - - '.rspec' - - '.rubocop.yml' - - '.puppet-lint.rc' - - '.fixtures.yml' + - ".github/workflows/**/*" + - "spec/**/*" + - "lib/**/*" + - "tasks/**/*" + - "functions/**/*" + - "types/**/*" + - "plans/**/*" + - "hiera/**/*" + - "manifests/**/*" + - "templates/**/*" + - "files/**/*" + - "metadata.json" + - "Rakefile" + - "Gemfile" + - "provision.yaml" + - ".rspec" + - ".rubocop.yml" + - ".puppet-lint.rc" + - ".fixtures.yml" branches: [main] workflow_dispatch: {} @@ -33,7 +33,7 @@ jobs: env: BOLT_GEM: true BOLT_DISABLE_ANALYTICS: true - LANG: 'en_US.UTF-8' + LANG: "en_US.UTF-8" strategy: fail-fast: false matrix: @@ -43,8 +43,8 @@ jobs: - extra-large-with-dr version: - 2019.8.12 - - 2021.7.2 - - 2023.2.0 + - 2021.7.5 + - 2023.4.0 image: - rhel-8 fips: @@ -67,7 +67,7 @@ jobs: bundle env echo ::endgroup:: - - name: 'Provision test cluster' + - name: "Provision test cluster" timeout-minutes: 15 run: | echo ::group::prepare @@ -94,7 +94,7 @@ jobs: sed -e 's/password: .*/password: "[redacted]"/' < spec/fixtures/litmus_inventory.yaml || true echo ::endgroup:: - - name: 'Install PE on test cluster' + - name: "Install PE on test cluster" timeout-minutes: 120 run: | bundle exec bolt plan run peadm_spec::install_test_cluster \ @@ -104,7 +104,7 @@ jobs: version=${{ matrix.version }} \ fips=${{ matrix.fips }} - - name: 'Tear down test cluster' + - name: "Tear down test cluster" if: ${{ always() }} continue-on-error: true run: | diff --git a/.github/workflows/test-install-matrix.yaml b/.github/workflows/test-install-matrix.yaml index c520b744..23c9c219 100644 --- a/.github/workflows/test-install-matrix.yaml +++ b/.github/workflows/test-install-matrix.yaml @@ -4,25 +4,25 @@ name: "Install test matrix" on: pull_request: paths: - - '.github/workflows/**/*' - - 'spec/**/*' - - 'lib/**/*' - - 'tasks/**/*' - - 'functions/**/*' - - 'types/**/*' - - 'plans/**/*' - - 'hiera/**/*' - - 'manifests/**/*' - - 'templates/**/*' - - 'files/**/*' - - 'metadata.json' - - 'Rakefile' - - 'Gemfile' - - 'provision.yaml' - - '.rspec' - - '.rubocop.yml' - - '.puppet-lint.rc' - - '.fixtures.yml' + - ".github/workflows/**/*" + - "spec/**/*" + - "lib/**/*" + - "tasks/**/*" + - "functions/**/*" + - "types/**/*" + - "plans/**/*" + - "hiera/**/*" + - "manifests/**/*" + - "templates/**/*" + - "files/**/*" + - "metadata.json" + - "Rakefile" + - "Gemfile" + - "provision.yaml" + - ".rspec" + - ".rubocop.yml" + - ".puppet-lint.rc" + - ".fixtures.yml" branches: [main] workflow_dispatch: {} @@ -33,7 +33,7 @@ jobs: env: BOLT_GEM: true BOLT_DISABLE_ANALYTICS: true - LANG: 'en_US.UTF-8' + LANG: "en_US.UTF-8" strategy: fail-fast: false matrix: @@ -43,8 +43,8 @@ jobs: - extra-large-with-dr version: - 2019.8.12 - - 2021.7.4 - - 2023.2.0 + - 2021.7.5 + - 2023.4.0 image: - centos-7 - almalinux-cloud/almalinux-8 @@ -65,7 +65,7 @@ jobs: bundle env echo ::endgroup:: - - name: 'Provision test cluster' + - name: "Provision test cluster" timeout-minutes: 15 run: | echo ::group::prepare @@ -93,7 +93,7 @@ jobs: sed -e 's/password: .*/password: "[redacted]"/' < spec/fixtures/litmus_inventory.yaml || true echo ::endgroup:: - - name: 'Install PE on test cluster' + - name: "Install PE on test cluster" timeout-minutes: 120 run: | bundle exec bolt plan run peadm_spec::install_test_cluster \ @@ -102,7 +102,7 @@ jobs: architecture=${{ matrix.architecture }} \ version=${{ matrix.version }} - - name: 'Tear down test cluster' + - name: "Tear down test cluster" if: ${{ always() }} continue-on-error: true run: | diff --git a/documentation/upgrade.md b/documentation/upgrade.md index 2c8bf7cc..226fc5fe 100644 --- a/documentation/upgrade.md +++ b/documentation/upgrade.md @@ -4,15 +4,15 @@ Puppet Enterprise deployments provisioned using the peadm module can also be upg ## Usage -The `peadm::upgrade` plan requires as input the version of PE to upgrade to, and the names of each PE infrastructure host. Primary, replica, compilers, etc. +The `peadm::upgrade` plan requires as input the version of PE to upgrade to, and the names of each PE infrastructure host. Primary, replica, compilers, etc. -Please note that when upgrading from before 2023.3 to 2023.3 or above and you are using code manager, it is nessesary to provide known hosts for r10k. r10k_known_hosts is an optional parameter and is only required one time when upgrading to 2023.3 or beyond. But if you currently use the SSH protocol to allow r10k to access your remote Git repository, your Code manager or r10k code management tool cannot function until you define the r10k_known_hosts parameter. Subsequent upgrades will already have this and it won't be required again. Please refer to the Puppet Enterprise 2023.3 Upgrade cautions for more details. +Please note that when upgrading from before 2023.4 to 2023.4 or above and you are using code manager, it is nessesary to provide known hosts for r10k. r10k_known_hosts is an optional parameter and is only required one time when upgrading to 2023.4 or beyond. But if you currently use the SSH protocol to allow r10k to access your remote Git repository, your Code manager or r10k code management tool cannot function until you define the r10k_known_hosts parameter. Subsequent upgrades will already have this and it won't be required again. Please refer to the Puppet Enterprise 2023.4 Upgrade cautions for more details. -The following is an example parameters file for upgrading an Extra Large architecture deployment of PE 2023.2.0 to PE 2023.3.0. +The following is an example parameters file for upgrading an Extra Large architecture deployment of PE 2023.2.0 to PE 2023.4.0. ```json { - "version": "2023.3.0", + "version": "2023.4.0", "primary_host": "pe-master-09a40c-0.us-west1-a.c.reidmv-peadm.internal", "primary_postgresql_host": "pe-psql-09a40c-0.us-west1-a.c.reidmv-peadm.internal", "replica_host": "pe-master-09a40c-1.us-west1-b.c.reidmv-peadm.internal", diff --git a/functions/assert_supported_pe_version.pp b/functions/assert_supported_pe_version.pp index ba3cf8d9..c4e28f97 100644 --- a/functions/assert_supported_pe_version.pp +++ b/functions/assert_supported_pe_version.pp @@ -5,8 +5,8 @@ function peadm::assert_supported_pe_version ( String $version, Boolean $permit_unsafe_versions = false, ) >> Struct[{ 'supported' => Boolean }] { - $oldest = '2019.7' - $newest = '2023.2' + $oldest = '2019.8' + $newest = '2023.4' $supported = ($version =~ SemVerRange(">= ${oldest} <= ${newest}")) if $permit_unsafe_versions { diff --git a/spec/plans/subplans/install_spec.rb b/spec/plans/subplans/install_spec.rb index d4e2b159..15afa5c5 100644 --- a/spec/plans/subplans/install_spec.rb +++ b/spec/plans/subplans/install_spec.rb @@ -47,11 +47,11 @@ expect(run_plan('peadm::subplans::install', params)).to be_ok end - it 'installs 2023.2 without r10k_known_hosts' do + it 'installs 2023.4 without r10k_known_hosts' do params = { 'primary_host' => 'primary', 'console_password' => 'puppetlabs', - 'version' => '2023.2.0', + 'version' => '2023.4.0', 'r10k_remote' => 'git@github.com:puppetlabs/nothing', 'r10k_private_key_content' => '-----BEGINfoo', } @@ -59,11 +59,11 @@ expect(run_plan('peadm::subplans::install', params)).to be_ok end - it 'installs 2023.3+ with r10k_private_key and r10k_known_hosts' do + it 'installs 2023.4+ with r10k_private_key and r10k_known_hosts' do params = { 'primary_host' => 'primary', 'console_password' => 'puppetlabs', - 'version' => '2023.3.0', + 'version' => '2023.4.0', 'r10k_remote' => 'git@github.com:puppetlabs/nothing', 'r10k_private_key_content' => '-----BEGINfoo', 'r10k_known_hosts' => [ From d139bb6f5fa35619bca1c3e530303ed8b13e3fe1 Mon Sep 17 00:00:00 2001 From: Ioannis Karasavvaidis Date: Fri, 6 Oct 2023 11:32:05 +0100 Subject: [PATCH 2/3] (PE-36943) Add release process documentation --- README.md | 3 ++- documentation/release_process.md | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 documentation/release_process.md diff --git a/README.md b/README.md index c2c22264..9c7eb8b2 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The peadm module is able to deploy and manage Puppet Enterprise 2019.7 and highe ## Expectations and support -While the peadm module was initially built by the Puppet Solutions Architecture team to streamline particularly large and complex Puppet Enterprise deployments, but has matured to a point where we believe that users with a reasonable understanding of Puppet Enterprise architecture can use it on their own. +While the peadm module was initially built by the Puppet Solutions Architecture team to streamline particularly large and complex Puppet Enterprise deployments, but has matured to a point where we believe that users with a reasonable understanding of Puppet Enterprise architecture can use it on their own. As a Puppet Enterprise customer this tool is **supported** through Puppet Enterprise's standard and premium [support.puppet.com](https://support.puppet.com) service, and if you have questions or need assistance, you are welcome to reach out to your Support team for help, or to talk to your Sales or Technical Account Manager contacts to arrange a chat with one of us on the Solutions Architect team. @@ -77,6 +77,7 @@ Documentation pertaining to additional uses of peadm. * [Classification](https://github.com/puppetlabs/puppetlabs-peadm/blob/main/documentation/classification.md) * [Testing](https://github.com/puppetlabs/puppetlabs-peadm/blob/main/documentation/pre_post_checks.md) * [Docker Based Examples](https://github.com/puppetlabs/puppetlabs-peadm/blob/main/documentation/docker_examples.md) +* [Release Process](https://github.com/puppetlabs/puppetlabs-peadm/blob/main/documentation/release_process.md) ## Getting Help diff --git a/documentation/release_process.md b/documentation/release_process.md new file mode 100644 index 00000000..b4ab55ea --- /dev/null +++ b/documentation/release_process.md @@ -0,0 +1,11 @@ +# Release Process + +## Overview + +- [ ] Update PE version support in tests, source and create a new Pull Request with the changes (if needed). +- [ ] Ask for a review and merge the Pull Request +- [ ] Tag all Closed Pull Requests that are included in the release with the appropriate labels. +- [ ] Kick off the [Release Prep](https://github.com/puppetlabs/puppetlabs-peadm/actions/workflows/release-prep.yml) action selecting the branch you want to release from and enter the release version number. +- [ ] Review and merge the Release PREP Pull Request. Make sure to verify the checklist items in the Pull Request description. +- [ ] Once the Release Prep Pull Request is merged, Kick off [Publish module](https://github.com/puppetlabs/puppetlabs-peadm/actions/workflows/release.yml) action selecting the branch you created the Release Prep Pull Request from. +- [ ] Check Puppet Forge to make sure the module was published \ No newline at end of file From 858070bd382db85f5ebafec4381b98ff2147d056 Mon Sep 17 00:00:00 2001 From: Ioannis Karasavvaidis Date: Fri, 6 Oct 2023 11:55:18 +0100 Subject: [PATCH 3/3] (PE-36943) Revert to older supported version to be 2019.7 --- functions/assert_supported_pe_version.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/assert_supported_pe_version.pp b/functions/assert_supported_pe_version.pp index c4e28f97..4d9967c0 100644 --- a/functions/assert_supported_pe_version.pp +++ b/functions/assert_supported_pe_version.pp @@ -5,7 +5,7 @@ function peadm::assert_supported_pe_version ( String $version, Boolean $permit_unsafe_versions = false, ) >> Struct[{ 'supported' => Boolean }] { - $oldest = '2019.8' + $oldest = '2019.7' $newest = '2023.4' $supported = ($version =~ SemVerRange(">= ${oldest} <= ${newest}"))