Bug 1588104 - PXELinux global default template does not have discovery option in Satellite 6.3.1 provisioning templates
Summary: PXELinux global default template does not have discovery option in Satellite ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Docs Provisioning Guide
Version: 6.3.1
Hardware: All
OS: Linux
unspecified
high
Target Milestone: Unspecified
Assignee: Stephen Wadeley
QA Contact: Melanie Corr
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-06 16:05 UTC by Sam Yangsao
Modified: 2021-09-09 14:26 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-07-13 19:00:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Configuring Red Hat Satellite’s Discovery Service (139.11 KB, application/pdf)
2018-07-04 15:14 UTC, Stephen Wadeley
no flags Details

Description Sam Yangsao 2018-06-06 16:05:14 UTC
# Document URL: 

https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html-single/provisioning_guide/#Provisioning_Bare_Metal_Hosts-Configuring_Red_Hat_Satellites_Discovery_Service

# Section Number and Name: 

Provisioning Templates

The PXELinux global default template in the Hosts > Provisioning templates section includes an entry for the Discovery service. 

<snip>

LABEL discovery
   MENU LABEL (discovery)
   KERNEL boot/fdi-image-rhel_7-vmlinuz
   APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy
   IPAPPEND 2

</snip>

# Describe the issue: 

Under Satellite 6.3.1 - the <snip> section above does not exist in the 'PXELinux global default' template anymore when reviewing 'Hosts > Provisioning' templates

However, there is a 'pxelinux_discovery' template - not sure if this should be used instead.

# Suggestions for improvement: 

Fix documentation to adhere to what is available in Satellite 6.3.1

# Additional information: 

I am willing to test and reproduce this as well (need to for a customer actually)

Thanks much!

Comment 1 Stephen Wadeley 2018-06-16 10:00:33 UTC
Hello


Thank you for raising this bug.

Comment 2 Sam Yangsao 2018-06-19 16:45:51 UTC
Please let me know if you need any assistance to test this, I have a customer wanting to get this setup and tested.  Thanks!

Comment 3 Stephen Wadeley 2018-06-19 17:47:57 UTC
I remember now, the template now has this include statement for a "snippet":

<%= snippet "pxelinux_discovery" %>

Upgrade guide was fixed here:

Bug 1546110 - Update template procedure in Configuring PXE-booting

and the snippet was mentioned here
https://bugzilla.redhat.com/show_bug.cgi?id=1546110#c4

but we missed that this template text was in the Provisioning Guide.

so I need to read that BZ#1546110 again to understand what to do.

--------------------

vaguely related:
Bug 1568741 - Review Troubleshooting Satellite Discovery

Comment 4 Stephen Wadeley 2018-06-20 11:01:35 UTC
Hello Sam

I see I tested what happens to the template during upgrade here:

https://bugzilla.redhat.com/show_bug.cgi?id=1527774#c18

but I think we do not need it because Roman's comment here:
https://bugzilla.redhat.com/show_bug.cgi?id=1546110#c4

suggests we can replace all of the "Provisioning Templates"[1] part with the updated section "6.2.2. Configuring PXE-booting" in[2]

  ------------------------------------------------------------------

Now comparing[1] with the updated section in Managing Hosts guide[2]

Installation Section

This command is no longer required:

# satellite-installer --enable-foreman-plugin-discovery

because (default: true):

[root@rhel7-4-sat6-3 ~]# satellite-installer --help | grep foreman-plugin-discovery
    --[no-]enable-foreman-plugin-discovery Enable 'foreman_plugin_discovery' puppet module (default: true)

I think this is still required for 6.3 (but not need to confirm if required for 6.4)
# yum install foreman-discovery-image 

that works on 6.3:

[root@rhel7-4-sat6-3 ~]# ls /usr/share/foreman-discovery-image/ 
foreman-discovery-image-3.4.4-1.iso  foreman-discovery-image

This section[1] needs to be tested, not sure if still required:
Enabling Discovery service on a Capsule Server

# yum install foreman-discovery-image rubygem-smart_proxy_discovery -y

We can also ask Roman, he might know.

I will configure a Capsule to test that bit.


[1] https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html-single/provisioning_guide/#Provisioning_Bare_Metal_Hosts-Configuring_Red_Hat_Satellites_Discovery_Service

[2] "Configuring the Satellite Discovery Plug-in" https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html/managing_hosts/chap-red_hat_satellite-managing_hosts-discovering_bare_metal_hosts_on_satellite#sect-Red_Hat_Satellite-Managing_Hosts-Discovering_Bare_metal_Hosts_on_Satellite-Configuring_the_Satellite_Discovery_Plug_in

Comment 5 Stephen Wadeley 2018-06-26 19:49:12 UTC
Hello

The "PXELinux global default" template now calls a snippet, pxelinux_discovery, in place of having an entry for the URL to use for TFTP.

That snippet contains this:
proxy.url=<%= foreman_server_url %> proxy.type=foreman

Roman Plevka once said of the snippet "It also resolves the capsule hostname from a variable". I take it that means you do not edit the snippet. I presume he meant foreman_server_url when he said variable, and that now replaces the URL.

 I have asked lzap in other bug[1] if there is still a reason to edit this snippet to replace the variable. 


[1] https://bugzilla.redhat.com/show_bug.cgi?id=1568741#c1

Comment 7 Stephen Wadeley 2018-07-04 15:14:13 UTC
Created attachment 1456519 [details]
Configuring Red Hat Satellite’s Discovery Service

Hello

Sorry for delay with this bug. 

I attach 1st draft of updated section in Provisioning Guide.

Thank you

Comment 15 Lukas Zapletal 2018-07-12 15:00:32 UTC
Stephen, I am not sure what you mean. This is still valid text, it is present in "Changing Templates and Snippets" chapter so obviously everytime you change a Global template you need to hit this button.

BUT I spotted a different problem: "The APPEND option contains a proxy.url parameter, with the foreman_server_url macro as its argument. This macro resolves to the full URL of the Capsule Server to use for provisioning by reading the URL from the /etc/foreman-proxy/settings.yml file and appending port 9090."

That's not the case, unfortunately this variable ALWAYS resolve to Satellite 6 Server. This is a missing feature in templating engine. Customers must use DNS SRV record to workaround that or after template deployment change it on each capsule manually. It is unfortunate, but please make this note in big box because this often leads to customer call. The file does not change often, so it's not big deal, just edit the file and you are good to go.

So in short, fix the "macro resolves to full URL or Capsule" text and make a warning box:

Global template is always deployed on Satellite 6 Server and all Capsules which has TFTP feature turned on. To proxy discovery communication via local Capsules, edit "/var/lib/tftpboot/pxelinux.cfg/default" manually (or "/var/lib/tftpboot/grub2/grub.cfg" and change the URL to local Capsule hostname. We are tracking this feature in RFE: (there is a BZ I can't dig tho)

Comment 18 Stephen Wadeley 2018-07-13 19:00:14 UTC
Hello

These changes are now live on the Customer Portal

6.3. Configuring Red Hat Satellite’s Discovery Service

https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html/provisioning_guide/provisioning_bare_metal_hosts#Provisioning_Bare_Metal_Hosts-Configuring_Red_Hat_Satellites_Discovery_Service

Thank you


Note You need to log in before you can comment on or make changes to this bug.