[RFE] Enable and configure DHCP relay on virt-host

Bug #1663034 reported by Dan Sneddon
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
tripleo
Triaged
Wishlist
Unassigned

Bug Description

In order to enable testing of spine/leaf architectures with tripleo-quickstart, we need to forward DHCP requests between provisioning networks. The undercloud will be listening on one provisioning network, and overcloud nodes will be attached to different provisioning networks. The virt-host will be configured with an IP address on each bridge, in order to perform IP forwarding, but DHCP requests require a proxy.

The architecture would look like this:

virt-host
    brex: <external_network_ip>
    br-prov1: <provisioning1_ip>
    br-prov2: <provisioning2_ip>
   [br-prov3: <provisioning3_ip>]
   [etc.]

With dhcp-relay installed, the following will forward DHCP requests from br-prov2 to br-prov1:

/usr/sbin/dhcrelay -d --no-pid <undercloud_br-ctlplane_ip> -i br-prov2 [-i br-prov3] [-i etc.]

So we need a way to specify in quickstart that we want a DHCP relay set up, a way to specify the undercloud_ip which DHCP requests will be forwarded to, and a way to mark which bridge interfaces the virt-host should listen for DHCP requests on (since we only want to forward DHCP on provisioning networks and networks used for Ironic in the overcloud).

Furthermore, we need to specify the same for IPv6, with a separate dhcrelay process listening for DHCPv6 requests:

/usr/sbin/dhcrelay -d --no-pid -6 -u br-prov1 -l br-prov2 [-l br-prov3] [-l etc.]

In the case of DHCPv6 relay, the undercloud IP is not required, but the -u ("upper") interface will be the bridge where the undercloud br-ctlplane is attached, and the -l ("lower") interfaces are the ones where dhcrelay will listen for DHCPv6 requests.

So we need to install dhcp-relay as a dependency of tripleo-quickstart, and then configure a way to specify the startup parameters for two dhcrelay processes running on the virt host. Perhaps the YAML input to quickstart could be used to configure startup scripts for dhcrelay using a template?

Here is some documentation for creating startup scripts for dhcrelay that we can use to develop the templates:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/dhcp-relay-agent.html

Tags: quickstart
Ronelle Landy (rlandy)
Changed in tripleo-quickstart:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
John Trowbridge (trown) wrote :

moved to tripleo launchpad with quickstart tag

Changed in tripleo:
status: New → Triaged
importance: Undecided → Wishlist
no longer affects: tripleo-quickstart
tags: added: quickstart
wes hayutin (weshayutin)
Changed in tripleo:
milestone: none → rocky-3
Revision history for this message
Harald Jensås (harald-jensas) wrote :

@Wes,

We used this virtual lab infra in a training class this week.
https://github.com/redhat-openstack/tripleo-workshop/tree/master/networking/virtual-baremetal-lab

Might be able to reuse some of that for quickstart?

Changed in tripleo:
milestone: rocky-3 → rocky-rc1
Changed in tripleo:
milestone: rocky-rc1 → stein-1
Changed in tripleo:
milestone: stein-1 → stein-2
Changed in tripleo:
milestone: stein-2 → stein-3
Changed in tripleo:
milestone: stein-3 → train-1
Changed in tripleo:
milestone: train-1 → train-2
Changed in tripleo:
milestone: train-2 → train-3
Changed in tripleo:
milestone: train-3 → ussuri-1
Changed in tripleo:
milestone: ussuri-1 → ussuri-2
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-2 → ussuri-3
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-3 → ussuri-rc3
wes hayutin (weshayutin)
Changed in tripleo:
milestone: ussuri-rc3 → victoria-1
Changed in tripleo:
milestone: victoria-1 → victoria-3
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.