Skip to content

Commit 85226e4

Browse files
committed
fixup! feat(preflight): Add a check for storage containers
Only create checks if client is initialized
1 parent 20ac8e9 commit 85226e4

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

pkg/webhook/preflight/nutanix/storagecontainer.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ func (c *storageContainerCheck) Run(ctx context.Context) preflight.CheckResult {
9696
func newStorageContainerChecks(cd *checkDependencies) []preflight.Check {
9797
checks := []preflight.Check{}
9898

99+
if cd.nclient == nil {
100+
return checks
101+
}
102+
99103
// If there is no CSI configuration, there is no need to check for storage containers.
100104
if cd.nutanixClusterConfigSpec == nil ||
101105
cd.nutanixClusterConfigSpec.Addons == nil ||

pkg/webhook/preflight/nutanix/storagecontainer_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,21 @@ func TestInitStorageContainerChecks(t *testing.T) {
2424
nutanixClusterConfigSpec *carenv1.NutanixClusterConfigSpec
2525
workerNodeConfigSpecByMDName map[string]*carenv1.NutanixWorkerNodeConfigSpec
2626
expectedChecksCount int
27+
nclient client
2728
}{
29+
{
30+
name: "client not initialized",
31+
nutanixClusterConfigSpec: nil,
32+
workerNodeConfigSpecByMDName: nil,
33+
expectedChecksCount: 0,
34+
nclient: nil,
35+
},
2836
{
2937
name: "nil cluster config",
3038
nutanixClusterConfigSpec: nil,
3139
workerNodeConfigSpecByMDName: map[string]*carenv1.NutanixWorkerNodeConfigSpec{},
3240
expectedChecksCount: 0,
41+
nclient: &mocknclient{},
3342
},
3443
{
3544
name: "cluster config without addons",
@@ -40,6 +49,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
4049
},
4150
workerNodeConfigSpecByMDName: map[string]*carenv1.NutanixWorkerNodeConfigSpec{},
4251
expectedChecksCount: 0,
52+
nclient: &mocknclient{},
4353
},
4454
{
4555
name: "cluster config with addons but no CSI",
@@ -51,6 +61,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
5161
},
5262
workerNodeConfigSpecByMDName: map[string]*carenv1.NutanixWorkerNodeConfigSpec{},
5363
expectedChecksCount: 0,
64+
nclient: &mocknclient{},
5465
},
5566
{
5667
name: "cluster config with CSI but no control plane or worker nodes",
@@ -65,6 +76,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
6576
},
6677
workerNodeConfigSpecByMDName: map[string]*carenv1.NutanixWorkerNodeConfigSpec{},
6778
expectedChecksCount: 0,
79+
nclient: &mocknclient{},
6880
},
6981
{
7082
name: "cluster config with CSI and control plane",
@@ -97,6 +109,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
97109
},
98110
workerNodeConfigSpecByMDName: map[string]*carenv1.NutanixWorkerNodeConfigSpec{},
99111
expectedChecksCount: 1,
112+
nclient: &mocknclient{},
100113
},
101114
{
102115
name: "cluster config with CSI and worker nodes",
@@ -122,6 +135,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
122135
},
123136
},
124137
expectedChecksCount: 1,
138+
nclient: &mocknclient{},
125139
},
126140
{
127141
name: "cluster config with CSI, control plane and worker nodes",
@@ -167,6 +181,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
167181
},
168182
},
169183
expectedChecksCount: 3, // 1 for control plane, 2 for workers
184+
nclient: &mocknclient{},
170185
},
171186
{
172187
name: "cluster config with CSI and null control plane nutanix",
@@ -184,6 +199,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
184199
},
185200
workerNodeConfigSpecByMDName: map[string]*carenv1.NutanixWorkerNodeConfigSpec{},
186201
expectedChecksCount: 0,
202+
nclient: &mocknclient{},
187203
},
188204
{
189205
name: "cluster config with CSI and some nutanix nil workers",
@@ -212,6 +228,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
212228
},
213229
},
214230
expectedChecksCount: 1, // only for the defined worker-1
231+
nclient: &mocknclient{},
215232
},
216233
}
217234

@@ -220,6 +237,7 @@ func TestInitStorageContainerChecks(t *testing.T) {
220237
cd := &checkDependencies{
221238
nutanixClusterConfigSpec: tc.nutanixClusterConfigSpec,
222239
nutanixWorkerNodeConfigSpecByMachineDeploymentName: tc.workerNodeConfigSpecByMDName,
240+
nclient: tc.nclient,
223241
}
224242

225243
// Call the function under test

0 commit comments

Comments
 (0)