fix: webhook panic when management cluster has nil topology #4989
42 tests run, 30 passed, 8 skipped, 4 failed.
Annotations
Check failure on line 1 in caren-e2e
github-actions / e2e test report
caren-e2e.[It] Quick start Nutanix Cilium HelmAddon topology-with-failuredomains-cilium-helm-addon Should create a workload cluster [provider:Nutanix, cni:Cilium, addonStrategy:HelmAddon]
Timed out after 600.000s.
No Control Plane machines came into existence.
Expected
<bool>: false
to be true
Raw output
[FAILED] Timed out after 600.000s.
No Control Plane machines came into existence.
Expected
<bool>: false
to be true
In [It] at: /home/runner/go/pkg/mod/sigs.k8s.io/cluster-api/[email protected]/framework/controlplane_helpers.go:153 @ 11/01/25 18:43:30.681
Check failure on line 1 in caren-e2e
github-actions / e2e test report
caren-e2e.[It] Quick start Nutanix Cilium ClusterResourceSet topology-with-failuredomains-cilium-crs Should create a workload cluster [provider:Nutanix, cni:Cilium, addonStrategy:ClusterResourceSet]
Timed out after 600.001s.
No Control Plane machines came into existence.
Expected
<bool>: false
to be true
Raw output
[FAILED] Timed out after 600.001s.
No Control Plane machines came into existence.
Expected
<bool>: false
to be true
In [It] at: /home/runner/go/pkg/mod/sigs.k8s.io/cluster-api/[email protected]/framework/controlplane_helpers.go:153 @ 11/01/25 18:43:30.468
Check failure on line 1 in caren-e2e
github-actions / e2e test report
caren-e2e.[It] Quick start Nutanix Cilium ClusterResourceSet topology-cilium-crs Should create a workload cluster [provider:Nutanix, cni:Cilium, addonStrategy:ClusterResourceSet]
Timed out after 300.000s.
HelmReleaseProxy quick-start-5w92uc/nutanix-csi-storage-quick-start-0cn3zstrv959l39xszn28moxq5sxgkj failed to become ready and have up to date revision: ready condition = &{Type:Ready Status:False Severity:Info LastTransitionTime:2025-11-01 18:40:14 +0000 UTC Reason:HelmReleasePending Message:Helm release is in a pending state: pending-install}, revision = 1, full object is:
&{TypeMeta:{Kind:HelmReleaseProxy APIVersion:addons.cluster.x-k8s.io/v1alpha1} ObjectMeta:{Name:nutanix-csi-storage-quick-start-0cn3zstrv959l39xszn28moxq5sxgkj GenerateName:nutanix-csi-storage-quick-start-0cn3zstrv959l39xszn28moxq5bu2m69cddqqgr83xfiuyqqjki- Namespace:quick-start-5w92uc SelfLink: UID:945a9166-aacb-4b8b-b0be-a8cbe53ff128 ResourceVersion:5387 Generation:1 CreationTimestamp:2025-11-01 18:37:28 +0000 UTC DeletionTimestamp:<nil> DeletionGracePeriodSeconds:<nil> Labels:map[cluster.x-k8s.io/cluster-name:quick-start-0cn3zstrv959l39xszn28moxq5bu2m69cddqqgr83xfiuyqqjki helmreleaseproxy.addons.cluster.x-k8s.io/helmchartproxy-name:nutanix-csi-019a40b1-d535-7026-b920-c871a2b4c681] Annotations:map[] OwnerReferences:[{APIVersion:addons.cluster.x-k8s.io/v1alpha1 Kind:HelmChartProxy Name:nutanix-csi-019a40b1-d535-7026-b920-c871a2b4c681 UID:70c9cf77-7009-4ecf-a6c3-5e27ce031328 Controller:0xc000e506bd BlockOwnerDeletion:0xc000e506bc}] Finalizers:[helmreleaseproxy.addons.cluster.x-k8s.io] ManagedFields:[{Manager:manager Operation:Update APIVersion:addons.cluster.x-k8s.io/v1alpha1 Time:2025-11-01 18:37:28 +0000 UTC FieldsType:FieldsV1 FieldsV1:{"f:metadata":{"f:finalizers":{".":{},"v:\"helmreleaseproxy.addons.cluster.x-k8s.io\"":{}},"f:generateName":{},"f:labels":{".":{},"f:cluster.x-k8s.io/cluster-name":{},"f:helmreleaseproxy.addons.cluster.x-k8s.io/helmchartproxy-name":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"70c9cf77-7009-4ecf-a6c3-5e27ce031328\"}":{}}},"f:spec":{".":{},"f:chartName":{},"f:clusterRef":{},"f:namespace":{},"f:options":{".":{},"f:enableClientCache":{},"f:install":{".":{},"f:createNamespace":{}},"f:timeout":{},"f:upgrade":{".":{},"f:maxHistory":{}}},"f:releaseName":{},"f:repoURL":{},"f:tlsConfig":{".":{},"f:caSecret":{}},"f:values":{},"f:version":{}}} Subresource:} {Manager:manager Operation:Update APIVersion:addons.cluster.x-k8s.io/v1alpha1 Time:2025-11-01 18:40:14 +0000 UTC FieldsType:FieldsV1 FieldsV1:{"f:status":{".":{},"f:conditions":{},"f:observedGeneration":{},"f:revision":{},"f:status":{}}} Subresource:status}]} Spec:{ClusterRef:{Kind:Cluster Namespace:quick-start-5w92uc Name:quick-start-0cn3zstrv959l39xszn28moxq5bu2m69cddqqgr83xfiuyqqjki UID: APIVersion:cluster.x-k8s.io/v1beta1 ResourceVersion: FieldPath:} ChartName:nutanix-csi-storage RepoURL:oci://helm-repository.caren-system.svc/charts ReleaseName:nutanix-csi ReleaseNamespace:ntnx-system Version:3.3.8 Values:# Disable creating the Prism Central credentials Secret, the Secret will be created by the handler.
createPrismCentralSecret: false
# Disable creating the Prism Element credentials Secret, it won't be used the CSI driver as configured here.
createSecret: false
pcSecretName: nutanix-csi-credentials
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- effect: NoExecute
operator: Exists
tolerationSeconds: 300
- effect: NoSchedule
operator: Exists ReconcileStrategy: Options:{DisableHooks:false Wait:false WaitForJobs:false DependencyUpdate:false Timeout:&Duration{Duration:10m0s,} SkipCRDs:false SubNotes:false DisableOpenAPIValidation:false Atomic:false Install:{CreateNamespace:true IncludeCRDs:false} Upgrade:{Force:false ResetValues:false ReuseValues:false ResetThenReuseValues:false Recreate:false MaxHistory:10 CleanupOnFail:false} Uninstall:<nil> EnableClientCache:false} Credentials:<nil> TLSConfig:0xc000818190} Status:{Conditions:[{Type:Ready Status:False Severity:Info LastTransitionTime:2025-11-01 18:40:14 +0000 UTC Reason:HelmReleasePending Message:Helm release is in a pending state: pending-install} {Type:ClusterAvailable Status:True Severity: LastTransitionTime:2025-11-01 18:37:28 +0000 UTC Reason: Message:} {Type:HelmReleaseReady Status:False Severity:Info LastTransitionTime:2025-11-01 18:40:14 +0000 UTC Reason:HelmReleasePending Message:Helm release is in a pending state: pending-install}] Status:pending-install Revision:1 ObservedGeneration:1}}
`
Expected
<bool>: false
to be true
Raw output
[FAILED] Timed out after 300.000s.
HelmReleaseProxy quick-start-5w92uc/nutanix-csi-storage-quick-start-0cn3zstrv959l39xszn28moxq5sxgkj failed to become ready and have up to date revision: ready condition = &{Type:Ready Status:False Severity:Info LastTransitionTime:2025-11-01 18:40:14 +0000 UTC Reason:HelmReleasePending Message:Helm release is in a pending state: pending-install}, revision = 1, full object is:
&{TypeMeta:{Kind:HelmReleaseProxy APIVersion:addons.cluster.x-k8s.io/v1alpha1} ObjectMeta:{Name:nutanix-csi-storage-quick-start-0cn3zstrv959l39xszn28moxq5sxgkj GenerateName:nutanix-csi-storage-quick-start-0cn3zstrv959l39xszn28moxq5bu2m69cddqqgr83xfiuyqqjki- Namespace:quick-start-5w92uc SelfLink: UID:945a9166-aacb-4b8b-b0be-a8cbe53ff128 ResourceVersion:5387 Generation:1 CreationTimestamp:2025-11-01 18:37:28 +0000 UTC DeletionTimestamp:<nil> DeletionGracePeriodSeconds:<nil> Labels:map[cluster.x-k8s.io/cluster-name:quick-start-0cn3zstrv959l39xszn28moxq5bu2m69cddqqgr83xfiuyqqjki helmreleaseproxy.addons.cluster.x-k8s.io/helmchartproxy-name:nutanix-csi-019a40b1-d535-7026-b920-c871a2b4c681] Annotations:map[] OwnerReferences:[{APIVersion:addons.cluster.x-k8s.io/v1alpha1 Kind:HelmChartProxy Name:nutanix-csi-019a40b1-d535-7026-b920-c871a2b4c681 UID:70c9cf77-7009-4ecf-a6c3-5e27ce031328 Controller:0xc000e506bd BlockOwnerDeletion:0xc000e506bc}] Finalizers:[helmreleaseproxy.addons.cluster.x-k8s.io] ManagedFields:[{Manager:manager Operation:Update APIVersion:addons.cluster.x-k8s.io/v1alpha1 Time:2025-11-01 18:37:28 +0000 UTC FieldsType:FieldsV1 FieldsV1:{"f:metadata":{"f:finalizers":{".":{},"v:\"helmreleaseproxy.addons.cluster.x-k8s.io\"":{}},"f:generateName":{},"f:labels":{".":{},"f:cluster.x-k8s.io/cluster-name":{},"f:helmreleaseproxy.addons.cluster.x-k8s.io/helmchartproxy-name":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"70c9cf77-7009-4ecf-a6c3-5e27ce031328\"}":{}}},"f:spec":{".":{},"f:chartName":{},"f:clusterRef":{},"f:namespace":{},"f:options":{".":{},"f:enableClientCache":{},"f:install":{".":{},"f:createNamespace":{}},"f:timeout":{},"f:upgrade":{".":{},"f:maxHistory":{}}},"f:releaseName":{},"f:repoURL":{},"f:tlsConfig":{".":{},"f:caSecret":{}},"f:values":{},"f:version":{}}} Subresource:} {Manager:manager Operation:Update APIVersion:addons.cluster.x-k8s.io/v1alpha1 Time:2025-11-01 18:40:14 +0000 UTC FieldsType:FieldsV1 FieldsV1:{"f:status":{".":{},"f:conditions":{},"f:observedGeneration":{},"f:revision":{},"f:status":{}}} Subresource:status}]} Spec:{ClusterRef:{Kind:Cluster Namespace:quick-start-5w92uc Name:quick-start-0cn3zstrv959l39xszn28moxq5bu2m69cddqqgr83xfiuyqqjki UID: APIVersion:cluster.x-k8s.io/v1beta1 ResourceVersion: FieldPath:} ChartName:nutanix-csi-storage RepoURL:oci://helm-repository.caren-system.svc/charts ReleaseName:nutanix-csi ReleaseNamespace:ntnx-system Version:3.3.8 Values:# Disable creating the Prism Central credentials Secret, the Secret will be created by the handler.
createPrismCentralSecret: false
# Disable creating the Prism Element credentials Secret, it won't be used the CSI driver as configured here.
createSecret: false
pcSecretName: nutanix-csi-credentials
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- effect: NoExecute
operator: Exists
tolerationSeconds: 300
- effect: NoSchedule
operator: Exists ReconcileStrategy: Options:{DisableHooks:false Wait:false WaitForJobs:false DependencyUpdate:false Timeout:&Duration{Duration:10m0s,} SkipCRDs:false SubNotes:false DisableOpenAPIValidation:false Atomic:false Install:{CreateNamespace:true IncludeCRDs:false} Upgrade:{Force:false ResetValues:false ReuseValues:false ResetThenReuseValues:false Recreate:false MaxHistory:10 CleanupOnFail:false} Uninstall:<nil> EnableClientCache:false} Credentials:<nil> TLSConfig:0xc000818190} Status:{Conditions:[{Type:Ready Status:False Severity:Info LastTransitionTime:2025-11-01 18:40:14 +0000 UTC Reason:HelmReleasePending Message:Helm release is in a pending state: pending-install} {Type:ClusterAvailable Status:True Severity: LastTransitionTime:2025-11-01 18:37:28 +0000 UTC Reason: Message:} {Type:HelmReleaseReady Status:False Severity:Info LastTransitionTime:2025-11-01 18:40:14 +0000 UTC Reason:HelmReleasePending Message:Helm release is in a pending state: pending-install}] Status:pending-install Revision:1 ObservedGeneration:1}}
`
Expected
<bool>: false
to be true
In [It] at: /home/runner/_work/cluster-api-runtime-extensions-nutanix/cluster-api-runtime-extensions-nutanix/test/e2e/helmreleaseproxy_helpers.go:60 @ 11/01/25 18:45:33.601
Check failure on line 1 in caren-e2e
github-actions / e2e test report
caren-e2e.[It] Quick start Nutanix Cilium HelmAddon topology-cilium-helm-addon Should create a workload cluster [provider:Nutanix, cni:Cilium, addonStrategy:HelmAddon]
Timed out after 600.000s.
No Control Plane machines came into existence.
Expected
<bool>: false
to be true
Raw output
[FAILED] Timed out after 600.000s.
No Control Plane machines came into existence.
Expected
<bool>: false
to be true
In [It] at: /home/runner/go/pkg/mod/sigs.k8s.io/cluster-api/[email protected]/framework/controlplane_helpers.go:153 @ 11/01/25 18:43:29.495