Skip to content

Commit f928305

Browse files
committed
Return error on infra cluster and control plane discovery
If no control plane reference is set in the Cluster object the describe cluster command will fail. We should validate the error in any case. Signed-off-by: Tobias Giese <[email protected]>
1 parent 7edbaf0 commit f928305

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

cmd/clusterctl/client/tree/discovery.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package tree
1919
import (
2020
"context"
2121

22+
"github.com/pkg/errors"
2223
corev1 "k8s.io/api/core/v1"
2324
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2425
unstructured "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@@ -83,9 +84,11 @@ func Discovery(ctx context.Context, c client.Client, namespace, name string, opt
8384
tree := NewObjectTree(cluster, options.toObjectTreeOptions())
8485

8586
// Adds cluster infra
86-
if clusterInfra, err := external.Get(ctx, c, cluster.Spec.InfrastructureRef, cluster.Namespace); err == nil {
87-
tree.Add(cluster, clusterInfra, ObjectMetaName("ClusterInfrastructure"))
87+
clusterInfra, err := external.Get(ctx, c, cluster.Spec.InfrastructureRef, cluster.Namespace)
88+
if err != nil {
89+
return nil, errors.Wrap(err, "get InfraCluster reference from Cluster")
8890
}
91+
tree.Add(cluster, clusterInfra, ObjectMetaName("ClusterInfrastructure"))
8992

9093
if options.ShowClusterResourceSets {
9194
addClusterResourceSetsToObjectTree(ctx, c, cluster, tree)
@@ -119,9 +122,11 @@ func Discovery(ctx context.Context, c client.Client, namespace, name string, opt
119122
}
120123

121124
controlPlaneMachines := selectControlPlaneMachines(machinesList)
122-
for i := range controlPlaneMachines {
123-
cp := controlPlaneMachines[i]
124-
addMachineFunc(controlPlane, cp)
125+
if controlPlane != nil {
126+
for i := range controlPlaneMachines {
127+
cp := controlPlaneMachines[i]
128+
addMachineFunc(controlPlane, cp)
129+
}
125130
}
126131

127132
machinePoolList, err := getMachinePoolsInCluster(ctx, c, cluster.Namespace, cluster.Name)

0 commit comments

Comments
 (0)