Skip to content

Commit

Permalink
Part of vmware#2860. Added optional json in load balancer fix
Browse files Browse the repository at this point in the history
Signed-off-by: Adam Fowler <adam@adamfowler.org>
  • Loading branch information
adamfowleruk committed Jul 15, 2022
1 parent 38ddf99 commit ed45623
Show file tree
Hide file tree
Showing 3 changed files with 388 additions and 125 deletions.
28 changes: 21 additions & 7 deletions govc/namespace/cluster/enable.go
@@ -1,5 +1,5 @@
/*
Copyright (c) 2020 VMware, Inc. All Rights Reserved.
Copyright (c) 2020-2022 VMware, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -33,7 +33,7 @@ type enableCluster struct {
ControlPlaneDNSSearchDomains string
ImageStoragePolicy string
NcpClusterNetworkSpec workloadNetwork
ControlPlaneManagementNetwork namespace.MasterManagementNetwork
ControlPlaneManagementNetwork masterManagementNetwork
ControlPlaneDNSNames string
ControlPlaneNTPServers string
EphemeralStoragePolicy string
Expand All @@ -51,6 +51,13 @@ type enableCluster struct {
*flags.ClusterFlag
}

type masterManagementNetwork struct {
Mode string
FloatingIP string
AddressRange *namespace.AddressRange
Network string
}

type workloadNetwork struct {
NsxEdgeCluster string
PodCidrs string
Expand All @@ -71,7 +78,7 @@ type objectReferences struct {

func init() {
newEnableCluster := &enableCluster{
ControlPlaneManagementNetwork: namespace.MasterManagementNetwork{
ControlPlaneManagementNetwork: masterManagementNetwork{
AddressRange: &namespace.AddressRange{},
},
}
Expand Down Expand Up @@ -303,7 +310,11 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
if (cmd.ControlPlaneManagementNetwork.Mode != "") ||
(cmd.ControlPlaneManagementNetwork.FloatingIP != "") ||
(cmd.ControlPlaneManagementNetwork.Network != "") {
masterManagementNetwork = &cmd.ControlPlaneManagementNetwork
masterManagementNetwork.AddressRange = cmd.ControlPlaneManagementNetwork.AddressRange
masterManagementNetwork.FloatingIP = cmd.ControlPlaneManagementNetwork.FloatingIP
ipam := namespace.IpAssignmentModeFromString(cmd.ControlPlaneManagementNetwork.Mode)
masterManagementNetwork.Mode = &ipam
masterManagementNetwork.Network = cmd.ControlPlaneManagementNetwork.Network
}
if masterManagementNetwork != nil {
if (masterManagementNetwork.AddressRange.SubnetMask == "") &&
Expand All @@ -315,9 +326,12 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
masterManagementNetwork.Network = refs.Network
}

sh := namespace.SizingHintFromString(cmd.SizeHint)
np := namespace.ClusterNetworkProviderFromString(cmd.NetworkProvider)

spec := namespace.EnableClusterSpec{
MasterDNSSearchDomains: splitCommaSeparatedList(cmd.ControlPlaneDNSSearchDomains),
ImageStorage: namespace.ImageStorage{StoragePolicy: refs.ImageStoragePolicy},
ImageStorage: namespace.ImageStorageSpec{StoragePolicy: refs.ImageStoragePolicy},
NcpClusterNetworkSpec: &namespace.NcpClusterNetworkSpec{
NsxEdgeCluster: refs.EdgeCluster,
PodCidrs: podCidrs,
Expand All @@ -332,11 +346,11 @@ func (cmd *enableCluster) toVapiSpec(refs objectReferences) (*namespace.EnableCl
DefaultImageRepository: cmd.DefaultImageRepository,
ServiceCidr: serviceCidr,
LoginBanner: cmd.LoginBanner,
SizeHint: cmd.SizeHint,
SizeHint: &sh,
WorkerDNS: splitCommaSeparatedList(cmd.WorkerDNS),
DefaultImageRegistry: nil,
MasterDNS: splitCommaSeparatedList(cmd.ControlPlaneDNS),
NetworkProvider: cmd.NetworkProvider,
NetworkProvider: &np,
MasterStoragePolicy: refs.ControlPlaneStoragePolicy,
DefaultKubernetesServiceContentLibrary: cmd.DefaultKubernetesServiceContentLibrary,
}
Expand Down

0 comments on commit ed45623

Please sign in to comment.