1
1
/*
2
- Copyright (c) 2020 VMware, Inc. All Rights Reserved.
2
+ Copyright (c) 2020-2022 VMware, Inc. All Rights Reserved.
3
3
4
4
Licensed under the Apache License, Version 2.0 (the "License");
5
5
you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@ type enableCluster struct {
33
33
ControlPlaneDNSSearchDomains string
34
34
ImageStoragePolicy string
35
35
NcpClusterNetworkSpec workloadNetwork
36
- ControlPlaneManagementNetwork namespace. MasterManagementNetwork
36
+ ControlPlaneManagementNetwork masterManagementNetwork
37
37
ControlPlaneDNSNames string
38
38
ControlPlaneNTPServers string
39
39
EphemeralStoragePolicy string
@@ -51,6 +51,13 @@ type enableCluster struct {
51
51
* flags.ClusterFlag
52
52
}
53
53
54
+ type masterManagementNetwork struct {
55
+ Mode string
56
+ FloatingIP string
57
+ AddressRange * namespace.AddressRange
58
+ Network string
59
+ }
60
+
54
61
type workloadNetwork struct {
55
62
NsxEdgeCluster string
56
63
PodCidrs string
@@ -71,7 +78,7 @@ type objectReferences struct {
71
78
72
79
func init () {
73
80
newEnableCluster := & enableCluster {
74
- ControlPlaneManagementNetwork : namespace. MasterManagementNetwork {
81
+ ControlPlaneManagementNetwork : masterManagementNetwork {
75
82
AddressRange : & namespace.AddressRange {},
76
83
},
77
84
}
@@ -303,7 +310,11 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
303
310
if (cmd .ControlPlaneManagementNetwork .Mode != "" ) ||
304
311
(cmd .ControlPlaneManagementNetwork .FloatingIP != "" ) ||
305
312
(cmd .ControlPlaneManagementNetwork .Network != "" ) {
306
- masterManagementNetwork = & cmd .ControlPlaneManagementNetwork
313
+ masterManagementNetwork .AddressRange = cmd .ControlPlaneManagementNetwork .AddressRange
314
+ masterManagementNetwork .FloatingIP = cmd .ControlPlaneManagementNetwork .FloatingIP
315
+ ipam := namespace .IpAssignmentModeFromString (cmd .ControlPlaneManagementNetwork .Mode )
316
+ masterManagementNetwork .Mode = & ipam
317
+ masterManagementNetwork .Network = cmd .ControlPlaneManagementNetwork .Network
307
318
}
308
319
if masterManagementNetwork != nil {
309
320
if (masterManagementNetwork .AddressRange .SubnetMask == "" ) &&
@@ -315,9 +326,12 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
315
326
masterManagementNetwork .Network = refs .Network
316
327
}
317
328
329
+ sh := namespace .SizingHintFromString (cmd .SizeHint )
330
+ np := namespace .ClusterNetworkProviderFromString (cmd .NetworkProvider )
331
+
318
332
spec := namespace.EnableClusterSpec {
319
333
MasterDNSSearchDomains : splitCommaSeparatedList (cmd .ControlPlaneDNSSearchDomains ),
320
- ImageStorage : namespace.ImageStorage {StoragePolicy : refs .ImageStoragePolicy },
334
+ ImageStorage : namespace.ImageStorageSpec {StoragePolicy : refs .ImageStoragePolicy },
321
335
NcpClusterNetworkSpec : & namespace.NcpClusterNetworkSpec {
322
336
NsxEdgeCluster : refs .EdgeCluster ,
323
337
PodCidrs : podCidrs ,
@@ -332,11 +346,11 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
332
346
DefaultImageRepository : cmd .DefaultImageRepository ,
333
347
ServiceCidr : serviceCidr ,
334
348
LoginBanner : cmd .LoginBanner ,
335
- SizeHint : cmd . SizeHint ,
349
+ SizeHint : & sh ,
336
350
WorkerDNS : splitCommaSeparatedList (cmd .WorkerDNS ),
337
351
DefaultImageRegistry : nil ,
338
352
MasterDNS : splitCommaSeparatedList (cmd .ControlPlaneDNS ),
339
- NetworkProvider : cmd . NetworkProvider ,
353
+ NetworkProvider : & np ,
340
354
MasterStoragePolicy : refs .ControlPlaneStoragePolicy ,
341
355
DefaultKubernetesServiceContentLibrary : cmd .DefaultKubernetesServiceContentLibrary ,
342
356
}
0 commit comments