From aeffa2c1608a2a9f46c1d3f416ccd9f2cbf0896b Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Thu, 24 Oct 2024 10:26:55 +0200 Subject: [PATCH 1/8] add rhel 8.10 and 9.4 --- Makefile | 12 ++++++++++-- images/base-RHEL-810.pkrvar.hcl | 7 +++++++ images/base-RHEL-94.pkrvar.hcl | 7 +++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 images/base-RHEL-810.pkrvar.hcl create mode 100644 images/base-RHEL-94.pkrvar.hcl diff --git a/Makefile b/Makefile index d009b68..00f21ce 100644 --- a/Makefile +++ b/Makefile @@ -83,17 +83,25 @@ rhel-test-86: manifests/tests/d2iq-base-RHEL-86$(NAME_POSTFIX).json.clean rhel-test-86-clean: rhel-test-86 manifests/d2iq-base-RHEL-86$(NAME_POSTFIX).json.clean rhel-test-88: manifests/tests/d2iq-base-RHEL-88$(NAME_POSTFIX).json.clean rhel-test-88-clean: rhel-test-88 manifests/d2iq-base-RHEL-88$(NAME_POSTFIX).json.clean +rhel-test-810: manifests/tests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean +rhel-test-810-clean: rhel-test-810 manifests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean +rhel-test-94: manifests/tests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean +rhel-test-94-clean: rhel-test-94 manifests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean rhel-test: rhel-test-79-clean rhel-test-84-clean rhel-test-86-clean rhel-test-88-clean rhel-release-79: rhel-test-79 release/d2iq-base-RHEL-79$(NAME_POSTFIX) rhel-release-84: rhel-test-84 release/d2iq-base-RHEL-84$(NAME_POSTFIX) rhel-release-86: rhel-test-86 release/d2iq-base-RHEL-86$(NAME_POSTFIX) rhel-release-88: rhel-test-88 release/d2iq-base-RHEL-88$(NAME_POSTFIX) -rhel-release: rhel-release-79 rhel-release-84 rhel-release-86 rhel-release-88 +rhel-release-810: rhel-test-810 release/d2iq-base-RHEL-810$(NAME_POSTFIX) +rhel-release-94: rhel-test-94 release/d2iq-base-RHEL-94$(NAME_POSTFIX) +rhel-release: rhel-release-79 rhel-release-84 rhel-release-86 rhel-release-88 rhel-release-810 rhel-release-94 rhel-ovf-79: manifests/ovf/d2iq-base-RHEL-79$(NAME_POSTFIX).ovf rhel-ovf-84: manifests/ovf/d2iq-base-RHEL-84$(NAME_POSTFIX).ovf rhel-ovf-86: manifests/ovf/d2iq-base-RHEL-86$(NAME_POSTFIX).ovf rhel-ovf-88: manifests/ovf/d2iq-base-RHEL-88$(NAME_POSTFIX).ovf -rhel-ovf: rhel-ovf-79 rhel-ovf-84 rhel-ovf-86 rhel-ovf-88 +rhel-ovf-810: manifests/ovf/d2iq-base-RHEL-810$(NAME_POSTFIX).ovf +rhel-ovf-94: manifests/ovf/d2iq-base-RHEL-94$(NAME_POSTFIX).ovf +rhel-ovf: rhel-ovf-79 rhel-ovf-84 rhel-ovf-86 rhel-ovf-88 rhel-ovf-810 rhel-ovf-94 oraclelinux: manifests/d2iq-base-OracleLinux-94$(NAME_POSTFIX).json oraclelinux-test-94: manifests/tests/d2iq-base-OracleLinux-94$(NAME_POSTFIX).json.clean diff --git a/images/base-RHEL-810.pkrvar.hcl b/images/base-RHEL-810.pkrvar.hcl new file mode 100644 index 0000000..6f603d5 --- /dev/null +++ b/images/base-RHEL-810.pkrvar.hcl @@ -0,0 +1,7 @@ +distribution="RHEL" +distribution_version="8" +# very specific for D2iQ internal setup. Please use PKR_VAR_iso_path_entry to match your setup. See README.md +iso_paths= [ + "[ovh-nfs-vsphere-services] isos/rhel-8.10-x86_64-dvd.iso" +] +iso_checksum="6ced368628750ff3ea8a2fc52a371ba368d3377b8307caafda69070849a9e4e7" diff --git a/images/base-RHEL-94.pkrvar.hcl b/images/base-RHEL-94.pkrvar.hcl new file mode 100644 index 0000000..dc0eda9 --- /dev/null +++ b/images/base-RHEL-94.pkrvar.hcl @@ -0,0 +1,7 @@ +distribution="RHEL" +distribution_version="8" +# very specific for D2iQ internal setup. Please use PKR_VAR_iso_path_entry to match your setup. See README.md +iso_paths= [ + "[ovh-nfs-vsphere-services] isos/rhel-9.4-x86_64-dvd.iso" +] +iso_checksum="17b013f605e6b85affd37431b533b6904541f8b889179ae3f99e1e480dd4ae38" From 982b2c1bc80154c4f667ee605aef4d56bcd51bf1 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Thu, 24 Oct 2024 11:29:37 +0200 Subject: [PATCH 2/8] missing rhel test entry --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 00f21ce..6f70320 100644 --- a/Makefile +++ b/Makefile @@ -87,7 +87,7 @@ rhel-test-810: manifests/tests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean rhel-test-810-clean: rhel-test-810 manifests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean rhel-test-94: manifests/tests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean rhel-test-94-clean: rhel-test-94 manifests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean -rhel-test: rhel-test-79-clean rhel-test-84-clean rhel-test-86-clean rhel-test-88-clean +rhel-test: rhel-test-79-clean rhel-test-84-clean rhel-test-86-clean rhel-test-88-clean rhel-test-810-clean rhel-test-94-clean rhel-release-79: rhel-test-79 release/d2iq-base-RHEL-79$(NAME_POSTFIX) rhel-release-84: rhel-test-84 release/d2iq-base-RHEL-84$(NAME_POSTFIX) rhel-release-86: rhel-test-86 release/d2iq-base-RHEL-86$(NAME_POSTFIX) From d2d994f10524b72c5f08af3127ea9263042cd641 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 25 Oct 2024 15:06:29 +0200 Subject: [PATCH 3/8] fix 8.10 deployment. No EUS --- bootfiles/rhel/rhel8.ks | 1 + scripts/el/rhn_add_subscription.sh | 30 ++++++++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/bootfiles/rhel/rhel8.ks b/bootfiles/rhel/rhel8.ks index d4c2e83..ef4975a 100644 --- a/bootfiles/rhel/rhel8.ks +++ b/bootfiles/rhel/rhel8.ks @@ -60,6 +60,7 @@ open-vm-tools %end # Enable/disable the following services +firewall --enabled --port=22:tcp --port=25:tcp --ssh services --enabled=sshd %post --logfile=/mnt/sysimage/root/ks-post.log --erroronfail diff --git a/scripts/el/rhn_add_subscription.sh b/scripts/el/rhn_add_subscription.sh index 7a7b3ff..0e3b961 100644 --- a/scripts/el/rhn_add_subscription.sh +++ b/scripts/el/rhn_add_subscription.sh @@ -1,19 +1,29 @@ #!/bin/bash -eu +source /etc/os-release if [[ "${RHN_SUBSCRIPTION_KEY}" != "" && "${RHN_SUBSCRIPTION_ORG}" != "" ]]; then subscription-manager register --org="${RHN_SUBSCRIPTION_ORG}" --activationkey="${RHN_SUBSCRIPTION_KEY}" - exit 0 -fi +else -if [[ "${RHN_USERNAME}" == "" ]]; then - echo "RHN_USERNAME not set" - exit 1 -fi + if [[ "${RHN_USERNAME}" == "" ]]; then + echo "RHN_USERNAME not set" + exit 1 + fi + + if [[ "${RHN_PASSWORD}" == "" ]]; then + echo "RHN_PASSWORD not set" + exit 1 + fi -if [[ "${RHN_PASSWORD}" == "" ]]; then - echo "RHN_PASSWORD not set" - exit 1 + subscription-manager register --username "$RHN_USERNAME" --password "$RHN_PASSWORD" --auto-attach fi -subscription-manager register --username "$RHN_USERNAME" --password "$RHN_PASSWORD" --auto-attach +# +subscription-manager release --set="${VERSION_ID}" + +# el 8.10 does not have extened support so we need to disable it +if [[ "${VERSION_ID}" == "8.10" ]]; then + subscription-manager repos --disable=rhel-8-for-x86_64-baseos-eus-rpms + subscription-manager repos --disable=rhel-8-for-x86_64-appstream-eus-rpms +fi From a3d21cf3bfcdd3842acb08ceb823360c36227629 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 25 Oct 2024 15:13:08 +0200 Subject: [PATCH 4/8] set packager cache dir --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 6f70320..6e2d95b 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,7 @@ VSPHERE_FOLDER ?= build-d2iq-base-templates RELEASE_FOLDER ?= d2iq-base-templates NAME_POSTFIX ?= -manual-build-$(shell whoami) +PACKER_CACHE_DIR ?= ./packer_cache PACKER_ON_ERROR ?= cleanup manifests/d2iq-base-%$(NAME_POSTFIX).json: packer.initialized vsphere.pkr.hcl $(GOVC) From 74d00b69ccb5f2f72bd9dd5bff0d0bcfb7a2fb7e Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 25 Oct 2024 15:13:24 +0200 Subject: [PATCH 5/8] add 8.10 and 9.4 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b77fab..82f9d90 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ There are distribution based make targets for building images - `make centos` - Centos 7.9 - `make oraclelinux` - OracleLinux 9.10 - `make flatcar` - Flatcar LTS -- `make rhel` - RHEL 7.9, 8.4, 8.6 and 8.8 +- `make rhel` - RHEL 7.9, 8.4, 8.6 and 8.8, 8.10, 9.4 Templates and VMs are created by default in the folder `build-d2iq-base-templates` This can be changed by injecting the environment variable `VSPHERE_FOLDER` From 28c6526bb2580aafb735bbea8e60c65ab5bbddac Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 25 Oct 2024 15:29:46 +0200 Subject: [PATCH 6/8] RHEL9+ is using network manager --- scripts/el/cleanup_dnf.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/scripts/el/cleanup_dnf.sh b/scripts/el/cleanup_dnf.sh index afa5c52..4b80fda 100644 --- a/scripts/el/cleanup_dnf.sh +++ b/scripts/el/cleanup_dnf.sh @@ -35,12 +35,15 @@ rm -rf /dev/.udev/; # will fail on rocky if [ "$distro" != 'rocky' ]; then - for ndev in /etc/sysconfig/network-scripts/ifcfg-*; do - if [ "$(basename "$ndev")" != "ifcfg-lo" ]; then - sed -i '/^HWADDR/d' "$ndev"; - sed -i '/^UUID/d' "$ndev"; - fi - done + # catch el9+ networkmanager + if test -f /etc/sysconfig/network-scripts/ifcfg-*; then + for ndev in /etc/sysconfig/network-scripts/ifcfg-*; do + if [ "$(basename "$ndev")" != "ifcfg-lo" ]; then + sed -i '/^HWADDR/d' "$ndev"; + sed -i '/^UUID/d' "$ndev"; + fi + done + fi fi echo "truncate any logs that have built up during the install" From 67b97cfc8816c9e60d72492f73bacb81b4f29155 Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 25 Oct 2024 17:03:51 +0200 Subject: [PATCH 7/8] drop RHEL 7.9 --- Makefile | 6 +++--- README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 6e2d95b..7b653ef 100644 --- a/Makefile +++ b/Makefile @@ -88,21 +88,21 @@ rhel-test-810: manifests/tests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean rhel-test-810-clean: rhel-test-810 manifests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean rhel-test-94: manifests/tests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean rhel-test-94-clean: rhel-test-94 manifests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean -rhel-test: rhel-test-79-clean rhel-test-84-clean rhel-test-86-clean rhel-test-88-clean rhel-test-810-clean rhel-test-94-clean +rhel-test: rhel-test-84-clean rhel-test-86-clean rhel-test-88-clean rhel-test-810-clean rhel-test-94-clean rhel-release-79: rhel-test-79 release/d2iq-base-RHEL-79$(NAME_POSTFIX) rhel-release-84: rhel-test-84 release/d2iq-base-RHEL-84$(NAME_POSTFIX) rhel-release-86: rhel-test-86 release/d2iq-base-RHEL-86$(NAME_POSTFIX) rhel-release-88: rhel-test-88 release/d2iq-base-RHEL-88$(NAME_POSTFIX) rhel-release-810: rhel-test-810 release/d2iq-base-RHEL-810$(NAME_POSTFIX) rhel-release-94: rhel-test-94 release/d2iq-base-RHEL-94$(NAME_POSTFIX) -rhel-release: rhel-release-79 rhel-release-84 rhel-release-86 rhel-release-88 rhel-release-810 rhel-release-94 +rhel-release: rhel-release-84 rhel-release-86 rhel-release-88 rhel-release-810 rhel-release-94 rhel-ovf-79: manifests/ovf/d2iq-base-RHEL-79$(NAME_POSTFIX).ovf rhel-ovf-84: manifests/ovf/d2iq-base-RHEL-84$(NAME_POSTFIX).ovf rhel-ovf-86: manifests/ovf/d2iq-base-RHEL-86$(NAME_POSTFIX).ovf rhel-ovf-88: manifests/ovf/d2iq-base-RHEL-88$(NAME_POSTFIX).ovf rhel-ovf-810: manifests/ovf/d2iq-base-RHEL-810$(NAME_POSTFIX).ovf rhel-ovf-94: manifests/ovf/d2iq-base-RHEL-94$(NAME_POSTFIX).ovf -rhel-ovf: rhel-ovf-79 rhel-ovf-84 rhel-ovf-86 rhel-ovf-88 rhel-ovf-810 rhel-ovf-94 +rhel-ovf: rhel-ovf-84 rhel-ovf-86 rhel-ovf-88 rhel-ovf-810 rhel-ovf-94 oraclelinux: manifests/d2iq-base-OracleLinux-94$(NAME_POSTFIX).json oraclelinux-test-94: manifests/tests/d2iq-base-OracleLinux-94$(NAME_POSTFIX).json.clean diff --git a/README.md b/README.md index 82f9d90..9157c2a 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ There are distribution based make targets for building images - `make centos` - Centos 7.9 - `make oraclelinux` - OracleLinux 9.10 - `make flatcar` - Flatcar LTS -- `make rhel` - RHEL 7.9, 8.4, 8.6 and 8.8, 8.10, 9.4 +- `make rhel` - RHEL 7.9(EOL no longer tested), 8.4, 8.6 and 8.8, 8.10, 9.4 Templates and VMs are created by default in the folder `build-d2iq-base-templates` This can be changed by injecting the environment variable `VSPHERE_FOLDER` From 5224a89560cc6399306fb95805e66f986bbd630e Mon Sep 17 00:00:00 2001 From: Jan Ulferts Date: Fri, 25 Oct 2024 18:51:30 +0200 Subject: [PATCH 8/8] remove 8.4 from build due to cloud-init issue --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 7b653ef..e6fd70b 100644 --- a/Makefile +++ b/Makefile @@ -88,21 +88,21 @@ rhel-test-810: manifests/tests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean rhel-test-810-clean: rhel-test-810 manifests/d2iq-base-RHEL-810$(NAME_POSTFIX).json.clean rhel-test-94: manifests/tests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean rhel-test-94-clean: rhel-test-94 manifests/d2iq-base-RHEL-94$(NAME_POSTFIX).json.clean -rhel-test: rhel-test-84-clean rhel-test-86-clean rhel-test-88-clean rhel-test-810-clean rhel-test-94-clean +rhel-test: rhel-test-86-clean rhel-test-88-clean rhel-test-810-clean rhel-test-94-clean rhel-release-79: rhel-test-79 release/d2iq-base-RHEL-79$(NAME_POSTFIX) rhel-release-84: rhel-test-84 release/d2iq-base-RHEL-84$(NAME_POSTFIX) rhel-release-86: rhel-test-86 release/d2iq-base-RHEL-86$(NAME_POSTFIX) rhel-release-88: rhel-test-88 release/d2iq-base-RHEL-88$(NAME_POSTFIX) rhel-release-810: rhel-test-810 release/d2iq-base-RHEL-810$(NAME_POSTFIX) rhel-release-94: rhel-test-94 release/d2iq-base-RHEL-94$(NAME_POSTFIX) -rhel-release: rhel-release-84 rhel-release-86 rhel-release-88 rhel-release-810 rhel-release-94 +rhel-release: rhel-release-86 rhel-release-88 rhel-release-810 rhel-release-94 rhel-ovf-79: manifests/ovf/d2iq-base-RHEL-79$(NAME_POSTFIX).ovf rhel-ovf-84: manifests/ovf/d2iq-base-RHEL-84$(NAME_POSTFIX).ovf rhel-ovf-86: manifests/ovf/d2iq-base-RHEL-86$(NAME_POSTFIX).ovf rhel-ovf-88: manifests/ovf/d2iq-base-RHEL-88$(NAME_POSTFIX).ovf rhel-ovf-810: manifests/ovf/d2iq-base-RHEL-810$(NAME_POSTFIX).ovf rhel-ovf-94: manifests/ovf/d2iq-base-RHEL-94$(NAME_POSTFIX).ovf -rhel-ovf: rhel-ovf-84 rhel-ovf-86 rhel-ovf-88 rhel-ovf-810 rhel-ovf-94 +rhel-ovf: rhel-ovf-86 rhel-ovf-88 rhel-ovf-810 rhel-ovf-94 oraclelinux: manifests/d2iq-base-OracleLinux-94$(NAME_POSTFIX).json oraclelinux-test-94: manifests/tests/d2iq-base-OracleLinux-94$(NAME_POSTFIX).json.clean