Bug 1956494

Summary: kickstart_kernel_options doesn't handle properly tagged vlan over bond device
Product: Red Hat Satellite Reporter: Joniel Pasqualetto <jpasqual>
Component: Provisioning TemplatesAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Ondrej Gajdusek <ogajduse>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.8.0CC: egolov, mhulan, osousa, rcavalca
Target Milestone: 6.10.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: foreman-2.5.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-16 14:10:50 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:
Embargoed:

Description Joniel Pasqualetto 2021-05-03 19:14:59 UTC
Description of problem:

When a host to be provisioned has a virtual interface that requires a VLAN tag and is attached to a bond device, the kernel options simply ignore the bond device, creating only the VLAN. Therefore, dracut does not get configured properly and provisioning fails.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Create a new host
2. Add 2 physical interfaces and mark both only as "managed"
3. Add a bond device using the 2 physical interfaces. Mark only the option "managed" to this interface too
4. Create a virtual interface, set a vlan tag and put the bond a master interface
5. Look at the rendered template "PXEGrub template" for example. You'll see something like this (pasting only the part of the line that 

~~~
(...)

... network ksdevice=bootif ks.device=bootif kssendmac ks.sendmac inst.ks.sendmac ip=192.168.250.81::192.168.250.1:255.255.255.0:ryan-blacher.example.local:vlan409:none nameserver=192.168.250.100 vlan=vlan409:bond0
~~~

Note that the vlan is defined and it points to the device "bond0", but the bond device is not configured.

Actual results:

Rendered template looks like this:

~~~
(...)

... network ksdevice=bootif ks.device=bootif kssendmac ks.sendmac inst.ks.sendmac ip=192.168.250.81::192.168.250.1:255.255.255.0:ryan-blacher.example.local:vlan409:none nameserver=192.168.250.100 vlan=vlan409:bond0
~~~

Expected results:

~~~
(...)
... network ksdevice=bootif ks.device=bootif kssendmac ks.sendmac inst.ks.sendmac ip=192.168.250.81::192.168.250.1:255.255.255.0:ryan-blacher.example.local:vlan409:none nameserver=192.168.250.100 bond=bond0:eth0,eth1:mode=active-backup,miimon=200 vlan=vlan409:bond0
~~~

Additional info:

Comment 1 Bryan Kearney 2021-05-28 10:20:17 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/32497 has been resolved.

Comment 2 Ondrej Gajdusek 2021-08-05 10:56:11 UTC
VERIFIED

@Satellite 6.10.0 snap 10
foreman-2.5.2-1.el7sat.noarch
satellite-6.10.0-0.5.beta.el7sat.noarch

Using the reproducer from the BZ description:
The network configuration PXELinux/PXEGrub templates are generated correctly and it is propagated to the provisioned system to NetworkManager's connections.

Comment 5 errata-xmlrpc 2021-11-16 14:10:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Satellite 6.10 Release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:4702