Bug 1385041

Summary: [RFE] Undercloud Should Support Provisioning Via Bonded Interface
Product: Red Hat OpenStack Reporter: Dan Sneddon <dsneddon>
Component: instack-undercloudAssignee: Dan Sneddon <dsneddon>
Status: CLOSED CURRENTRELEASE QA Contact: nlevinki <nlevinki>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 10.0 (Newton)CC: bfournie, bschmaus, dcain, dhill, djuran, dsneddon, dtantsur, hjensas, jslagle, mburns
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-02 20:55:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Dan Sneddon 2016-10-14 15:43:40 UTC
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

Comment 2 Dan Sneddon 2017-08-01 20:48:18 UTC
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.

Comment 4 Bob Fournier 2017-09-03 17:50:58 UTC
*** Bug 1413690 has been marked as a duplicate of this bug. ***

Comment 12 Bob Fournier 2018-08-29 14:29:10 UTC
Consider for inclusion in OSP-15/OSP-16 timeframe.

Comment 13 Dan Sneddon 2018-08-31 21:07:40 UTC
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.

Comment 14 Harald Jensås 2018-11-30 09:02:37 UTC
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.