-
Notifications
You must be signed in to change notification settings - Fork 345
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
Integrations, IntegrationKits, IntegrationPlatforms are not owned by Namespaces #3311
Comments
Good finding! Talking about whether to add ownership to them, I thought the kits are intentionally left even after the operator is uninstalled, since they work as build caches and may be reused with another operator installation. As for namespaces, I think deleting them should delete all resources under them: If the issue is only for the e2e testing, then adding owner references might be a bit intrusive; instead we could perhaps just make sure |
Seems not. Some of the namespaces were deleted some time ago but if others could check their clusters to confirm ...
Already added a cleanup-resources stage in the refactoring I'm doing but concerned that the global operator is being increasingly affected so becomes an issue of installation performance in user clusters rather than just confined to testing. |
I did a simple test that created a new project (namespace) and then installed an operator and ran a few integrations ( If the namespace deletion is stuck, then probably there are some problems with the finalizers for some remaining resources. You can force deleting those resources like this:
but I think it should be specific to the settings of some tests and we should investigate why the finalizer for the resource is stuck in the tests. |
+1, namespaced resources, such as integrations, are deleted by the GC controller when their namespace is deleted. The problem, as outlined by @tadayosi, is that some namespaces are still pending deletion, e.g.:
Finalizers set on resources within the namespace may be a possible cause. |
Closing as proven not required. |
When running the e2e tests, I found that despite the namespaces being deleted after each test, the integrations, integrationKits and integrationPlatforms are not. Leaving a cluster for some time leads to an accumulation of these resources and the performance of a global operator degrades since on starting up, it first has to reconcile all of these resources currently installed but not necessarily 'visible' (due to their namespace having been deleted).
$ kubectl get namespaces | grep test
$ kubectl get integrationplatforms --all-namespaces
oc get integrationkits --all-namespaces
Both should have been deleted by terminating namespace?
oc get integrations --all-namespaces
I notice that none of these resouces have the
owner
property assigning them either to the operator or to the namespace. Perhaps, adding this will ensure that deleting either the operator or namespace (depending on which is chosen) will then remove them.Question is whether to attach them to the operator or to the namespace?
The text was updated successfully, but these errors were encountered: