11# general
2- SHELL := /bin/bash
2+ SHELL := /bin/bash
3+ OCP_RELEASE := $(shell cut -d '.' -f 1,2 <<< $(shell oc version -o json | jq -r .openshiftVersion) )
34OPERATOR_NAMESPACE ?= openstack-operators
45NAMESPACE ?= openstack
56PASSWORD ?= 12345678
@@ -323,7 +324,6 @@ SG_CORE_DEPL_IMG ?= unused
323324# BMO
324325BMO_REPO ?= https://github.com/metal3-io/baremetal-operator
325326BMO_BRANCH ?= main
326- CERTMANAGER_URL ?= https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
327327BMO_PROVISIONING_INTERFACE ?= enp6s0
328328BMO_IRONIC_HOST ?= 192.168.122.10
329329
@@ -336,6 +336,7 @@ SWIFT_CR ?= ${OPERATOR_BASE_DIR}/swift-operator/${SWIFT}
336336
337337# target vars for generic operator install info 1: target name , 2: operator name
338338define vars
339+ ${1}: export OCP_RELEASE=$(OCP_RELEASE )
339340${1}: export NAMESPACE=${NAMESPACE}
340341${1}: export OPERATOR_NAMESPACE=${OPERATOR_NAMESPACE}
341342${1}: export SECRET=${SECRET}
@@ -449,12 +450,9 @@ input_cleanup: ## deletes the secret/CM, used by the services as input
449450# #@ CRC BMO SETUP
450451.PHONY : crc_bmo_setup
451452crc_bmo_setup : export IRONIC_HOST_IP=${BMO_IRONIC_HOST}
452- crc_bmo_setup :
453+ crc_bmo_setup : certmanager
453454 $(eval $(call vars,$@ ) )
454455 mkdir -p ${OPERATOR_BASE_DIR}
455- oc apply -f ${CERTMANAGER_URL}
456- timeout ${TIMEOUT} bash -c ' until [ "$$(oc get pod -l app=webhook -n cert-manager -o name)" != "" ]; do sleep 1; done'
457- oc wait pod -n cert-manager --for condition=Ready -l app=webhook --timeout=$(TIMEOUT )
458456 pushd ${OPERATOR_BASE_DIR} && git clone ${GIT_CLONE_OPTS} $(if $(BMO_BRANCH ) ,-b ${BMO_BRANCH}) ${BMO_REPO} " baremetal-operator" && popd
459457 pushd ${OPERATOR_BASE_DIR} /baremetal-operator && sed -i ' s/eth2/${BMO_PROVISIONING_INTERFACE}/g' ironic-deployment/default/ironic_bmo_configmap.env config/default/ironic.env && popd
460458 pushd ${OPERATOR_BASE_DIR} /baremetal-operator && sed -i ' s/ENDPOINT\=http/ENDPOINT\=https/g' ironic-deployment/default/ironic_bmo_configmap.env config/default/ironic.env && popd
@@ -487,7 +485,7 @@ openstack_prep: $(if $(findstring true,$(BMO_SETUP)), crc_bmo_setup) ## creates
487485 bash scripts/gen-olm.sh
488486
489487.PHONY : openstack
490- openstack : operator_namespace openstack_prep # # installs the operator, also runs the prep step. Set OPENSTACK_IMG for custom image.
488+ openstack : certmanager operator_namespace openstack_prep # # installs the operator, also runs the prep step. Set OPENSTACK_IMG for custom image.
491489 $(eval $(call vars,$@ ,openstack) )
492490 oc apply -f ${OPERATOR_DIR}
493491
@@ -1861,3 +1859,31 @@ swift_deploy_cleanup: ## cleans up the service instance, Does not affect the ope
18611859 $(eval $(call vars,$@ ,swift) )
18621860 oc kustomize ${DEPLOY_DIR} | oc delete --ignore-not-found=true -f -
18631861 rm -Rf ${OPERATOR_BASE_DIR} /swift-operator ${DEPLOY_DIR}
1862+
1863+ # #@ CERT-MANAGER
1864+ .PHONY : certmanager
1865+ certmanager : export NAMESPACE=$(if $(findstring 4.10,$(OCP_RELEASE ) ) ,openshift-cert-manager,cert-manager)
1866+ certmanager : export OPERATOR_NAMESPACE=$(if $(findstring 4.10,$(OCP_RELEASE ) ) ,openshift-cert-manager-operator,cert-manager-operator)
1867+ certmanager : export CHANNEL=$(if $(findstring 4.10,$(OCP_RELEASE ) ) ,tech-preview,stable-v1)
1868+ certmanager : # # installs cert-manager operator in the cert-manager-operator namespace, cert-manager runs it cert-manager namespace
1869+ $(eval $(call vars,$@ ,cert-manager) )
1870+ $(MAKE ) operator_namespace
1871+ bash scripts/gen-olm-cert-manager.sh
1872+ oc apply -f ${OPERATOR_DIR}
1873+ while ! (oc get pod --no-headers=true -l name=cert-manager-operator -n ${OPERATOR_NAMESPACE} | grep " cert-manager-operator" ); do sleep 10; done
1874+ oc wait pod -n ${OPERATOR_NAMESPACE} --for condition=Ready -l name=cert-manager-operator --timeout=$(TIMEOUT )
1875+ while ! (oc get pod --no-headers=true -l app=cainjector -n ${NAMESPACE} | grep " cert-manager-cainjector" ); do sleep 10; done
1876+ oc wait pod -n ${NAMESPACE} -l app=cainjector --for condition=Ready --timeout=$(TIMEOUT )
1877+ while ! (oc get pod --no-headers=true -l app=webhook -n ${NAMESPACE} | grep " cert-manager-webhook" ); do sleep 10; done
1878+ oc wait pod -n ${NAMESPACE} -l app=webhook --for condition=Ready --timeout=$(TIMEOUT )
1879+ while ! (oc get pod --no-headers=true -l app=cert-manager -n ${NAMESPACE} | grep " cert-manager" ); do sleep 10; done
1880+ oc wait pod -n ${NAMESPACE} -l app=cert-manager --for condition=Ready --timeout=$(TIMEOUT )
1881+
1882+ certmanager_cleanup : export NAMESPACE=$(if $(findstring 4.10,$(OCP_RELEASE ) ) ,openshift-cert-manager,cert-manager)
1883+ certmanager_cleanup : export OPERATOR_NAMESPACE=$(if $(findstring 4.10,$(OCP_RELEASE ) ) ,openshift-cert-manager-operator,cert-manager-operator)
1884+ certmanager_cleanup :
1885+ oc delete -n ${OPERATOR_NAMESPACE} operatorgroup --all --ignore-not-found=true
1886+ oc delete -n ${OPERATOR_NAMESPACE} subscription --all --ignore-not-found=true
1887+ oc delete -n ${OPERATOR_NAMESPACE} csv --all --ignore-not-found=true
1888+ oc delete -n ${NAMESPACE} installplan --all --ignore-not-found=true
1889+ oc delete -n cert-manager deployment --all
0 commit comments