ifMapping is a list of interface names for the template.
The interface mapping is defined globally for all bare metal hosts
in the cluster but can be overridden at the host level, if required,
by editing the
IpamHost object for a particular host.
ifMapping parameter is mutually exclusive with
autoIfMappingPrio is a list of prefixes, such as
and so on, to match the interfaces to automatically create a list
for the template. If you are not aware of any specific
ordering of interfaces on the nodes, use the default
Predictable Network Interfaces Names specification for systemd.
You can also override the default NIC list per host
IfMappingOverride parameter of the corresponding
provision value corresponds to the network
interface that was used to provision a node.
Usually, it is the first NIC found on a particular node.
It is defined explicitly to ensure that this interface
will not be reconfigured accidentally.
autoIfMappingPrio parameter is mutually exclusive
Subnets to be used in the
npTemplate section. The field contains
a list of subnet definitions with parameters used by template macros.
Defines the alias name of the subnet that can be used to reference this
subnet from the template macros. This parameter is mandatory for every
entry in the
Optional. Default: none. Defines a name of the parent
that will be used to create a
Subnet object with a given
If a corresponding
Subnet object already exists,
nothing will be created and the existing object will be used.
SubnetPool is provided, no new
Subnet object will be created.
Logical scope of the
Subnet object with a corresponding
global - the
Subnet object is accessible globally,
for any Container Cloud project and cluster in the region,
for example, the PXE subnet.
namespace - the
Subnet object is accessible within the same
project and region where the L2 template is defined.
cluster - the
Subnet object is only accessible to the cluster
L2Template.spec.clusterRef refers to. The
cluster scope will be created for every new cluster.
Contains a dictionary of labels and their respective values that will be
used to find the matching
Subnet object for the subnet. If the
labelSelector field is omitted, the
Subnet object will be selected
by name, specified by the
l3Layout section is mandatory for each
l3Layout section, define all subnets that are used
Defining only part of subnets is not allowed.
labelSelector is used in
l3Layout, use any custom
label name that differs from system names. This allows for easier
cluster scaling in case of adding new subnets as described in
Expand IP addresses capacity in an existing cluster.
Mirantis recommends using a unique label prefix such as
A netplan-compatible configuration with special lookup functions
that defines the networking settings for the cluster hosts,
where physical NIC names and details are parameterized.
This configuration will be processed using Go templates.
Instead of specifying IP and MAC addresses, interface names,
and other network details specific to a particular host,
the template supports use of special lookup functions.
These lookup functions, such as
ip, and so on,
return host-specific network information
when the template is rendered for a particular host.
For details about netplan, see the
official netplan documentation.
All rules and restrictions of the netplan configuration
also apply to L2 templates. For details,
see the official netplan documentation.
We strongly recommend following the below conventions on
network interface naming:
A physical NIC name set by an L2 template must not exceed
15 symbols. Otherwise, an L2 template creation fails.
This limit is set by the Linux kernel.
Names of virtual network interfaces such as VLANs, bridges,
bonds, veth, and so on must not exceed 15 symbols.
We recommend setting interfaces names that do not
exceed 13 symbols for both physical and virtual interfaces
to avoid corner cases and issues in netplan rendering.