Skip to content

Commit 269a3ca

Browse files
committed
use clusterv1.FailureDomain to satisfy v1beta2 contract
Signed-off-by: sivchari <[email protected]>
1 parent 4ef872d commit 269a3ca

14 files changed

+471
-156
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,10 @@ test-docker-infrastructure: $(SETUP_ENVTEST) ## Run unit and integration tests f
958958
test-conversions-docker-infrastructure: $(SETUP_ENVTEST) ## Run conversions test for docker infrastructure provider
959959
cd $(CAPD_DIR); KUBEBUILDER_ASSETS="$(KUBEBUILDER_ASSETS)" go test -run "^TestFuzzyConversion$$" ./... $(TEST_ARGS)
960960

961+
.PHONY: test-docker-infrastructure-conversions
962+
test-docker-infrastructure-conversions: $(SETUP_ENVTEST) ## Run conversions test for docker infrastructure provider
963+
cd $(CAPD_DIR); KUBEBUILDER_ASSETS="$(KUBEBUILDER_ASSETS)" go test -run "^TestFuzzyConversion$$" ./... $(TEST_ARGS)
964+
961965
.PHONY: test-docker-infrastructure-verbose
962966
test-docker-infrastructure-verbose: ## Run unit and integration tests for docker infrastructure provider with verbose flag
963967
$(MAKE) test-docker-infrastructure TEST_ARGS="$(TEST_ARGS) -v"

test/infrastructure/docker/api/v1alpha3/conversion.go

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
apiconversion "k8s.io/apimachinery/pkg/conversion"
2222
"sigs.k8s.io/controller-runtime/pkg/conversion"
2323

24+
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
2425
clusterv1alpha3 "sigs.k8s.io/cluster-api/internal/api/core/v1alpha3"
2526
infrav1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta2"
2627
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
@@ -144,7 +145,22 @@ func (dst *DockerMachineTemplate) ConvertFrom(srcRaw conversion.Hub) error {
144145
// Convert_v1beta2_DockerClusterSpec_To_v1alpha3_DockerClusterSpec is an autogenerated conversion function.
145146
func Convert_v1beta2_DockerClusterSpec_To_v1alpha3_DockerClusterSpec(in *infrav1.DockerClusterSpec, out *DockerClusterSpec, s apiconversion.Scope) error {
146147
// DockerClusterSpec.LoadBalancer was added in v1alpha4, so automatic conversion is not possible
147-
return autoConvert_v1beta2_DockerClusterSpec_To_v1alpha3_DockerClusterSpec(in, out, s)
148+
if err := autoConvert_v1beta2_DockerClusterSpec_To_v1alpha3_DockerClusterSpec(in, out, s); err != nil {
149+
return err
150+
}
151+
152+
// Move FailureDomains
153+
if in.FailureDomains != nil {
154+
out.FailureDomains = clusterv1alpha3.FailureDomains{}
155+
for _, fd := range in.FailureDomains {
156+
out.FailureDomains[fd.Name] = clusterv1alpha3.FailureDomainSpec{
157+
ControlPlane: fd.ControlPlane,
158+
Attributes: fd.Attributes,
159+
}
160+
}
161+
}
162+
163+
return nil
148164
}
149165

150166
func Convert_v1beta2_DockerMachineTemplateResource_To_v1alpha3_DockerMachineTemplateResource(in *infrav1.DockerMachineTemplateResource, out *DockerMachineTemplateResource, s apiconversion.Scope) error {
@@ -174,6 +190,17 @@ func Convert_v1beta2_DockerClusterStatus_To_v1alpha3_DockerClusterStatus(in *inf
174190
out.Ready = in.Initialization.Provisioned
175191
}
176192

193+
// Move FailureDomains
194+
if in.FailureDomains != nil {
195+
out.FailureDomains = clusterv1alpha3.FailureDomains{}
196+
for _, fd := range in.FailureDomains {
197+
out.FailureDomains[fd.Name] = clusterv1alpha3.FailureDomainSpec{
198+
ControlPlane: fd.ControlPlane,
199+
Attributes: fd.Attributes,
200+
}
201+
}
202+
}
203+
177204
return nil
178205
}
179206

@@ -253,5 +280,37 @@ func Convert_v1alpha3_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in *Doc
253280
}
254281
}
255282

