Create Network Profile
INFO
To learn more, see Network Profiles.
A Network Profile specifies how a Machine attaches to your fabric: which physical interfaces form an Uplink, and which Subnets are configured on it.
Create a Network Profile
- Navigate to Networking → tab Network Profiles → Create Network Profile.
- Provide a name, unique within your organization.
- Add an Uplink, as described in Uplinks.
- Add a Host Network, as described in Host Networks
- Click Create.
TIP
If you don't know the interface names or MAC addresses of your servers, create a Network Profile in mode Auto-detect and boot a server with an Enrollment Image using it. On a server with more than one interface, enrollment fails and the interfaces are printed on the serial console and in the Enrollment Logs:
this machine has:
eno1 00:1b:21:3c:4d:5e link up 25000Mb/s
pci-0000:19:00.0 ixgbe
eno2 00:1b:21:3c:4d:5f no link
pci-0000:19:00.1 ixgbeOnce the profile exists, assign it to a Machine or use it on an Enrollment Image.
Terraform
Auto-detected interface
terraform
# single interface, auto-detected
resource "meltcloud_network_profile" "auto" {
name = "workload"
uplink {
name = "workload"
mode = "auto"
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
}
}Single-homed, untagged
terraform
# single interface named, untagged vlan
resource "meltcloud_network_profile" "single_untagged" {
name = "workload-single"
uplink {
name = "workload"
mode = "single"
identifier = "kernel_name"
interfaces = ["eth0"]
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
}
}Single-homed, tagged
terraform
# single interface named, tagged vlan
resource "meltcloud_network_profile" "single_tagged" {
name = "workload-tagged"
uplink {
name = "workload"
mode = "single"
identifier = "kernel_name"
interfaces = ["eth0"]
host_network {
subnet_id = meltcloud_subnet.storage_dhcp.id
vlan_tagged = true
primary = true
}
}
}Dual-homed, untagged
terraform
# two interfaces bonded, untagged vlan
resource "meltcloud_network_profile" "bonded_untagged" {
name = "workload-bonded"
uplink {
name = "workload"
mode = "bond"
identifier = "kernel_name"
interfaces = ["eth0", "eth1"]
lacp = true
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
}
}Dual-homed, tagged
terraform
# two interfaces bonded, tagged vlan
resource "meltcloud_network_profile" "bonded_tagged" {
name = "storage-bonded"
uplink {
name = "storage"
mode = "bond"
identifier = "kernel_name"
interfaces = ["eth0", "eth1"]
lacp = true
host_network {
subnet_id = meltcloud_subnet.storage_dhcp.id
vlan_tagged = true
primary = true
}
}
}Multiple tagged Subnets
terraform
# single interface named, multiple subnets, all tagged
resource "meltcloud_network_profile" "single_multiple_tagged" {
name = "main-single"
uplink {
name = "main"
mode = "single"
identifier = "kernel_name"
interfaces = ["eth0"]
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = true
primary = true
}
host_network {
subnet_id = meltcloud_subnet.storage_dhcp.id
vlan_tagged = true
primary = false
}
}
}terraform
# one bond, multiple subnets, all tagged
resource "meltcloud_network_profile" "bonded_multiple_tagged" {
name = "main-bonded-tagged"
uplink {
name = "main"
mode = "bond"
identifier = "kernel_name"
interfaces = ["eth0", "eth1"]
lacp = true
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = true
primary = true
}
host_network {
subnet_id = meltcloud_subnet.storage_dhcp.id
vlan_tagged = true
primary = false
}
}
}One native and one tagged Subnet
terraform
# single interface named, multiple subnets, one native and tagged subnets
resource "meltcloud_network_profile" "single_native_and_tagged" {
name = "main-single-native"
uplink {
name = "main"
mode = "single"
identifier = "kernel_name"
interfaces = ["eth0"]
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
host_network {
subnet_id = meltcloud_subnet.storage_dhcp.id
vlan_tagged = true
primary = false
}
}
}terraform
# one bond, multiple subnets, one native and tagged subnets
resource "meltcloud_network_profile" "bonded_native_and_tagged" {
name = "main"
uplink {
name = "main"
mode = "bond"
identifier = "kernel_name"
interfaces = ["eth0", "eth1"]
lacp = true
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
host_network {
subnet_id = meltcloud_subnet.storage_dhcp.id
vlan_tagged = true
primary = false
}
}
}Multiple Uplinks
terraform
# multiple uplinks with a single interface each
resource "meltcloud_network_profile" "two_uplinks" {
name = "workload-storage"
uplink {
name = "workload"
mode = "single"
identifier = "kernel_name"
interfaces = ["eth0"]
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
}
uplink {
name = "storage"
mode = "single"
identifier = "kernel_name"
interfaces = ["eth1"]
host_network {
subnet_id = meltcloud_subnet.storage_ipam.id
vlan_tagged = false
primary = false
}
}
}Multiple bonded Uplinks
terraform
# multiple uplinks with bonds each
resource "meltcloud_network_profile" "two_uplinks_bonded" {
name = "workload-storage-bonded"
uplink {
name = "workload"
mode = "bond"
identifier = "mac_address"
interfaces = ["00:1b:21:3c:4d:5e", "00:1b:21:3c:4d:5f"]
lacp = true
host_network {
subnet_id = meltcloud_subnet.workload_dhcp.id
vlan_tagged = false
primary = true
}
}
uplink {
name = "storage"
mode = "bond"
identifier = "mac_address"
interfaces = ["00:1b:21:3c:4d:60", "00:1b:21:3c:4d:61"]
lacp = true
host_network {
subnet_id = meltcloud_subnet.storage_ipam.id
vlan_tagged = false
primary = false
}
}
}