Skip to content

Cluster update stucks because hook "BeforeClusterUpgrade" is blocking #272

@Nils98Ar

Description

@Nils98Ar

/kind bug

What steps did you take and what happened:

  1. Create Cluster testcluster-01 with ClusterStack openstack-scs-1-30-v1 (openstack/scs) / .spec.topology.version: v1.30.2
  2. Update testcluster-01 to a new ClusterStack openstack-scs-1-30-v2 / .spec.topology.version: v1.30.6.

The cluster object reports:

kubectl get cluster -n testcluster testcluster-01 -o yaml | grep -i blocking
    message: 'hook "BeforeClusterUpgrade" is blocking: '
    reason: LifecycleHookBlocking

Logs of cso:

kubectl logs -n cso-system cso-controller-manager-57d8cc48df-dnzgf | tail
{"level":"INFO","time":"2025-01-16T17:18:19.390Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:18:29.421Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:18:39.448Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:18:49.480Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:18:59.509Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:19:05.689Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:19:09.545Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:19:19.575Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:19:29.616Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
{"level":"INFO","time":"2025-01-16T17:19:39.647Z","file":"extension/hooks.go:56","message":"DoBeforeClusterUpgrade is called"}
kubectl logs -n cso-system cso-controller-manager-57d8cc48df-6htsv | grep -i testcluster
{"level":"INFO","time":"2025-01-16T17:23:51.998Z","file":"external/tracker.go:56","message":"Adding watch on external object \"infrastructure.clusterstack.x-k8s.io/v1alpha1, Kind=OpenStackClusterStackRelease\"","controller":"clusterstackrelease","controllerGroup":"clusterstack.x-k8s.io","controllerKind":"ClusterStackRelease","ClusterStackRelease":{"name":"openstack-scs-1-30-v1","namespace":"testcluster"},"namespace":"testcluster","name":"openstack-scs-1-30-v1","reconcileID":"02d985b6-fc66-4767-b484-01c0a1abb1e7"}

Logs of cspo:

kubectl logs -n cspo-system cspo-controller-manager-7c6cdfcf59-dzs42 | tail
2025-01-16T17:24:12Z    INFO    OpenStackNodeImageRelease **ready** - image is **ACTIVE**.      {"controller": "openstacknodeimagerelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackNodeImageRelease", "OpenStackNodeImageRelease": {"name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1", "reconcileID": "cfef15e2-4cc1-46d0-975b-425775998acf", "name": "ubuntu-capi-image-v1.30.6", "ID": "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"}
2025-01-16T17:24:12Z    DEBUG   events  image status is ACTIVE "ubuntu-capi-image-v1.30.6", ID "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"   {"type": "Normal", "object": {"kind":"OpenStackNodeImageRelease","namespace":"testcluster","name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","uid":"5c8571af-fd8e-40ca-bb96-9461f1fb637c","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428969"}, "reason": "OpenStackImageActive"}
2025-01-16T17:24:13Z    INFO    OpenStackNodeImageRelease **ready** - image is **ACTIVE**.      {"controller": "openstacknodeimagerelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackNodeImageRelease", "OpenStackNodeImageRelease": {"name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1", "reconcileID": "1f4aa932-bb0c-4ddb-a24e-5bc68b2fb6a3", "name": "ubuntu-capi-image-v1.30.6", "ID": "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"}
2025-01-16T17:24:13Z    DEBUG   events  image status is ACTIVE "ubuntu-capi-image-v1.30.6", ID "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"   {"type": "Normal", "object": {"kind":"OpenStackNodeImageRelease","namespace":"testcluster","name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","uid":"5c8571af-fd8e-40ca-bb96-9461f1fb637c","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428993"}, "reason": "OpenStackImageActive"}
2025-01-16T17:24:40Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "d79f391e-5124-4b6b-913d-f51d369ce77a"}
2025-01-16T17:24:40Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428973"}, "reason": "OpenStackNodeImageReleasesReady"}
2025-01-16T17:24:40Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "30bcada7-3286-4873-97f5-4a8ffa3c1a49"}
2025-01-16T17:24:40Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69429112"}, "reason": "OpenStackNodeImageReleasesReady"}
2025-01-16T17:24:40Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "170a100e-b3bd-4c08-a443-d377ed7246de"}
2025-01-16T17:24:40Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69429114"}, "reason": "OpenStackNodeImageReleasesReady"}
 kubectl logs -n cspo-system cspo-controller-manager-7c6cdfcf59-dzs42 | grep testcluster
