You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cleanup conversion webhooks when an operator is uninstalled (#2832)
Problem: When uninstalling a CSV, OLM has always avoided deleting the
associated CRD as all CRs on cluster are subsequently deleted, possibly
resulting in user dataloss.
OLM supports defining conversion webhooks within the CSV. On cluster,
conversion webhooks are defined with a CRD and point to a service that
handles conversion. If the service is unable to fulfill the request,
all requests against the CRs associated with the CRD will fail.
When uninstalling a CSV, OLM does not remove the conversion webhook from
the CRD, meaning that all requests against the CRs associated with the
CRD will fail, resulting in at least two concerns:
1. OLM is unable to subsequently reinstall the operator. When installing
a CSV, if the CRD already exists and instances of CRs exist as well,
OLM performs a series of checks which ensure that none of the CRs are
invalidated against the new schema. The existing CRD's conversion
webhooks points to a non-existant service, causing the check to fail
and preventing installs.
2. Broken conversion webhooks causes kubernete's garbage collection to
fail.
Solution: When a CSV is deleted, if no CSV exists that is replacing it,
set the CRD's conversion strategy to None.
Signed-off-by: Alexander Greene <[email protected]>
0 commit comments