Change-Id: I0baaaf19d8da682a1f2f5bfaf4e6a6d4562c9071
3.0 KiB
Use multitenancy with Bare Metal service
Multitenancy allows creating a dedicated project 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 project network. Therefore, multiple projects 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 project 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