Skip to content

Commit ab95781

Browse files
authored
remove networkID from secret (#95)
Signed-off-by: Felix Breuer <f.breuer94@gmail.com>
1 parent 7b41a4b commit ab95781

24 files changed

+123
-119
lines changed

pkg/provider/apis/validation/validation.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,10 @@ func ValidateProviderSpecNSecret(spec *api.ProviderSpec, secrets *corev1.Secret)
124124
}
125125
}
126126

127-
// Validate Networking
128-
if spec.Networking != nil {
127+
// Validate Networking (required)
128+
if spec.Networking == nil {
129+
errors = append(errors, fmt.Errorf("providerSpec.networking is required"))
130+
} else {
129131
networkingErrors := validateNetworking(spec.Networking)
130132
errors = append(errors, networkingErrors...)
131133
}

pkg/provider/apis/validation/validation_core_labels_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
2020
MachineType: "c2i.2",
2121
ImageID: "550e8400-e29b-41d4-a716-446655440000",
2222
Region: "eu01",
23+
Networking: &api.NetworkingSpec{
24+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
25+
},
2326
}
2427
secret = &corev1.Secret{
2528
Data: map[string][]byte{
@@ -72,8 +75,9 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
7275
It("should fail when both required fields are empty", func() {
7376
providerSpec.MachineType = ""
7477
providerSpec.ImageID = ""
78+
providerSpec.Networking = nil
7579
errors := ValidateProviderSpecNSecret(providerSpec, secret)
76-
Expect(errors).To(HaveLen(2))
80+
Expect(errors).To(HaveLen(3))
7781
})
7882

7983
It("should succeed when Labels is nil", func() {

pkg/provider/apis/validation/validation_fields_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
2020
MachineType: "c2i.2",
2121
ImageID: "550e8400-e29b-41d4-a716-446655440000",
2222
Region: "eu01",
23+
Networking: &api.NetworkingSpec{
24+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
25+
},
2326
}
2427
secret = &corev1.Secret{
2528
Data: map[string][]byte{

pkg/provider/apis/validation/validation_networking_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,11 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
4949
Expect(errors).To(BeEmpty())
5050
})
5151

52-
It("should succeed when Networking is nil", func() {
52+
It("should fail when Networking is nil", func() {
5353
providerSpec.Networking = nil
5454
errors := ValidateProviderSpecNSecret(providerSpec, secret)
55-
Expect(errors).To(BeEmpty())
55+
Expect(errors).NotTo(BeEmpty())
56+
Expect(errors[0].Error()).To(ContainSubstring("networking is required"))
5657
})
5758

5859
It("should fail when Networking has neither NetworkID nor NICIDs", func() {

pkg/provider/apis/validation/validation_secgroup_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
2020
MachineType: "c2i.2",
2121
ImageID: "550e8400-e29b-41d4-a716-446655440000",
2222
Region: "eu01",
23+
Networking: &api.NetworkingSpec{
24+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
25+
},
2326
}
2427
secret = &corev1.Secret{
2528
Data: map[string][]byte{

pkg/provider/apis/validation/validation_secret_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
2020
MachineType: "c2i.2",
2121
ImageID: "550e8400-e29b-41d4-a716-446655440000",
2222
Region: "eu01",
23+
Networking: &api.NetworkingSpec{
24+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
25+
},
2326
}
2427
secret = &corev1.Secret{
2528
Data: map[string][]byte{

pkg/provider/apis/validation/validation_volumes_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ var _ = Describe("ValidateProviderSpecNSecret", func() {
2020
MachineType: "c2i.2",
2121
ImageID: "550e8400-e29b-41d4-a716-446655440000",
2222
Region: "eu01",
23+
Networking: &api.NetworkingSpec{
24+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
25+
},
2326
}
2427
secret = &corev1.Secret{
2528
Data: map[string][]byte{

pkg/provider/create.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (p *Provider) CreateMachine(ctx context.Context, req *driver.CreateMachineR
9090
}, nil
9191
}
9292

93-
//nolint:gocyclo // TODO: will be fixed next PR
93+
// nolint: gocyclo // this function is already pretty simple
9494
func (p *Provider) createServerRequest(req *driver.CreateMachineRequest, providerSpec *api.ProviderSpec) *client.CreateServerRequest {
9595
// Build labels: merge ProviderSpec labels with MCM-specific labels
9696
labels := make(map[string]string)
@@ -114,19 +114,11 @@ func (p *Provider) createServerRequest(req *driver.CreateMachineRequest, provide
114114
}
115115

116116
// Add networking configuration (required in v2 API)
117-
// If not specified in ProviderSpec, try to use networkId from Secret, or use empty
118117
if providerSpec.Networking != nil {
119118
createReq.Networking = &client.ServerNetworkingRequest{
120119
NetworkID: providerSpec.Networking.NetworkID,
121120
NICIDs: providerSpec.Networking.NICIDs,
122121
}
123-
} else {
124-
// v2 API requires networking field - use networkId from Secret if available
125-
// This allows tests/deployments to specify a default network without modifying each MachineClass
126-
networkID := string(req.Secret.Data["networkId"])
127-
createReq.Networking = &client.ServerNetworkingRequest{
128-
NetworkID: networkID, // Can be empty string if not in Secret
129-
}
130122
}
131123

132124
// Add security groups if specified

pkg/provider/create_basic_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,10 @@ var _ = Describe("CreateMachine", func() {
3636
client: mockClient,
3737
}
3838

39-
// Create secret with projectId and networkId (required for v2 API)
4039
secret = &corev1.Secret{
4140
Data: map[string][]byte{
4241
"project-id": []byte("11111111-2222-3333-4444-555555555555"),
4342
"serviceaccount.json": []byte(`{"credentials":{"iss":"test"}}`),
44-
"networkId": []byte("770e8400-e29b-41d4-a716-446655440000"),
4543
},
4644
}
4745

@@ -50,6 +48,9 @@ var _ = Describe("CreateMachine", func() {
5048
MachineType: "c2i.2",
5149
ImageID: "12345678-1234-1234-1234-123456789abc",
5250
Region: "eu01",
51+
Networking: &api.NetworkingSpec{
52+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
53+
},
5354
}
5455
providerSpecRaw, _ := mock.EncodeProviderSpec(providerSpec)
5556

pkg/provider/create_config_test.go

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,10 @@ var _ = Describe("CreateMachine", func() {
3333
client: mockClient,
3434
}
3535

36-
// Create secret with projectId and networkId (required for v2 API)
3736
secret = &corev1.Secret{
3837
Data: map[string][]byte{
3938
"project-id": []byte("11111111-2222-3333-4444-555555555555"),
4039
"serviceaccount.json": []byte(`{"credentials":{"iss":"test"}}`),
41-
"networkId": []byte("770e8400-e29b-41d4-a716-446655440000"),
4240
},
4341
}
4442

@@ -47,6 +45,9 @@ var _ = Describe("CreateMachine", func() {
4745
MachineType: "c2i.2",
4846
ImageID: "12345678-1234-1234-1234-123456789abc",
4947
Region: "eu01",
48+
Networking: &api.NetworkingSpec{
49+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
50+
},
5051
}
5152
providerSpecRaw, _ := mock.EncodeProviderSpec(providerSpec)
5253

@@ -82,6 +83,9 @@ var _ = Describe("CreateMachine", func() {
8283
providerSpec := &api.ProviderSpec{
8384
MachineType: "c2i.2",
8485
Region: "eu01",
86+
Networking: &api.NetworkingSpec{
87+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
88+
},
8589
ImageID: "12345678-1234-1234-1234-123456789abc",
8690
KeypairName: "my-ssh-key",
8791
}
@@ -127,9 +131,12 @@ var _ = Describe("CreateMachine", func() {
127131
Context("with availabilityZone", func() {
128132
It("should pass AvailabilityZone to API when specified", func() {
129133
providerSpec := &api.ProviderSpec{
130-
MachineType: "c2i.2",
131-
ImageID: "12345678-1234-1234-1234-123456789abc",
132-
Region: "eu01",
134+
MachineType: "c2i.2",
135+
ImageID: "12345678-1234-1234-1234-123456789abc",
136+
Region: "eu01",
137+
Networking: &api.NetworkingSpec{
138+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
139+
},
133140
AvailabilityZone: "eu01-1",
134141
}
135142
providerSpecRaw, _ := mock.EncodeProviderSpec(providerSpec)
@@ -174,8 +181,11 @@ var _ = Describe("CreateMachine", func() {
174181
Context("with affinityGroup", func() {
175182
It("should pass AffinityGroup to API when specified", func() {
176183
providerSpec := &api.ProviderSpec{
177-
MachineType: "c2i.2",
178-
Region: "eu01",
184+
MachineType: "c2i.2",
185+
Region: "eu01",
186+
Networking: &api.NetworkingSpec{
187+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
188+
},
179189
ImageID: "12345678-1234-1234-1234-123456789abc",
180190
AffinityGroup: "880e8400-e29b-41d4-a716-446655440000",
181191
}
@@ -221,7 +231,10 @@ var _ = Describe("CreateMachine", func() {
221231
providerSpec := &api.ProviderSpec{
222232
MachineType: "c2i.2",
223233
Region: "eu01",
224-
ImageID: "12345678-1234-1234-1234-123456789abc",
234+
Networking: &api.NetworkingSpec{
235+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
236+
},
237+
ImageID: "12345678-1234-1234-1234-123456789abc",
225238
ServiceAccountMails: []string{
226239
"my-service@sa.stackit.cloud",
227240
},
@@ -272,6 +285,9 @@ var _ = Describe("CreateMachine", func() {
272285
MachineType: "c2i.2",
273286
ImageID: "12345678-1234-1234-1234-123456789abc",
274287
Region: "eu01",
288+
Networking: &api.NetworkingSpec{
289+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
290+
},
275291
Agent: &api.AgentSpec{
276292
Provisioned: &provisioned,
277293
},
@@ -319,7 +335,10 @@ var _ = Describe("CreateMachine", func() {
319335
providerSpec := &api.ProviderSpec{
320336
MachineType: "c2i.2",
321337
Region: "eu01",
322-
ImageID: "12345678-1234-1234-1234-123456789abc",
338+
Networking: &api.NetworkingSpec{
339+
NetworkID: "770e8400-e29b-41d4-a716-446655440000",
340+
},
341+
ImageID: "12345678-1234-1234-1234-123456789abc",
323342
Metadata: map[string]interface{}{
324343
"environment": "production",
325344
"cost-center": "12345",

0 commit comments

Comments
 (0)