Skip to content

Commit

Permalink
Add openstack_crds_cleanup and openstack_patch_version target
Browse files Browse the repository at this point in the history
* The openstack_crds_cleanup target allows to remove all openstack
related CRDs from an environment. All deployments need to be
deleted before.

* The openstack_patch_version target patches the OpenstackVersion
target version to be the avaliable version to trigger an update.

With this an operator update (reinstall) and a deployment update
can be tested using this procedure:

~~~
make openstack_crds_cleanup
OPENSTACK_IMG=quay.io/openstack-k8s-operators/openstack-operator-index:123 make openstack_wait
TIMEOUT=600s make openstack_wait_deploy
make openstack_cleanup
make openstack_wait
make openstack_patch_version
~~~

TODO:
add targets to perform edpm deploy/update (ovn controller update
and final service update)

Depends-On: openstack-k8s-operators/openstack-operator#1217

Signed-off-by: Martin Schuppert <[email protected]>
  • Loading branch information
stuggi committed Dec 4, 2024
1 parent e9ff886 commit 8f41d4e
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -798,6 +798,12 @@ openstack_update_run:
$(eval $(call vars,$@,openstack))
bash scripts/openstack-update.sh

OV := $(shell oc get openstackversion -n $(NAMESPACE) -o name)
.PHONY: openstack_patch_version
openstack_patch_version: ## patches the openstackversion target version to the available version, if there is an update available
$(eval $(call vars,$@,openstack))
oc wait -n ${NAMESPACE} ${OV} --for=condition=MinorUpdateAvailable --timeout=${TIMEOUT} && \
oc patch -n ${NAMESPACE} ${OV} --type merge --patch '{"spec": {"targetVersion": "$(shell oc get -n $(NAMESPACE) ${OV} -o yaml | yq .status.availableVersion)"}}'

.PHONY: edpm_deploy_generate_keys
edpm_deploy_generate_keys:
Expand Down Expand Up @@ -937,6 +943,10 @@ edpm_nova_discover_hosts: ## trigger manual compute host discovery in nova
openstack_crds: namespace openstack_deploy_prep ## installs all openstack CRDs. Useful for infrastructure dev
OPENSTACK_BUNDLE_IMG=${OPENSTACK_BUNDLE_IMG} OUT=${OUT} OPENSTACK_CRDS_DIR=${OPENSTACK_CRDS_DIR} OPERATOR_BASE_DIR=${OPERATOR_BASE_DIR} bash scripts/openstack-crds.sh

.PHONY: openstack_crds_cleanup
openstack_crds_cleanup: ## deletes all openstack CRDs. Useful for installing a ga version. expects that all deployments are gone before
oc delete $$(oc get crd -o name |grep 'openstack\.org')

.PHONY: edpm_deploy_networker_prep
edpm_deploy_networker_prep: export KIND=OpenStackDataPlaneNodeSet
edpm_deploy_networker_prep: export EDPM_ANSIBLE_SECRET=${DATAPLANE_ANSIBLE_SECRET}
Expand Down

0 comments on commit 8f41d4e

Please sign in to comment.