Bug 1315817

Summary: Facts are deleted when a discovered host is provisioned, breaking kexec template for PXEless
Product: Red Hat Satellite Reporter: Stephen Benjamin <stbenjam>
Component: Discovery PluginAssignee: Lukas Zapletal <lzap>
Status: CLOSED ERRATA QA Contact: sthirugn <sthirugn>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.0.4CC: bbuckingham, bkearney, dmoessne, pdwyer, sthirugn, xdmoon
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/14100
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-27 09:26:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stephen Benjamin 2016-03-08 16:46:35 UTC
Host facts get cleared, which breaks the `ip=` line in the kexec template:

<pre>
{
  "kernel": "boot/CentOS-7.1-x86_64-vmlinuz",
  "initram": "boot/CentOS-7.1-x86_64-initrd.img",
  "append": "ks=http://192.168.121.45:3000/unattended/provision?token=05d805c7-21be-46af-89cb-18c5a18527a1&static=yes inst.ks.sendmac ip=::::::none nameserver= ksdevice=bootif BOOTIF= "
}
</pre>


We need to preserve the discovery_* facts, or better - preserve all of them, what if a discovery user wants to use custom discovery facts in a provision template?

Comment 1 Stephen Benjamin 2016-03-08 16:46:37 UTC
Created from redmine issue http://projects.theforeman.org/issues/14100

Comment 2 Stephen Benjamin 2016-03-08 16:48:43 UTC
Found this nasty bug during the PXEless demo today. Foreman now clears facts on build:

  https://github.com/theforeman/foreman/blob/develop/app/models/host/managed.rb#L255

Comment 5 Bryan Kearney 2016-03-11 15:03:27 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/14100 has been closed
-------------
Anonymous
Applied in changeset commit:foreman_discovery|9384b9f3c960f4158772ec667cf28bfec51bfe24.

Comment 6 sthirugn@redhat.com 2016-03-24 17:43:16 UTC
Verified in Satellite-6.2-beta-Snap5.1

Steps:
1. Provision a pxeless discovery host
2. In the discovery boot add some custom facts like the following:
 - discovery_fact1 = value1
 - discovery_fact2 = value2
 - fact3 = value3
 - fact4 = value4
3. Locate the discovered host in UI
4. Review to make sure all 4 facts from above show up in the discovered host.  Note that the last two facts will be under the Misc section.
5. Auto provision the discovered host with discovery rules based on facts above.
6. After provisioning, review the host.
 - First two facts still show up in the host
 - Last two facts are gone.

Comment 8 Lukas Zapletal 2016-05-23 11:22:04 UTC
*** Bug 1338062 has been marked as a duplicate of this bug. ***

Comment 10 errata-xmlrpc 2016-07-27 09:26:34 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, 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/RHBA-2016:1501