Skip to content

Commit

Permalink
MTL-2508 Avoid hard coded vlans for MTL (#434)
Browse files Browse the repository at this point in the history
  • Loading branch information
rustydb authored Oct 24, 2024
2 parents 0202267 + 01f4259 commit 8938704
Show file tree
Hide file tree
Showing 5 changed files with 246 additions and 238 deletions.
11 changes: 9 additions & 2 deletions pkg/cli/config/initialize/basecamp.go
Original file line number Diff line number Diff line change
Expand Up @@ -586,15 +586,22 @@ func MakeBaseCampfromNCNs(
ncnIPAM := make(map[string]interface{})
for _, ncnNetwork := range ncn.Networks {

// Kea doesn't support multiple networks with vlan=0 so we need to special case CHN to not include in the ipam output
// The CHN is configured as a subnet of the HSN which is not done by basecamp, but by SHS and Ansible.
if strings.ToLower(ncnNetwork.NetworkName) == "chn" {
continue
}

ncnNICSubnet := make(map[string]interface{})
ncnNICSubnet["gateway"] = ncnNetwork.Gateway
ncnNICSubnet["ip"] = ncnNetwork.CIDR
ncnNICSubnet["vlanid"] = ncnNetwork.Vlan

// Fix cloud-init and remove this shenanigan
if strings.ToLower(ncnNetwork.NetworkName) == "mtl" {
ncnNICSubnet["vlanid"] = 0
} else {
ncnNICSubnet["vlanid"] = ncnNetwork.Vlan
}

ncnNICSubnet["parent_device"] = ncnNetwork.ParentInterfaceName
ncnIPAM[strings.ToLower(ncnNetwork.NetworkName)] = ncnNICSubnet
}
Expand Down
36 changes: 18 additions & 18 deletions pkg/cli/config/initialize/initialize.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ func NewCommand() *cobra.Command {
3000,
3999,
}
tmpHmnMtn.Template.CIDR = slsInit.DefaultHMNMTNString
tmpHmnMtn.Template.CIDR = networking.DefaultHMNMTNString
tmpHmnMtn.SubdivideByCabinet = true
tmpHmnMtn.IncludeBootstrapDHCP = false
tmpHmnMtn.SuperNetHack = false
Expand All @@ -188,7 +188,7 @@ func NewCommand() *cobra.Command {
1513,
1769,
}
tmpHmnRvr.Template.CIDR = slsInit.DefaultHMNRVRString
tmpHmnRvr.Template.CIDR = networking.DefaultHMNRVRString
tmpHmnRvr.SubdivideByCabinet = true
tmpHmnRvr.IncludeBootstrapDHCP = false
tmpHmnRvr.SuperNetHack = false
Expand All @@ -207,7 +207,7 @@ func NewCommand() *cobra.Command {
2000,
2999,
}
tmpNmnMtn.Template.CIDR = slsInit.DefaultNMNMTNString
tmpNmnMtn.Template.CIDR = networking.DefaultNMNMTNString
tmpNmnMtn.SubdivideByCabinet = true
tmpNmnMtn.IncludeBootstrapDHCP = false
tmpNmnMtn.SuperNetHack = false
Expand All @@ -223,7 +223,7 @@ func NewCommand() *cobra.Command {
1770,
1999,
}
tmpNmnRvr.Template.CIDR = slsInit.DefaultNMNRVRString
tmpNmnRvr.Template.CIDR = networking.DefaultNMNRVRString
tmpNmnRvr.SubdivideByCabinet = true
tmpNmnRvr.IncludeBootstrapDHCP = false
tmpNmnRvr.SuperNetHack = false
Expand Down Expand Up @@ -742,7 +742,7 @@ func NewCommand() *cobra.Command {
// Node management network.
c.Flags().String(
"nmn-cidr",
slsInit.DefaultNMNString,
networking.DefaultNMNString,
"Overall IPv4 CIDR for all Node Management subnets",
)
c.Flags().String(
Expand All @@ -752,25 +752,25 @@ func NewCommand() *cobra.Command {
)
c.Flags().String(
"nmn-dynamic-pool",
slsInit.DefaultNMNLBString,
networking.DefaultNMNLBString,
"Overall IPv4 CIDR for dynamic Node Management load balancer addresses",
)
c.Flags().String(
"nmn-mtn-cidr",
slsInit.DefaultNMNMTNString,
networking.DefaultNMNMTNString,
"IPv4 CIDR for grouped Mountain Node Management subnets",
)
c.Flags().String(
"nmn-rvr-cidr",
slsInit.DefaultNMNRVRString,
networking.DefaultNMNRVRString,
"IPv4 CIDR for grouped River Node Management subnets",
)
_ = c.MarkFlagRequired("nmn-cidr")

// Hardware management network.
c.Flags().String(
"hmn-cidr",
slsInit.DefaultHMNString,
networking.DefaultHMNString,
"Overall IPv4 CIDR for all Hardware Management subnets",
)
c.Flags().String(
Expand All @@ -780,17 +780,17 @@ func NewCommand() *cobra.Command {
)
c.Flags().String(
"hmn-dynamic-pool",
slsInit.DefaultHMNLBString,
networking.DefaultHMNLBString,
"Overall IPv4 CIDR for dynamic Hardware Management load balancer addresses",
)
c.Flags().String(
"hmn-mtn-cidr",
slsInit.DefaultHMNMTNString,
networking.DefaultHMNMTNString,
"IPv4 CIDR for grouped Mountain Hardware Management subnets",
)
c.Flags().String(
"hmn-rvr-cidr",
slsInit.DefaultHMNRVRString,
networking.DefaultHMNRVRString,
"IPv4 CIDR for grouped River Hardware Management subnets",
)
_ = c.MarkFlagRequired("hmn-cidr")
Expand Down Expand Up @@ -888,14 +888,14 @@ func NewCommand() *cobra.Command {
// Metal network.
c.Flags().String(
"mtl-cidr",
slsInit.DefaultMTLString,
networking.DefaultMTLString,
"Overall IPv4 CIDR for all Provisioning subnets",
)

// High-speed network.
c.Flags().String(
"hsn-cidr",
slsInit.DefaultHSNString,
networking.DefaultHSNString,
"Overall IPv4 CIDR for all HSN subnets",
)

Expand All @@ -914,22 +914,22 @@ func NewCommand() *cobra.Command {
// Bootstrap VLANS
c.Flags().Int(
"can-bootstrap-vlan",
slsInit.DefaultCANVlan,
networking.DefaultCANVlan,
"Bootstrap VLAN for the CAN",
)
c.Flags().Int(
"cmn-bootstrap-vlan",
slsInit.DefaultCMNVlan,
networking.DefaultCMNVlan,
"Bootstrap VLAN for the CMN",
)
c.Flags().Int(
"hmn-bootstrap-vlan",
slsInit.DefaultHMNVlan,
networking.DefaultHMNVlan,
"Bootstrap VLAN for the HMN",
)
c.Flags().Int(
"nmn-bootstrap-vlan",
slsInit.DefaultNMNVlan,
networking.DefaultNMNVlan,
"Bootstrap VLAN for the NMN",
)

Expand Down
3 changes: 1 addition & 2 deletions pkg/cli/config/initialize/networks.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import (

csiFiles "github.com/Cray-HPE/cray-site-init/internal/files"
"github.com/Cray-HPE/cray-site-init/pkg/cli"

"github.com/Cray-HPE/cray-site-init/pkg/networking"
)

Expand Down Expand Up @@ -137,7 +136,7 @@ func WriteCPTNetworkConfig(
network.NetworkName,
networking.ValidNetNames,
) {
if network.Vlan != 0 && network.NetworkName != "CHN" {
if network.Vlan != networking.DefaultMTLVlan && network.NetworkName != "CHN" {
csiFiles.WriteTemplate(
filepath.Join(
path,
Expand Down
Loading

0 comments on commit 8938704

Please sign in to comment.