Skip to content

Commit d8bd5f6

Browse files
authored
Merge pull request #2901 from adamfowleruk/issue-2860
Ensured namespace-management works on 7.0u2+ with wider configuration options
2 parents ced6c63 + 642156d commit d8bd5f6

File tree

3 files changed

+506
-40
lines changed

3 files changed

+506
-40
lines changed

govc/namespace/cluster/enable.go

+21-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2020 VMware, Inc. All Rights Reserved.
2+
Copyright (c) 2020-2022 VMware, Inc. All Rights Reserved.
33
44
Licensed under the Apache License, Version 2.0 (the "License");
55
you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@ type enableCluster struct {
3333
ControlPlaneDNSSearchDomains string
3434
ImageStoragePolicy string
3535
NcpClusterNetworkSpec workloadNetwork
36-
ControlPlaneManagementNetwork namespace.MasterManagementNetwork
36+
ControlPlaneManagementNetwork masterManagementNetwork
3737
ControlPlaneDNSNames string
3838
ControlPlaneNTPServers string
3939
EphemeralStoragePolicy string
@@ -51,6 +51,13 @@ type enableCluster struct {
5151
*flags.ClusterFlag
5252
}
5353

54+
type masterManagementNetwork struct {
55+
Mode string
56+
FloatingIP string
57+
AddressRange *namespace.AddressRange
58+
Network string
59+
}
60+
5461
type workloadNetwork struct {
5562
NsxEdgeCluster string
5663
PodCidrs string
@@ -71,7 +78,7 @@ type objectReferences struct {
7178

7279
func init() {
7380
newEnableCluster := &enableCluster{
74-
ControlPlaneManagementNetwork: namespace.MasterManagementNetwork{
81+
ControlPlaneManagementNetwork: masterManagementNetwork{
7582
AddressRange: &namespace.AddressRange{},
7683
},
7784
}
@@ -303,7 +310,11 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
303310
if (cmd.ControlPlaneManagementNetwork.Mode != "") ||
304311
(cmd.ControlPlaneManagementNetwork.FloatingIP != "") ||
305312
(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
307318
}
308319
if masterManagementNetwork != nil {
309320
if (masterManagementNetwork.AddressRange.SubnetMask == "") &&
@@ -315,9 +326,12 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
315326
masterManagementNetwork.Network = refs.Network
316327
}
317328

329+
sh := namespace.SizingHintFromString(cmd.SizeHint)
330+
np := namespace.ClusterNetworkProviderFromString(cmd.NetworkProvider)
331+
318332
spec := namespace.EnableClusterSpec{
319333
MasterDNSSearchDomains: splitCommaSeparatedList(cmd.ControlPlaneDNSSearchDomains),
320-
ImageStorage: namespace.ImageStorage{StoragePolicy: refs.ImageStoragePolicy},
334+
ImageStorage: namespace.ImageStorageSpec{StoragePolicy: refs.ImageStoragePolicy},
321335
NcpClusterNetworkSpec: &namespace.NcpClusterNetworkSpec{
322336
NsxEdgeCluster: refs.EdgeCluster,
323337
PodCidrs: podCidrs,
@@ -332,11 +346,11 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
332346
DefaultImageRepository: cmd.DefaultImageRepository,
333347
ServiceCidr: serviceCidr,
334348
LoginBanner: cmd.LoginBanner,
335-
SizeHint: cmd.SizeHint,
349+
SizeHint: &sh,
336350
WorkerDNS: splitCommaSeparatedList(cmd.WorkerDNS),
337351
DefaultImageRegistry: nil,
338352
MasterDNS: splitCommaSeparatedList(cmd.ControlPlaneDNS),
339-
NetworkProvider: cmd.NetworkProvider,
353+
NetworkProvider: &np,
340354
MasterStoragePolicy: refs.ControlPlaneStoragePolicy,
341355
DefaultKubernetesServiceContentLibrary: cmd.DefaultKubernetesServiceContentLibrary,
342356
}

0 commit comments

Comments
 (0)