Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve automated support for local webhooks #643

Merged

Conversation

abays
Copy link
Contributor

@abays abays commented Oct 22, 2024

Reworks make run-with-webhook target to trap SIGINT and SIGTERM so as to call clean_local_webhook.sh in such a scenario. This way, a user can run the operator locally and automatically have the local webhooks removed when they finish running the operator via ctrl+c.

Also creates a backup of any existing OLM CSV for the operator while preparing to run the operator locally with webhooks, if the current CSV has a deployment replicas count greater than zero and/or there are webhookdefinitions present. That backup can then be easily re-applied to restore OLM CSV defaults via oc patch by the user at their convenience.

Copy link
Contributor

@fmount fmount left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

oc get -n openstack-operators "${CSV_NAME}" -o json | \
jq -r 'del(.metadata.generation, .metadata.resourceVersion, .metadata.uid)' > "${CSV_FILE}"

printf \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 thank you, this printf is very useful in case you want to rollback and re-apply the previous CSV.

CUR_WEBHOOK_DEFS=$(oc get -n openstack-operators "${CSV_NAME}" -o=jsonpath='{.spec.webhookdefinitions}')

# Back-up CSV if it currently uses OLM defaults for deployment replicas or webhook definitions
if [[ "${CUR_REPLICAS}" -gt 0 || ( -n "${CUR_WEBHOOK_DEFS}" && "${CUR_WEBHOOK_DEFS}" != "[]" ) ]]; then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if .spec.webhookdefinitions (the key) is not there, you get an empty string, which justifies having a -n, but at the same time we need to make sure it's not an empty array [] because we might have deleted it already in previous runs.
+1 on this.

Copy link
Contributor

openshift-ci bot commented Oct 22, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abays, fmount

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit 3b151e5 into openstack-k8s-operators:main Oct 22, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants