Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
ORIGINAL DESCRIPTION (anonymized)
Using the VLANID feature to use VLAN Tag during discovery and trying FDI image 6.2 and latest 6.4.0 failed to PXE-less provisioned a physical system,
As per facts shown in production.log, discovery_bootif is picking up UUID of a non-active interface, not the primary interface set in VLAN:
"discovery_bootif"=>"40:f2:e9:xx:xx:xx"
From discovery-debug:
* NETWORK CONFIGURATION *
NAME UUID TYPE DEVICE
primary 45c4fdee-4c10-11e7-a233-40f2e9c2b808 vlan eno1.463
secondary-40:f2:e9:xx:xx:xx 45d04ece-4c10-11e7-a53b-40f2e9c2b808 802-3-ethernet --
secondary-40:f2:e9:xx:xx:xx eb204704-4c0f-11e7-b727-40f2e9c2b808 802-3-ethernet --
Version-Release number of selected component (if applicable):
6.2.10
How reproducible: Always
Steps to Reproduce:
1- Boot the server from the foreman discovery iso v 3.4 downloaded upstream "http://downloads.theforeman.org/discovery/releases/3.4/"
2- Select Manual Discovery
3- Select the interface , and in the same window at the bottom you can find the VLAN ID
4- Enter the IP/MASK/GATEWAY and DNS servers
5- Hit next, then the tool configures new interface with name <interface.vlanid> (example enp0s8.463) and moves to the next screen
At this point the interface is up and pingable on the network
6- Enter the Satellite server IP:PORT and Proxy setting and selecting proxy.
7- No custom facts configured, hitting next
Actual results:
Server discovery returns with error:
ERROR -- : Discovery failed, code 422, reason: ERF42-1064 [Foreman::Exception]: Unable to assign subnet, primary interface is missing IP address
Expected results:
PXE-less provision succeeds using the VLAN configured Primary interface.
Additional info:
Can ssh to the Host via the interface that is configured with the IP address which means it is routable back to the Server.
WORKAROUND:
On the last Custom page screen, enter the primary interface mac address:
Fact name:
discovery_bootif
Fact value:
40:f2:e9:xx:xx:xx
This should override the facts reported.
ALTERNATIVE WORKAROUND:
In Satellite6 select different fact that could hold primary interface, this could be "macaddress". This could also work. In Satellite6 in Administer - Setting set "Interface fact" to "macaddress" (it is "discovery_bootif" by default).
Alternatively, when using same network cards on all systems, this can be set to "macaddress_enp0s8.463" which will contain the correct MAC address, but this will only work for subset of hosts.
Okay, there are two problems, both stems from the fact that when VLAN is set up, both eth0 and eth0.VLANID interfaces have same MAC address:
A) Discovery primary NIC detection does not priorize NIC with IP, since eth0 comes first it detects wrong one without IP. Easy fix, one liner.
http://projects.theforeman.org/issues/22193
B) NIC importer in Foreman core does not properly handle situation when two interfaces have same MAC address. This is more complex issue that needs further investigation.
http://projects.theforeman.org/issues/22192
Thanks, this is a long-standing problem, discovery provisioning over VLAN hasn't been tested with Satellite 6. We are working hard on this but unsure when the fix lands in Satellite.
There is currently no workaround possible, unfortunately the only option is not to use tagged VLAN for node discovery. Simple PXE workflow does work however with some template changes (vlanid for Anaconda), we are also aiming shipping these changes in standard templates in near future.
In both cases, provisioning on VLAN tagged networks is listed in unsupported (untested) scenarios until we finish this.
https://access.redhat.com/solutions/2674001