Description of problem: The Undercloud scripts currently expect there to be a single interface which is placed under br-ctlplane when the undercloud installation is run. A bonded interface with trunked VLANs is not compatible with the setup scripts. Version-Release number of selected component (if applicable): OSP 10 How reproducible: 100% Steps to Reproduce: 1. Configure host with one bonded interface with both uplink and provisioning VLAN as trunked VLANs on the bond 2. Run "openstack undercloud install" 3. Actual results: The setup scripts do not properly configure the bridge/bond to do provisioning over a VLAN interface. Expected results: The ironic-inspector-dnsmasq service and the Neutron DHCP agent which is used for deployment should be able to deploy via the bonded interface. Additional info: A bug was opened against OSP 7, but wasn't fixed: https://bugzilla.redhat.com/show_bug.cgi?id=1282332
There are some manual workarounds for this that are commonly used. 1) Run the undercloud setup as usual, with a single interface configured in the undercloud.conf. Following undercloud setup, remove the interface from the br-ctlplane bridge and manually configure and attach a bond to br-ctlplane. 2) Run the undercloud as a VM, with the VM NIC in bridged mode and attached to a bridge on the hypervisor host. A bond can then be configured and attached to that bridge.
*** Bug 1413690 has been marked as a duplicate of this bug. ***
Consider for inclusion in OSP-15/OSP-16 timeframe.
The relevant file here is instack-undercloud/templates/net-config.json.template. We need to provide a mechanism for the user to choose which net-config template is used, and offer the option of using a custom NIC config. Since the general use case will be two interfaces in either active/backup or LACP mode, we can create a template that covers those two cases. I would think we would want to add a two config elements to undercloud.conf: one which selects which template to use (regular or bonded), and another which specifies the bonding options for the bonded role.
I think we can close this with CURRENT RELEASE. Review: https://review.openstack.org/305957 """ Adds the ability to override the os-net-config data for the undercloud. In some cases, a single bridge with a single physical interface may not be sufficient for all cases. This will allow for more advanced customization of the undercloud networking. The path to a custom os-net-config json template can be specificed in undercloud.conf with the net_config_override option. Change-Id: I1fdc62d61eb5d2ea7e9418e40aa8c07173169d35 """ The net_config_override option in undercloud.conf. It is included since Ocata, and would allow configuration of bond's.