Change-Id: I67f518a0a0fab766225ad397b50b3997b0e6ad72
3.0 KiB
Use multitenancy with Bare Metal service
Multitenancy allows creating a dedicated tenant network that extends
the current Bare Metal (ironic) service capabilities of providing
flat
networks. Multitenancy works in conjunction with
Networking (neutron) service to allow provisioning of a bare metal
server onto the tenant network. Therefore, multiple tenants can get
isolated instances after deployment.
Bare Metal service provides the local_link_connection
information to the Networking service ML2 driver. The ML2 driver uses
that information to plug the specified port to the tenant network.
Field | Description |
---|---|
switch_id |
Required. Identifies a switch and can be an LLDP-based MAC address
or an OpenFlow-based datapath_id . |
port_id |
Required. Port ID on the switch, for example, Gig0/1. |
switch_info |
Optional. Used to distinguish different switch models or other vendor specific-identifier. |
Configure Networking service ML2 driver
To enable the Networking service ML2 driver, edit the
/etc/neutron/plugins/ml2/ml2_conf.ini
file:
- Add the name of your ML2 driver.
- Add the vendor ML2 plugin configuration options.
[ml2]
...
mechanism_drivers = my_mechanism_driver
[my_vendor]
param_1 = ...
param_2 = ...
param_3 = ...
For more details, see Networking service mechanism drivers.
Configure Bare Metal service
After you configure the Networking service ML2 driver, configure Bare Metal service:
Edit the
/etc/ironic/ironic.conf
for theironic-conductor
service. Set thenetwork_interface
node field to a valid network driver that is used to switch, clean, and provision networks.[DEFAULT] ... enabled_network_interfaces=flat,neutron [neutron] ... cleaning_network_uuid=$UUID provisioning_network_uuid=$UUID
Warning
The
cleaning_network_uuid
andprovisioning_network_uuid
parameters are required for theneutron
network interface. If they are not set,ironic-conductor
fails to start.Set
neutron
to use Networking service ML2 driver:$ ironic node-create -n $NAME --network-interface neutron --driver agent_ipmitool
Create a port with appropriate
local_link_connection
information. Set thepxe_enabled
port attribute toTrue
to create network ports for for thepxe_enabled
ports only:$ ironic --ironic-api-version latest port-create -a $HW_MAC_ADDRESS \ -n $NODE_UUID -l switch_id=$SWITCH_MAC_ADDRESS \ -l switch_info=$SWITCH_HOSTNAME -l port_id=$SWITCH_PORT --pxe-enabled true