[openstack-dev] [ironic] How is the interface for tftpboot server typically configured on OVS ?

Sam Betts (sambetts) sambetts at cisco.com
Fri Oct 13 09:55:06 UTC 2017


There are multiple options for doing this, but I suggest avoiding manually plumbing anything into OVS as it can lead to some nastiness in the future.

My personal recommended way to do this is to create the provisioning network in neutron with a known VLAN and trunk it separately down to the ironic services.

To do this first exclude the chosen VLAN from the range of tenant provisionable VLANs, and then create the provisioning network in neutron with the --physical-network <physnet> and --segmentation-id <VLAN> flags.

Next you need to create the subnet for that network, and we know that we need to run the ironic services (like TFTP on this network) so when you create the subnet you need to exclude some IP addresses from the allocation pool (these IP address will be statically assigned by us outside of neutron’s control) for example subnet CIDR 10.0.0.0/24, allocation-pool: 10.0.0.1, 10.0.0.250 will give us 4 IPs for ironic services.

Then on my Ironic services server I trunk the provisioning VLAN down on an interface that isn’t assigned to a bridge/given to neutron (normally I use the same network interface which is used for inter-service communication e.g. eth0 when eth1 is assigned to neutron) and then create a VLAN sub-interface on that NIC e.g. eth0.<provisioning VLAN> and assign it one of the IP addresses I reserved from the allocation pool earlier.

The Ironic TFTP server, the Ironic API, and conductor for provisioning then operate over this IP address/network interface.

Then when I need to scale up our Ironic services, I can replicate the same trunk and sub-interface on each conductor server assigning a different one of the reserved IPs to each, letting our ironic services happily scale up horizontally as intended.

Sam

On 12/10/2017, 23:42, "Waines, Greg" <Greg.Waines at windriver.com<mailto:Greg.Waines at windriver.com>> wrote:

Hey,

We are in the process of integrating OpenStack Ironic into our own OpenStack Distribution.

One of the areas that we cannot find a good description of is:
    How is the interface for the tftpboot server typically configured on OVS ?

i.e.

·         i know tftpboot server runs on the same node as ironic-conductor,

·         i know tftpboot server needs to have an interface on the ‘provisioning’ tenant network, and

·         i know the tftpboot server IP address and the ‘provisioning’ network are configured in ironic.conf

·         BUT

o   how is the interface on the ‘provisioning’ tenant network configured for tftpboot server ?

§  i.e. how is it configured on OVS ?

·         assuming it would be an OVS virtual port that would be connected to
the ‘provisioning’ tenant network

§  i.e. how is this done upstream ?
e.g.

·         is a TAP(?) interface configured ?
and

·         is a Neutron Port configured on the ‘provisioning’ tenant network,
with a reserved IP Address from ‘provisioining’ tenant network’s subnet and
         a MAC address from TAP interface ?
and

·         the L2-Agent manages the binding of the TAP Interface to the
‘provisioning’ tenant network within OVS ?

Can anybody point me to or provide a detailed description of how this is done upstream ?

thanks in advance,
Greg.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20171013/5ce81fdd/attachment.html>


More information about the OpenStack-dev mailing list