283+
// Move FailureDomains
284+
if in.FailureDomains != nil {
285+
out.FailureDomains = []clusterv1.FailureDomain{}
286+
for name, fd := range in.FailureDomains {
287+
out.FailureDomains = append(out.FailureDomains, clusterv1.FailureDomain{
288+
Name: name,
289+
ControlPlane: fd.ControlPlane,
290+
Attributes: fd.Attributes,
291+
})
292+
}
293+
}
294+
295+
return nil
296+
}
297+
298+
func Convert_v1alpha3_DockerClusterSpec_To_v1beta2_DockerClusterSpec(in *DockerClusterSpec, out *infrav1.DockerClusterSpec, s apiconversion.Scope) error {
299+
if err := autoConvert_v1alpha3_DockerClusterSpec_To_v1beta2_DockerClusterSpec(in, out, s); err != nil {
300+
return err
301+
}
302+
303+
// Move FailureDomains
304+
if in.FailureDomains != nil {
305+
out.FailureDomains = []clusterv1.FailureDomain{}
306+
for name, fd := range in.FailureDomains {
307+
out.FailureDomains = append(out.FailureDomains, clusterv1.FailureDomain{
308+
Name: name,
309+
ControlPlane: fd.ControlPlane,
310+
Attributes: fd.Attributes,
311+
})
312+
}
313+
}
314+
256315
return nil
257316
}

test/infrastructure/docker/api/v1alpha3/zz_generated.conversion.go

Lines changed: 9 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/infrastructure/docker/api/v1alpha4/conversion.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
apiconversion "k8s.io/apimachinery/pkg/conversion"
2222
"sigs.k8s.io/controller-runtime/pkg/conversion"
2323

24+
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
2425
clusterv1alpha4 "sigs.k8s.io/cluster-api/internal/api/core/v1alpha4"
2526
infrav1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta2"
2627
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
@@ -203,6 +204,17 @@ func Convert_v1beta2_DockerClusterStatus_To_v1alpha4_DockerClusterStatus(in *inf
203204
out.Ready = in.Initialization.Provisioned
204205
}
205206

207+
// Move FailureDomains
208+
if in.FailureDomains != nil {
209+
out.FailureDomains = clusterv1alpha4.FailureDomains{}
210+
for _, fd := range in.FailureDomains {
211+
out.FailureDomains[fd.Name] = clusterv1alpha4.FailureDomainSpec{
212+
ControlPlane: fd.ControlPlane,
213+
Attributes: fd.Attributes,
214+
}
215+
}
216+
}
217+
206218
return nil
207219
}
208220

@@ -297,5 +309,56 @@ func Convert_v1alpha4_DockerClusterStatus_To_v1beta2_DockerClusterStatus(in *Doc
297309
}
298310
}
299311

312+
// Move FailureDomains
313+
if in.FailureDomains != nil {
314+
out.FailureDomains = []clusterv1.FailureDomain{}
315+
for name, fd := range in.FailureDomains {
316+
out.FailureDomains = append(out.FailureDomains, clusterv1.FailureDomain{
317+
Name: name,
318+
ControlPlane: fd.ControlPlane,
319+
Attributes: fd.Attributes,
320+
})
321+
}
322+
}
323+
324+
return nil
325+
}
326+
327+
func Convert_v1alpha4_DockerClusterSpec_To_v1beta2_DockerClusterSpec(in *DockerClusterSpec, out *infrav1.DockerClusterSpec, s apiconversion.Scope) error {
328+
if err := autoConvert_v1alpha4_DockerClusterSpec_To_v1beta2_DockerClusterSpec(in, out, s); err != nil {
329+
return err
330+
}
331+
332+
// Move FailureDomains
333+
if in.FailureDomains != nil {
334+
out.FailureDomains = []clusterv1.FailureDomain{}
335+
for name, fd := range in.FailureDomains {
336+
out.FailureDomains = append(out.FailureDomains, clusterv1.FailureDomain{
337+
Name: name,
338+
ControlPlane: fd.ControlPlane,
339+
Attributes: fd.Attributes,
340+
})
341+
}
342+
}
343+
344+
return nil
345+
}
346+
347+
func Convert_v1beta2_DockerClusterSpec_To_v1alpha4_DockerClusterSpec(in *infrav1.DockerClusterSpec, out *DockerClusterSpec, s apiconversion.Scope) error {
348+
if err := autoConvert_v1beta2_DockerClusterSpec_To_v1alpha4_DockerClusterSpec(in, out, s); err != nil {
349+
return err
350+
}
351+
352+
// Move FailureDomains
353+
if in.FailureDomains != nil {
354+
out.FailureDomains = clusterv1alpha4.FailureDomains{}
355+
for _, fd := range in.FailureDomains {
356+
out.FailureDomains[fd.Name] = clusterv1alpha4.FailureDomainSpec{
357+
ControlPlane: fd.ControlPlane,
358+
Attributes: fd.Attributes,
359+
}
360+
}
361+
}
362+
300363
return nil
301364
}

test/infrastructure/docker/api/v1alpha4/zz_generated.conversion.go

Lines changed: 14 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)