2025-01-16T17:24:10Z    DEBUG   events  successfully downloaded ClusterStackReleaseAssets "openstack-scs-1-30-v1"       {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v1","uid":"8df2a92f-6a2d-4907-a6d9-405fe17e2145","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69404207"}, "reason": "ClusterStackReleaseAssetsReady"}
2025-01-16T17:24:10Z    DEBUG   events  successfully downloaded ClusterStackReleaseAssets "openstack-scs-1-30-v2"       {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69425897"}, "reason": "ClusterStackReleaseAssetsReady"}
2025-01-16T17:24:10Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v1", "reconcileID": "dda4b578-30ad-4023-82c0-03b032decfe6"}
2025-01-16T17:24:10Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v1","uid":"8df2a92f-6a2d-4907-a6d9-405fe17e2145","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428961"}, "reason": "OpenStackNodeImageReleasesReady"}
2025-01-16T17:24:10Z    INFO    OpenStackClusterStackRelease **not ready** yet - waiting for OpenStackNodeImageRelease to be ready      {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "fd1f13eb-95d9-4a0b-be0e-50d190e84d8f", "name:": "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1", "ready:": false}
2025-01-16T17:24:10Z    DEBUG   events  successfully created OpenStackNodeImageRelease object "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1" {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428963"}, "reason": "OpenStackNodeImageReleaseCreated"}
2025-01-16T17:24:10Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v1", "reconcileID": "32de89a1-bb55-4c24-9c13-976a0ca787b4"}
2025-01-16T17:24:10Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v1","uid":"8df2a92f-6a2d-4907-a6d9-405fe17e2145","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428968"}, "reason": "OpenStackNodeImageReleasesReady"}
2025-01-16T17:24:10Z    INFO    OpenStackClusterStackRelease **not ready** yet - waiting for OpenStackNodeImageRelease to be ready      {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "f68ed6a5-90bb-4511-ad49-2a14464d3599", "name:": "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1", "ready:": false}
2025-01-16T17:24:12Z    INFO    OpenStackNodeImageRelease **ready** - image is **ACTIVE**.      {"controller": "openstacknodeimagerelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackNodeImageRelease", "OpenStackNodeImageRelease": {"name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.2-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-ubuntu-capi-image-v1.30.2-v1", "reconcileID": "f5083258-3ab2-46af-a78e-c5393f49a704", "name": "ubuntu-capi-image-v1.30.2", "ID": "c40e3a9e-7be2-4959-b190-ace16bbef0bc"}
2025-01-16T17:24:12Z    DEBUG   events  image status is ACTIVE "ubuntu-capi-image-v1.30.2", ID "c40e3a9e-7be2-4959-b190-ace16bbef0bc"   {"type": "Normal", "object": {"kind":"OpenStackNodeImageRelease","namespace":"testcluster","name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.2-v1","uid":"058bea72-2621-411a-b072-be7748f4dfa3","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69404081"}, "reason": "OpenStackImageActive"}
2025-01-16T17:24:12Z    INFO    OpenStackNodeImageRelease **ready** - image is **ACTIVE**.      {"controller": "openstacknodeimagerelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackNodeImageRelease", "OpenStackNodeImageRelease": {"name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1", "reconcileID": "cfef15e2-4cc1-46d0-975b-425775998acf", "name": "ubuntu-capi-image-v1.30.6", "ID": "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"}
2025-01-16T17:24:12Z    DEBUG   events  image status is ACTIVE "ubuntu-capi-image-v1.30.6", ID "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"   {"type": "Normal", "object": {"kind":"OpenStackNodeImageRelease","namespace":"testcluster","name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","uid":"5c8571af-fd8e-40ca-bb96-9461f1fb637c","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428969"}, "reason": "OpenStackImageActive"}
2025-01-16T17:24:13Z    INFO    OpenStackNodeImageRelease **ready** - image is **ACTIVE**.      {"controller": "openstacknodeimagerelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackNodeImageRelease", "OpenStackNodeImageRelease": {"name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1", "reconcileID": "1f4aa932-bb0c-4ddb-a24e-5bc68b2fb6a3", "name": "ubuntu-capi-image-v1.30.6", "ID": "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"}
2025-01-16T17:24:13Z    DEBUG   events  image status is ACTIVE "ubuntu-capi-image-v1.30.6", ID "c0b835fb-d152-48a7-98a0-b85b6c9f46b1"   {"type": "Normal", "object": {"kind":"OpenStackNodeImageRelease","namespace":"testcluster","name":"openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1","uid":"5c8571af-fd8e-40ca-bb96-9461f1fb637c","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428993"}, "reason": "OpenStackImageActive"}
2025-01-16T17:24:40Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "d79f391e-5124-4b6b-913d-f51d369ce77a"}
2025-01-16T17:24:40Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69428973"}, "reason": "OpenStackNodeImageReleasesReady"}
2025-01-16T17:24:40Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "30bcada7-3286-4873-97f5-4a8ffa3c1a49"}
2025-01-16T17:24:40Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69429112"}, "reason": "OpenStackNodeImageReleasesReady"}
2025-01-16T17:24:40Z    INFO    OpenStackClusterStackRelease **ready**  {"controller": "openstackclusterstackrelease", "controllerGroup": "infrastructure.clusterstack.x-k8s.io", "controllerKind": "OpenStackClusterStackRelease", "OpenStackClusterStackRelease": {"name":"openstack-scs-1-30-v2","namespace":"testcluster"}, "namespace": "testcluster", "name": "openstack-scs-1-30-v2", "reconcileID": "170a100e-b3bd-4c08-a443-d377ed7246de"}
2025-01-16T17:24:40Z    DEBUG   events  OpenStackNodeImageRelease objects are ready     {"type": "Normal", "object": {"kind":"OpenStackClusterStackRelease","namespace":"testcluster","name":"openstack-scs-1-30-v2","uid":"e11d5b19-e2a5-4db4-a773-bf6800de5433","apiVersion":"infrastructure.clusterstack.x-k8s.io/v1alpha1","resourceVersion":"69429114"}, "reason": "OpenStackNodeImageReleasesReady"}

Cluster Stacks related ressources:

kubectl get clusterstack -n testcluster
NAME                 PROVIDER    CLUSTERSTACK   K8S    CHANNEL   AUTOSUBSCRIBE   USABLE   LATEST                            AGE   REASON   MESSAGE
openstack-scs-1-30   openstack   scs            1.30   stable    false           v1, v2   openstack-scs-1-30-v2 | v1.30.6   92m
kubectl get clusterstackreleases.clusterstack.x-k8s.io -n testcluster
NAME                    K8S VERSION   READY   AGE   REASON   MESSAGE
openstack-scs-1-30-v1   v1.30.2       true    94m
openstack-scs-1-30-v2   v1.30.6       true    51m
kubectl get openstacknodeimagereleases.infrastructure.clusterstack.x-k8s.io -n testcluster
NAME                                              READY   AGE   REASON   MESSAGE
openstack-scs-1-30-ubuntu-capi-image-v1.30.2-v1   true    96m
openstack-scs-1-30-ubuntu-capi-image-v1.30.6-v1   true    6s
kubectl get clusterclasses.cluster.x-k8s.io -n testcluster
NAME                    AGE
openstack-scs-1-30-v1   96m
openstack-scs-1-30-v2   53m
kubectl get cluster -n testcluster
NAME             CLUSTERCLASS            PHASE         AGE   VERSION
testcluster-01   openstack-scs-1-30-v2   Provisioned   88m   v1.30.6
kubectl get clusteraddons.clusterstack.x-k8s.io -n testcluster
NAME                           CLUSTER          HOOK   READY   AGE   REASON   MESSAGE
cluster-addon-testcluster-01   testcluster-01          true    89m

kubectl get openstackclusterstackreleases -n testcluster
NAME                    READY   AGE   REASON   MESSAGE
openstack-scs-1-30-v1   true    99m
openstack-scs-1-30-v2   true    55m

What did you expect to happen:

CAPI starts updating.

Anything else you would like to add:

The Cluster Stacks are released to a private OCI registry based on https://github.com/SovereignCloudStack/cluster-stacks/tree/main/providers/openstack/scs.

Environment:

  • cluster-stack-operator version: v0.1.0-alpha.8
  • cluster-stack-provider-openstack version: cspo:v0.1.0-alpha.5
  • Kubernetes version: v1.29.2
  • OS (e.g. from /etc/os-release): Debian GNU/Linux 12

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions