From a504fffab9f87981456eda50e2fac390a6161338 Mon Sep 17 00:00:00 2001 From: Alexandr Demicev Date: Mon, 27 Nov 2023 18:27:39 +0100 Subject: [PATCH] Create bootstrap-success before setting selinux to enforcing mode Signed-off-by: Alexandr Demicev --- bootstrap/internal/ignition/butane/butane.go | 1 - bootstrap/internal/ignition/ignition.go | 10 ++++++---- bootstrap/internal/ignition/ignition_test.go | 16 ++++++++-------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/bootstrap/internal/ignition/butane/butane.go b/bootstrap/internal/ignition/butane/butane.go index 376323c2..c06c19a3 100644 --- a/bootstrap/internal/ignition/butane/butane.go +++ b/bootstrap/internal/ignition/butane/butane.go @@ -121,7 +121,6 @@ storage: {{ . | Indent 10 }} {{- end }} - mkdir -p /run/cluster-api && echo success > /run/cluster-api/bootstrap-success.complete {{range .PostRKE2Commands }} {{ . | Indent 10 }} {{- end }} diff --git a/bootstrap/internal/ignition/ignition.go b/bootstrap/internal/ignition/ignition.go index b7af6ba2..7390546f 100644 --- a/bootstrap/internal/ignition/ignition.go +++ b/bootstrap/internal/ignition/ignition.go @@ -31,21 +31,23 @@ const ( ) var ( - serverSystemdServices = []string{ + serverDeployCommands = []string{ "semanage fcontext -a -t systemd_unit_file_t /usr/lib/systemd/system/rke2-server.service", "setenforce 0", "systemctl enable rke2-server.service", "systemctl start rke2-server.service", "restorecon /etc/systemd/system/rke2-server.service", + "mkdir -p /run/cluster-api && echo success > /run/cluster-api/bootstrap-success.complete", "setenforce 1", } - workerSystemdServices = []string{ + workerDeployCommands = []string{ "semanage fcontext -a -t systemd_unit_file_t /usr/lib/systemd/system/rke2-agent.service", "setenforce 0", "systemctl enable rke2-agent.service", "systemctl start rke2-agent.service", "restorecon /etc/systemd/system/rke2-agent.service", + "mkdir -p /run/cluster-api && echo success > /run/cluster-api/bootstrap-success.complete", "setenforce 1", } ) @@ -136,11 +138,11 @@ func render(input *cloudinit.BaseUserData, ignitionConfig *bootstrapv1.Additiona } func getControlPlaneRKE2Commands(baseUserData *cloudinit.BaseUserData) ([]string, error) { - return getRKE2Commands(baseUserData, controlPlaneCommand, airGappedControlPlaneCommand, serverSystemdServices) + return getRKE2Commands(baseUserData, controlPlaneCommand, airGappedControlPlaneCommand, serverDeployCommands) } func getWorkerRKE2Commands(baseUserData *cloudinit.BaseUserData) ([]string, error) { - return getRKE2Commands(baseUserData, workerCommand, airGappedWorkerCommand, workerSystemdServices) + return getRKE2Commands(baseUserData, workerCommand, airGappedWorkerCommand, workerDeployCommands) } func getRKE2Commands(baseUserData *cloudinit.BaseUserData, command, airgappedCommand string, systemdServices []string) ([]string, error) { diff --git a/bootstrap/internal/ignition/ignition_test.go b/bootstrap/internal/ignition/ignition_test.go index 7d281a84..1e3fa5cf 100644 --- a/bootstrap/internal/ignition/ignition_test.go +++ b/bootstrap/internal/ignition/ignition_test.go @@ -207,16 +207,16 @@ var _ = Describe("getControlPlaneRKE2Commands", func() { It("should return slice of control plane commands", func() { commands, err := getControlPlaneRKE2Commands(baseUserData) Expect(err).ToNot(HaveOccurred()) - Expect(commands).To(HaveLen(7)) - Expect(commands).To(ContainElements(fmt.Sprintf(controlPlaneCommand, baseUserData.RKE2Version), serverSystemdServices[0], serverSystemdServices[1])) + Expect(commands).To(HaveLen(8)) + Expect(commands).To(ContainElements(fmt.Sprintf(controlPlaneCommand, baseUserData.RKE2Version), serverDeployCommands[0], serverDeployCommands[1])) }) It("should return slice of control plane commands with air gapped", func() { baseUserData.AirGapped = true commands, err := getControlPlaneRKE2Commands(baseUserData) Expect(err).ToNot(HaveOccurred()) - Expect(commands).To(HaveLen(7)) - Expect(commands).To(ContainElements(airGappedControlPlaneCommand, serverSystemdServices[0], serverSystemdServices[1])) + Expect(commands).To(HaveLen(8)) + Expect(commands).To(ContainElements(airGappedControlPlaneCommand, serverDeployCommands[0], serverDeployCommands[1])) }) It("should return error if base userdata is nil", func() { @@ -247,16 +247,16 @@ var _ = Describe("getWorkerRKE2Commands", func() { It("should return slice of worker commands", func() { commands, err := getWorkerRKE2Commands(baseUserData) Expect(err).ToNot(HaveOccurred()) - Expect(commands).To(HaveLen(7)) - Expect(commands).To(ContainElements(fmt.Sprintf(workerCommand, baseUserData.RKE2Version), workerSystemdServices[0], workerSystemdServices[1])) + Expect(commands).To(HaveLen(8)) + Expect(commands).To(ContainElements(fmt.Sprintf(workerCommand, baseUserData.RKE2Version), workerDeployCommands[0], workerDeployCommands[1])) }) It("should return slice of worker commands with air gapped", func() { baseUserData.AirGapped = true commands, err := getWorkerRKE2Commands(baseUserData) Expect(err).ToNot(HaveOccurred()) - Expect(commands).To(HaveLen(7)) - Expect(commands).To(ContainElements(airGappedWorkerCommand, workerSystemdServices[0], workerSystemdServices[1])) + Expect(commands).To(HaveLen(8)) + Expect(commands).To(ContainElements(airGappedWorkerCommand, workerDeployCommands[0], workerDeployCommands[1])) }) It("should return error if base userdata is nil", func() {