Repository navigation
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
11c2e12 to
8cfac6b
Compare
|
/retest |
8cfac6b to
e5f8b56
Compare
Teardown could fail with the `openstack` namespace stuck in `Terminating` forever. `wait_and_cleanup_resource.yaml` only force-removes finalizers from the top-level CRs (`OpenStackControlPlane`, dataplane, `RabbitmqCluster`), but their children (`keystone*`, `nova*`, `galera`, `mariadbaccount`, `keystoneendpoint`, ...) and core resources that carry OpenStack finalizers (secrets, configmaps, services) can be orphaned with dangling finalizers once the operators are removed. The namespace deletion then times out with `"Namespace" "openstack": Timed out waiting on resource`. Make the force-drain a true safety net. Phase 2 (remove operators + delete the `openstack` namespace) runs in a `block`; issuing the namespace deletion already stamps a `deletionTimestamp` on everything inside it. If that times out because leftover CRs are wedged on finalizers whose operators are gone, the `rescue` runs `force_drain_namespace.yaml` to discover every namespaced `*.openstack.org` (and `rabbitmq.com`) CRD plus the relevant core kinds, strip their finalizers, and retry the removal. The wait is kept short via `cifmw_cleanup_openstack_operators_wait_timeout` so recovery kicks in quickly instead of burning the full default timeout. On a clean teardown the rescue is never reached, so the happy path pays zero extra cost. The duplicated finalizer-stripping logic is unified into `strip_finalizers.yaml`, reused both by the per-kind `rescue` in `wait_and_cleanup_resource.yaml` and by `force_drain_namespace.yaml`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Miguel Angel Nieto Jimenez <mnietoji@redhat.com>
e5f8b56 to
1bbf9c4
Compare
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 36m 16s |
Teardown could fail with the
openstacknamespace stuck inTerminatingforever.wait_and_cleanup_resource.yamlonly force-removes finalizers from the top-level CRs (OpenStackControlPlane, dataplane,RabbitmqCluster), but their children (keystone*,nova*,galera,mariadbaccount,keystoneendpoint, ...) and core resources that carry OpenStack finalizers (secrets, configmaps, services) can be orphaned with dangling finalizers once the operators are removed. The namespace deletion in Phase 2 then times out with"Namespace" "openstack": Timed out waiting on resource.Wrap the Phase 2 operator/namespace removal in a block/rescue: on failure,
force_drain_namespace.yamldiscovers every namespaced*.openstack.org(andrabbitmq.com) CRD plus the relevant core kinds and strips the finalizers from whatever is left, then the namespace deletion is retried. The operator-removal wait is shortened (cifmw_cleanup_openstack_operators_wait_timeout, default 300s) so a stuck namespace is recovered quickly instead of burning the full default timeout.