From 2c7a599b6465df4c70740fb84499a392ef816e3f Mon Sep 17 00:00:00 2001 From: Trey Pendragon Date: Thu, 11 Jul 2024 15:03:49 -0700 Subject: [PATCH 1/5] Add support for Rocky Linux This enables installation of Nomad on Rocky machines. It also lets you define a variable `minimal_curl` which will force installation of curl-minimal, as sometimes molecule images have one thing and production installations have another. --- defaults/main.yml | 2 ++ vars/RedHat.yml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/defaults/main.yml b/defaults/main.yml index e3a72c11..564961b7 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -16,6 +16,8 @@ os_supported_matrix: min_version: "7" Fedora: min_version: "" + Rocky: + min_version: "" Amazon: min_version: "" # Debian based diff --git a/vars/RedHat.yml b/vars/RedHat.yml index 115f8929..41cf71d4 100644 --- a/vars/RedHat.yml +++ b/vars/RedHat.yml @@ -2,7 +2,7 @@ # File: vars/RedHat.yml - Red Hat OS variables for Nomad nomad_os_packages: - - "{% if (ansible_distribution == 'AlmaLinux' and ansible_distribution_version is version('9', '>=')) %}curl-minimal{% else %}curl{% endif %}" + - "{% if (ansible_distribution == 'AlmaLinux' and ansible_distribution_version is version('9', '>=')) or (minimal_curl is defined) %}curl-minimal{% else %}curl{% endif %}" - git - "{% if (ansible_distribution == 'Fedora' and ansible_distribution_version is version('28', '<')) or (ansible_distribution == 'CentOS' and ansible_distribution_version is version('8', '<')) or (ansible_distribution == 'Amazon' and ansible_distribution_version is version('3', '<')) or (ansible_distribution == 'OracleLinux' and From 214ed87e1fadcb04e4635d644be63071a5cfec75 Mon Sep 17 00:00:00 2001 From: Trey Pendragon Date: Thu, 11 Jul 2024 15:10:32 -0700 Subject: [PATCH 2/5] Add molecule tests. --- .github/workflows/molecule.yml | 2 ++ molecule/rockylinux-8/molecule.yml | 14 ++++++++++++++ molecule/rockylinux-8/verify.ml | 1 + molecule/rockylinux-9/molecule.yml | 14 ++++++++++++++ molecule/rockylinux-9/verify.yml | 1 + 5 files changed, 32 insertions(+) create mode 100644 molecule/rockylinux-8/molecule.yml create mode 100644 molecule/rockylinux-8/verify.ml create mode 100644 molecule/rockylinux-9/molecule.yml create mode 100644 molecule/rockylinux-9/verify.yml diff --git a/.github/workflows/molecule.yml b/.github/workflows/molecule.yml index 1cdc23b7..9ffa5d4c 100644 --- a/.github/workflows/molecule.yml +++ b/.github/workflows/molecule.yml @@ -25,6 +25,8 @@ jobs: # - oraclelinux-7 - oraclelinux-8 - oraclelinux-9 + - rockylinux-8 + - rockylinux-9 - ubuntu-20.04 - ubuntu-22.04 - ubuntu-23.04 diff --git a/molecule/rockylinux-8/molecule.yml b/molecule/rockylinux-8/molecule.yml new file mode 100644 index 00000000..89c37f50 --- /dev/null +++ b/molecule/rockylinux-8/molecule.yml @@ -0,0 +1,14 @@ +--- +platforms: + - name: rockylinux-8 + groups: + - nomad_instances + image: rockylinux:8 + dockerfile: ../_shared/Dockerfile.j2 + capabilities: + - SYS_ADMIN + cgroupns_mode: host + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + privileged: true + command: /usr/lib/systemd/systemd diff --git a/molecule/rockylinux-8/verify.ml b/molecule/rockylinux-8/verify.ml new file mode 100644 index 00000000..8b27dbac --- /dev/null +++ b/molecule/rockylinux-8/verify.ml @@ -0,0 +1 @@ +../_shared/verify.yml diff --git a/molecule/rockylinux-9/molecule.yml b/molecule/rockylinux-9/molecule.yml new file mode 100644 index 00000000..d6737236 --- /dev/null +++ b/molecule/rockylinux-9/molecule.yml @@ -0,0 +1,14 @@ +--- +platforms: + - name: rockylinux-9 + groups: + - nomad_instances + image: rockylinux:9 + dockerfile: ../_shared/Dockerfile.j2 + capabilities: + - SYS_ADMIN + cgroupns_mode: host + volumes: + - /sys/fs/cgroup:/sys/fs/cgroup:rw + privileged: true + command: /usr/lib/systemd/systemd diff --git a/molecule/rockylinux-9/verify.yml b/molecule/rockylinux-9/verify.yml new file mode 100644 index 00000000..8b27dbac --- /dev/null +++ b/molecule/rockylinux-9/verify.yml @@ -0,0 +1 @@ +../_shared/verify.yml From 306f520b5c0743d843514f14dc6af4d3f34307cc Mon Sep 17 00:00:00 2001 From: Trey Pendragon Date: Thu, 11 Jul 2024 15:36:14 -0700 Subject: [PATCH 3/5] Fix --- molecule/rockylinux-8/verify.ml | 1 - molecule/rockylinux-8/verify.yml | 1 + molecule/rockylinux-9/verify.yml | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 molecule/rockylinux-8/verify.ml create mode 120000 molecule/rockylinux-8/verify.yml mode change 100644 => 120000 molecule/rockylinux-9/verify.yml diff --git a/molecule/rockylinux-8/verify.ml b/molecule/rockylinux-8/verify.ml deleted file mode 100644 index 8b27dbac..00000000 --- a/molecule/rockylinux-8/verify.ml +++ /dev/null @@ -1 +0,0 @@ -../_shared/verify.yml diff --git a/molecule/rockylinux-8/verify.yml b/molecule/rockylinux-8/verify.yml new file mode 120000 index 00000000..420d51df --- /dev/null +++ b/molecule/rockylinux-8/verify.yml @@ -0,0 +1 @@ +../_shared/verify.yml \ No newline at end of file diff --git a/molecule/rockylinux-9/verify.yml b/molecule/rockylinux-9/verify.yml deleted file mode 100644 index 8b27dbac..00000000 --- a/molecule/rockylinux-9/verify.yml +++ /dev/null @@ -1 +0,0 @@ -../_shared/verify.yml diff --git a/molecule/rockylinux-9/verify.yml b/molecule/rockylinux-9/verify.yml new file mode 120000 index 00000000..420d51df --- /dev/null +++ b/molecule/rockylinux-9/verify.yml @@ -0,0 +1 @@ +../_shared/verify.yml \ No newline at end of file From 78a38460df0346a134bd0a1b997c79d37dec617c Mon Sep 17 00:00:00 2001 From: Trey Pendragon Date: Mon, 29 Jul 2024 09:34:38 -0700 Subject: [PATCH 4/5] Setup minimal_curl for Rocky 9 image. --- molecule/_shared/base.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/molecule/_shared/base.yml b/molecule/_shared/base.yml index 2bd58876..c8ac7bcd 100644 --- a/molecule/_shared/base.yml +++ b/molecule/_shared/base.yml @@ -30,5 +30,8 @@ provisioner: group_vars: nomad_instances: nomad_node_role: both + host_vars: + rockylinux-9: + minimal_curl: true verifier: name: ansible From 8ca1ff2bce465a0a7fbc03055eaf45cd7a015d7a Mon Sep 17 00:00:00 2001 From: Trey Pendragon Date: Mon, 12 Aug 2024 09:58:41 -0700 Subject: [PATCH 5/5] Improve nomad_curl_package variable. This sets an overridable default of 'curl', but for backwards compatibility makes it curl-minimal for AlmaLinux 9. --- defaults/main.yml | 3 +++ molecule/_shared/base.yml | 2 +- vars/RedHat.yml | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 564961b7..02ebf0eb 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -33,6 +33,9 @@ os_supported_matrix: ## Core nomad_debug: false +## Package configuration +nomad_curl_package: "{% if (ansible_distribution == 'AlmaLinux' and ansible_distribution_version is version('9', '>=')) %}curl-minimal{% else %}curl{% endif %}" + ## Asserts nomad_skip_ensure_all_hosts: "{{ lookup('env', 'NOMAD_SKIP_ENSURE_ALL_HOSTS') | default('false', true) }}" diff --git a/molecule/_shared/base.yml b/molecule/_shared/base.yml index c8ac7bcd..8fdeae82 100644 --- a/molecule/_shared/base.yml +++ b/molecule/_shared/base.yml @@ -32,6 +32,6 @@ provisioner: nomad_node_role: both host_vars: rockylinux-9: - minimal_curl: true + nomad_curl_package: "curl-minimal" verifier: name: ansible diff --git a/vars/RedHat.yml b/vars/RedHat.yml index 41cf71d4..70499ced 100644 --- a/vars/RedHat.yml +++ b/vars/RedHat.yml @@ -2,7 +2,7 @@ # File: vars/RedHat.yml - Red Hat OS variables for Nomad nomad_os_packages: - - "{% if (ansible_distribution == 'AlmaLinux' and ansible_distribution_version is version('9', '>=')) or (minimal_curl is defined) %}curl-minimal{% else %}curl{% endif %}" + - "{{ nomad_curl_package }}" - git - "{% if (ansible_distribution == 'Fedora' and ansible_distribution_version is version('28', '<')) or (ansible_distribution == 'CentOS' and ansible_distribution_version is version('8', '<')) or (ansible_distribution == 'Amazon' and ansible_distribution_version is version('3', '<')) or (ansible_distribution == 'OracleLinux' and