Skip to content

Commit 24f7328

Browse files
Merge pull request #1867 from stuggi/osversion_cleanup
Fix ReconcileVersion re-creating OpenStackVersion during deletion
2 parents 55df25d + b957def commit 24f7328

3 files changed

Lines changed: 14 additions & 7 deletions

File tree

config/operator/manager_operator_images.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ spec:
4646
- name: RELATED_IMAGE_OVN_OPERATOR_MANAGER_IMAGE_URL
4747
value: quay.io/openstack-k8s-operators/ovn-operator@sha256:4b983bc9e9cebbde8a781fdaaf774b8dd13bb30f66f323d94c2187707f6552d9
4848
- name: RELATED_IMAGE_PLACEMENT_OPERATOR_MANAGER_IMAGE_URL
49-
value: quay.io/openstack-k8s-operators/placement-operator@sha256:b27cbefac3c9b9ecaf392314feff2c0065ebf7f835d225167a846e2f2224c352
49+
value: quay.io/openstack-k8s-operators/placement-operator@sha256:96eade4f229c073e64fb9ff9c5a8479c93078b1007469ac1ea7d8135e1d29946
5050
- name: RELATED_IMAGE_RABBITMQ_CLUSTER_OPERATOR_MANAGER_IMAGE_URL
5151
value: quay.io/openstack-k8s-operators/rabbitmq-cluster-operator@sha256:893e66303c1b0bc1d00a299a3f0380bad55c8dc813c8a1c6a4aab379f5aa12a2
5252
- name: RELATED_IMAGE_SWIFT_OPERATOR_MANAGER_IMAGE_URL

hack/export_operator_related_images.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export RELATED_IMAGE_NOVA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-opera
1616
export RELATED_IMAGE_OCTAVIA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/octavia-operator@sha256:b6d44a28b047f402b17b4cc07584f04cd6f1168d8742a9a8b17a9ce7c8550c5a
1717
export RELATED_IMAGE_OPENSTACK_BAREMETAL_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/openstack-baremetal-operator@sha256:3d084b1d36a44eee6d2412f49662a478752bdd7d930eda9ec4cb5a8169965d91
1818
export RELATED_IMAGE_OVN_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/ovn-operator@sha256:4b983bc9e9cebbde8a781fdaaf774b8dd13bb30f66f323d94c2187707f6552d9
19-
export RELATED_IMAGE_PLACEMENT_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/placement-operator@sha256:b27cbefac3c9b9ecaf392314feff2c0065ebf7f835d225167a846e2f2224c352
19+
export RELATED_IMAGE_PLACEMENT_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/placement-operator@sha256:96eade4f229c073e64fb9ff9c5a8479c93078b1007469ac1ea7d8135e1d29946
2020
export RELATED_IMAGE_RABBITMQ_CLUSTER_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/rabbitmq-cluster-operator@sha256:893e66303c1b0bc1d00a299a3f0380bad55c8dc813c8a1c6a4aab379f5aa12a2
2121
export RELATED_IMAGE_SWIFT_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/swift-operator@sha256:cbc03ca8837c64974a4670506a8df688c44432c4aab095f3fa7f1330e72bd3bd
2222
export RELATED_IMAGE_TELEMETRY_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/telemetry-operator@sha256:566b1f4d3f3d50e9620b845e12ef72bf3a27e07233a9c7424c1102045a4e74a2

internal/openstack/version.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"github.com/openstack-k8s-operators/lib-common/modules/common/helper"
1111
corev1beta1 "github.com/openstack-k8s-operators/openstack-operator/api/core/v1beta1"
12+
k8s_errors "k8s.io/apimachinery/pkg/api/errors"
1213
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1314
"k8s.io/apimachinery/pkg/types"
1415
ctrl "sigs.k8s.io/controller-runtime"
@@ -244,15 +245,21 @@ func ReconcileVersion(ctx context.Context, instance *corev1beta1.OpenStackContro
244245

245246
Log := GetLogger(ctx)
246247

247-
// return if OpenStackVersion CR already exists
248248
if err := helper.GetClient().Get(ctx, types.NamespacedName{
249249
Name: instance.Name,
250250
Namespace: instance.Namespace,
251-
},
252-
version); err == nil {
253-
Log.Info(fmt.Sprintf("OpenStackVersion found. Name: %s", version.Name))
254-
} else {
251+
}, version); err != nil {
252+
if !k8s_errors.IsNotFound(err) {
253+
return ctrl.Result{}, nil, err
254+
}
255255
Log.Info(fmt.Sprintf("OpenStackVersion does not exist. Creating: %s", version.Name))
256+
} else {
257+
Log.Info(fmt.Sprintf("OpenStackVersion found. Name: %s", version.Name))
258+
}
259+
260+
// Don't create or update the OpenStackVersion when the controlplane is being deleted
261+
if !instance.DeletionTimestamp.IsZero() {
262+
return ctrl.Result{}, version, nil
256263
}
257264

258265
op, err := controllerutil.CreateOrPatch(ctx, helper.GetClient(), version, func() error {

0 commit comments

Comments
 (0)