From 83d916e505bf9e552910a0ef57236ddfc6c453f6 Mon Sep 17 00:00:00 2001 From: Neil Anderson Date: Tue, 2 Apr 2024 12:23:37 +0100 Subject: [PATCH] Updating operating systems in metadata.json and tests Added RHEL 9 and AlmaLinux 8 --- .github/workflows/test-install-rhel-9.yaml | 115 +++++++++++++++++++++ README.md | 9 +- metadata.json | 9 +- 3 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test-install-rhel-9.yaml diff --git a/.github/workflows/test-install-rhel-9.yaml b/.github/workflows/test-install-rhel-9.yaml new file mode 100644 index 000000000..45dcff1f1 --- /dev/null +++ b/.github/workflows/test-install-rhel-9.yaml @@ -0,0 +1,115 @@ +--- +name: "Install test rhel-9" + +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" + branches: [main] + workflow_dispatch: {} + +jobs: + test-install: + name: "PE ${{ matrix.version }} ${{ matrix.architecture }} on ${{ matrix.image }}" + runs-on: ubuntu-20.04 + env: + BOLT_GEM: true + BOLT_DISABLE_ANALYTICS: true + LANG: "en_US.UTF-8" + strategy: + fail-fast: false + matrix: + architecture: + - standard-with-dr + - large + - extra-large-with-dr + version: + - 2021.7.7 + - 2023.6.0 + image: + - rhel-9 + steps: + - name: "Checkout Source" + uses: actions/checkout@v2 + + - name: "Activate Ruby 2.7" + uses: ruby/setup-ruby@v1 + with: + ruby-version: "2.7" + bundler-cache: true + + - name: "Print bundle environment" + if: ${{ github.repository_owner == 'puppetlabs' }} + run: | + echo ::group::info:bundler + bundle env + echo ::endgroup:: + + - name: "Provision test cluster" + timeout-minutes: 15 + run: | + echo ::group::prepare + mkdir -p $HOME/.ssh + echo 'Host *' > $HOME/.ssh/config + echo ' ServerAliveInterval 150' >> $HOME/.ssh/config + echo ' ServerAliveCountMax 2' >> $HOME/.ssh/config + bundle exec rake spec_prep + echo ::endgroup:: + + echo ::group::provision + bundle exec bolt plan run peadm_spec::provision_test_cluster \ + --modulepath spec/fixtures/modules \ + provider=provision_service \ + image=${{ matrix.image }} \ + architecture=${{ matrix.architecture }} \ + --log-level trace + echo ::endgroup:: + + echo ::group::info:request + cat request.json || true; echo + echo ::endgroup:: + + echo ::group::info:inventory + sed -e 's/password: .*/password: "[redacted]"/' < spec/fixtures/litmus_inventory.yaml || true + echo ::endgroup:: + + - name: "Install PE on test cluster" + timeout-minutes: 120 + run: | + bundle exec bolt plan run peadm_spec::install_test_cluster \ + --inventoryfile spec/fixtures/litmus_inventory.yaml \ + --modulepath spec/fixtures/modules \ + architecture=${{ matrix.architecture }} \ + version=${{ matrix.version }} + + - name: "Tear down test cluster" + if: ${{ always() }} + continue-on-error: true + run: | + if [ -f spec/fixtures/litmus_inventory.yaml ]; then + echo ::group::tear_down + bundle exec rake 'litmus:tear_down' + echo ::endgroup:: + + echo ::group::info:request + cat request.json || true; echo + echo ::endgroup:: + fi diff --git a/README.md b/README.md index 9ce7493bf..57a16b177 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,14 @@ groups: * PEADM is compatible with Puppet Enterprise 2019.8.1 or newer versions. * To use PEADM, you must first [install Bolt](https://www.puppet.com/docs/bolt/latest/bolt_installing) version 3.17.0 or newer. -* PEADM supports PE installations on the following operating systems: EL 7, EL 8, Ubuntu 18.04, or Ubuntu 20.04. +* PEADM supports PE installations on the following operating systems: + - Amazon Linux 2 + - AlmaLinux 8 + - CentOS 7 and 8 + - RHEL 7, 8 and 9 + - SLES 12 + - Ubuntu 18.04 and 20.04 + * To successfully convert your current PE installation to a PEADM-managed installation, ensure that the PE setting for editing classifier configuration data is enabled. This setting is enabled by default on new PE installations, but it could be disabled if the relevant configuration was removed from your global hiera.yaml file. See the [PE docs](https://www.puppet.com/docs/pe/latest/config_console.html#enable_console_configuration_data) for more information. ## Usage diff --git a/metadata.json b/metadata.json index 992043963..84afc7546 100644 --- a/metadata.json +++ b/metadata.json @@ -52,11 +52,18 @@ "2" ] }, + { + "operatingsystem": "AlmaLinux", + "operatingsystemrelease": [ + "8" + ] + }, { "operatingsystem": "RedHat", "operatingsystemrelease": [ "7", - "8" + "8", + "9" ] }, {