From 799e4e554a15f0e4324b9b22d82acdb74a92bdec Mon Sep 17 00:00:00 2001 From: Todd Malsbary Date: Mon, 7 Feb 2022 15:06:28 -0800 Subject: [PATCH] Add option to remove DHCP from Ironic Signed-off-by: Todd Malsbary Change-Id: Icafa480355b7378b09fcd59d9af1c11f070b6bf8 --- deploy/ironic/icn-no-dhcp/kustomization.yaml | 12 ++++++++++++ deploy/ironic/icn-no-dhcp/remove-dnsmasq-patch.json | 3 +++ deploy/ironic/ironic.sh | 7 ++++++- user_config.sh | 4 ++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 deploy/ironic/icn-no-dhcp/kustomization.yaml create mode 100644 deploy/ironic/icn-no-dhcp/remove-dnsmasq-patch.json diff --git a/deploy/ironic/icn-no-dhcp/kustomization.yaml b/deploy/ironic/icn-no-dhcp/kustomization.yaml new file mode 100644 index 0000000..71d5d27 --- /dev/null +++ b/deploy/ironic/icn-no-dhcp/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: capm3-system + +resources: +- ../icn + +patchesJson6902: +- path: remove-dnsmasq-patch.json + target: + kind: Deployment + name: capm3-ironic diff --git a/deploy/ironic/icn-no-dhcp/remove-dnsmasq-patch.json b/deploy/ironic/icn-no-dhcp/remove-dnsmasq-patch.json new file mode 100644 index 0000000..0260b91 --- /dev/null +++ b/deploy/ironic/icn-no-dhcp/remove-dnsmasq-patch.json @@ -0,0 +1,3 @@ +[ + { "op": "remove", "path": "/spec/template/spec/containers/0" } +] diff --git a/deploy/ironic/ironic.sh b/deploy/ironic/ironic.sh index f8bc2f8..5325d61 100755 --- a/deploy/ironic/ironic.sh +++ b/deploy/ironic/ironic.sh @@ -8,6 +8,7 @@ source $LIBDIR/logging.sh source $LIBDIR/common.sh NAMEPREFIX="capm3" +ENABLE_DHCP="${IRONIC_ENABLE_DHCP:-yes}" trap err_exit ERR function err_exit { @@ -31,7 +32,11 @@ function build_source { function deploy { fetch_image - kustomize build ${SCRIPTDIR}/icn | kubectl apply -f - + local layer="${SCRIPTDIR}/icn" + if [[ ${ENABLE_DHCP} != "yes" ]]; then + layer="${SCRIPTDIR}/icn-no-dhcp" + fi + kustomize build ${layer} | kubectl apply -f - kubectl wait --for=condition=Available --timeout=600s deployment/${NAMEPREFIX}-ironic -n ${NAMEPREFIX}-system } diff --git a/user_config.sh b/user_config.sh index 50c654e..f4193e8 100644 --- a/user_config.sh +++ b/user_config.sh @@ -3,5 +3,9 @@ #Ironic Metal3 settings for provisioning network export IRONIC_INTERFACE="enp4s0f3" +#Ironic Metal3 setting to disable DHCP server for provisioning network +#The DHCP server is not necessary when all machines can be provisioned with virtual media +export IRONIC_ENABLE_DHCP="yes" + #Use a registry mirror for downloading container images export DOCKER_REGISTRY_MIRRORS="" -- 2.16.6