Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(PE-36943) Support version 2023.4 #393

Merged
merged 3 commits into from
Oct 6, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 25 additions & 25 deletions .github/workflows/test-fips-install-matrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: {}

Expand All @@ -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:
Expand All @@ -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:
Expand All @@ -67,7 +67,7 @@ jobs:
bundle env
echo ::endgroup::

- name: 'Provision test cluster'
- name: "Provision test cluster"
timeout-minutes: 15
run: |
echo ::group::prepare
Expand All @@ -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 \
Expand All @@ -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: |
Expand Down
50 changes: 25 additions & 25 deletions .github/workflows/test-install-matrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: {}

Expand All @@ -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:
Expand All @@ -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
Expand All @@ -65,7 +65,7 @@ jobs:
bundle env
echo ::endgroup::

- name: 'Provision test cluster'
- name: "Provision test cluster"
timeout-minutes: 15
run: |
echo ::group::prepare
Expand Down Expand Up @@ -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 \
Expand All @@ -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: |
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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

Expand Down
11 changes: 11 additions & 0 deletions documentation/release_process.md
Original file line number Diff line number Diff line change
@@ -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
8 changes: 4 additions & 4 deletions documentation/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions functions/assert_supported_pe_version.pp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
8 changes: 4 additions & 4 deletions spec/plans/subplans/install_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,23 +47,23 @@
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',
}

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' => [
Expand Down
Loading