Document URL: https://access.redhat.com/documentation/en-US/Red_Hat_Satellite/6.0/html-single/User_Guide/index.html Section Number and Name: n/a Describe the issue: As far as I can tell, Foreman Bootdisk is not documented anywhere. Bootdisk is a critical feature since many, if not most large enterprise customers don't have dhcp/pxe enabled in their environment. Suggestions for improvement: please document this in either ht user guide or the provisioning guide. Additional information:
Since this issue was entered in Red Hat Bugzilla, the release flag has been set to ? to ensure that it is properly evaluated for this release.
Cleaning up flags for easier reporting.
I'm using this as a reference but have a few questions: https://github.com/theforeman/foreman_bootdisk "Boot images are written as hybrid ISO images (usable as ISOs or USB disks), and booted either from physical media or virtual disk/CDROM (via a lights out management device)." 1. What's a hybrid ISO image? I found this but wonder if it's the whole and complete story: - it can be burnt to a DVD; - it also contains a full disk image (including partition table) and can thus be copied (using dd) to a USB stick; the USB stick's content is lost in the operation. 2. What's a "lights out management device"? As per a request by ... someone, can I s/Foreman/Satellite/ in this doc? thanks
Can I get more info on this section from https://github.com/theforeman/foreman_bootdisk Dependencies - iPXE images are required I'm not really sure what this means. I guess it means whichever OSes you want to be available for booting need to be available on the Sat server? Not an area I'm very familiar with, so feel free to speak dumb to me :-) - syslinux is required syslinux.x86_64 : Simple kernel loader which boots from a FAT filesystem It would be beneficial I think to know why this is required, even from a basic viewpoint. - genisoimage/mkisofs and isohybrid are required # yum search isohybrid Loaded plugins: langpacks Warning: No matches found for: isohybrid Any elaboration on this would be appreciated, too. thanks D.
- iPXE images are required This is provided by the ipxe-bootimgs package - syslinux is required This provides the boot loader files needed on the iso in order to allow systems to boot with it - genisoimage/mkisofs and isohybrid are required genisoimage/mkisofs are provided by genisoimage isohybrid is provided by syslinux keep in mind that the syslinux and genisoimage packages are installed by default as they are dependencies on bootdisk. So it may not be necessary to even include all of this information? It is included upstream as you may run it from source, or on an architecture/OS where those packages are not available (and thus the user has to provide them).
Forgot to mention, ipxe-bootimgs is also a dependency of the bootdisk package, so it is installed by default too.
1. What's a hybrid ISO image? Honestly i wouldn't go into even calling them 'hybrid iso images', i would just mention that they can be burned to a cd/dvd or 'written' to a usb disk and explain how to do both. The technical implementation details of how the iso accomplishes this i don't think is worth documenting. 2. Lights out management is a feature of some hardware racks that allow you to control aspects of a blade such as powering it on/off, viewing the console, and attaching 'virtual' cd/dvd drives backed by an iso image. This is similar to launching a Virtual Machine with the iso attached, just with a physical piece of hardware. So this is just saying that you can use the iso with lights out management. Its not really necessary to say that as any bootable cd should work with light out management, just like any bootable cd should boot on any arbitrary physical machine or vm (assuming the architecture is correct). But feel free to include it in the docs if you think its relevant.
https://github.com/theforeman/foreman_bootdisk#per-host-full-images It can be useful for hosts that fail to chainload correctly, but has the downsides that it may become out of date if the host OS, bootloader or templates change, or build tokens are required and expire. What's a build token? Do we need to talk about them? thanks
https://github.com/theforeman/foreman_bootdisk#per-host-full-images The last para is: Set OUTPUT=/path to change the output destination path (directory or file). It must be writable by the 'foreman' user. But, OUTPUT=/path is not part of this command. Should it be?
(In reply to David O'Brien from comment #19) > https://github.com/theforeman/foreman_bootdisk#per-host-full-images > > The last para is: > > Set OUTPUT=/path to change the output destination path (directory or file). > It must be writable by the 'foreman' user. > > But, OUTPUT=/path is not part of this command. Should it be? Same question for foreman-rake bootdisk:generate:generic I couldn't find anything in --help or man pages about this.
Thanks David for putting all related info at one place.. I spent some time around this feature.. As doc says: we can generate 3 types of boot disks.. - Host specific image - Full host image - Generic image Note: ==== - Before generating any of these images, the selected subnet should be defined with gateway and primary DNS, otherwise UI will throw an error. - Also, before generating 'Full Host image', registered host should be set in build mode otherwise we will get an error -- "Oops, we're sorry but something went wrong" ERF42-2893 [Foreman::Exception]: Host is not in build mode, so the template cannot be rendered -- Ideally, error should be raised on same host details page and UI should not throw "Oops, we're sorry but something went wrong" message. BZ filed: https://bugzilla.redhat.com/show_bug.cgi?id=1207616
In general, I feel that we should also document the next steps. Let's say user has generated the boot disk images, now what all steps are required to provision/create hosts using these images ? Just a suggestion. Also, If user wants to provision the host with any of these images (Generic/host-specific/Full host), the host must be first defined in sat6. Few assumptions based on my testing: =================================== - when you want to provision a host with 'Generic Image", first define that Host in Sat6 and then boot the host with created bootdisk ISO. In this case dhcp server is required. - when you want to provision a host with "Host specific image" then add the host in Sat6 with same mac that was tied to registered-host while creating bootdisk. In this case no dhcp is required. - when you want to provision a host with "Full host image" then first the registered host should be set in build mode. In this case dhcp server is required.
One more thing here.. In docs we have mentioned that: -- To permit access to images for non-administrative users, add the "Boot disk access" role to a user or add the "download_bootdisk" permission to an existing role. -- So user who has "Boot disk access" role assigned, can't actually download the bootdisk. So user should have 'view_host' permission too. Otherwise, user will get permission denied error. Also "download_bootdisk" permission won't work without 'view_host'. I raised a Bz to update the "Boot disk access" role itself with 'view_host' permission. https://bugzilla.redhat.com/show_bug.cgi?id=1207957 But if for some reason, we don't update the "Boot disk access" role with 'view_host' then this needs to be documented. Thanks
(In reply to Sachin Ghai from comment #25) > In general, I feel that we should also document the next steps. Let's say > user has generated the boot disk images, now what all steps are required to > provision/create hosts using these images ? Just a suggestion. > > Also, If user wants to provision the host with any of these images > (Generic/host-specific/Full host), the host must be first defined in sat6. > > Few assumptions based on my testing: > =================================== > > - when you want to provision a host with 'Generic Image", first define that > Host in Sat6 and then boot the host with created bootdisk ISO. In this case > dhcp server is required. > > - when you want to provision a host with "Host specific image" then add the > host in Sat6 with same mac that was tied to registered-host while creating > bootdisk. In this case no dhcp is required. > > - when you want to provision a host with "Full host image" then first the > registered host should be set in build mode. In this case dhcp server is > required. Thanks Sachin, I had pretty much the same question in my personal notes: "Now what?" I didn't/couldn't really do much else until I could successfully create boot disks, so hopefully I'll be able to add that shortly. Thanks for all the details.
This has been descoped from 6.1. Pushing to 6.2
(In reply to David O'Brien from comment #29) > This has been descoped from 6.1. Pushing to 6.2 It seems this is going into 6.1 after all.
QA FINAL REMARKS: The table formatting is bad. "Reservatio-n" word is broken badly. "Operating System Specific" could be "OS Specific" which could save one extra line. In the Prerequisities add the following: Host and Generic image types are based on iPXE technology which supports differend pool of hardware drivers than PXELinux. For the list of supported hardware visit http://ipxe.org/appnote/hardware_drivers. If you encounter issues with iPXE, Full host image contains built-in kernel and RAM disk and it can load on any kind of network card, including those without PXE support. Correction: 6.2.2.2. Creating Full Host Images Full host images are similar to host-specific images, but instead of chain loading from Satellite, these images contain the initial operating system boot loader *and Anaconda installer as well*. This is useful for hosts that fail to chain load, but the downside is that the image may become out of date if the host operating system, boot loader, or templates change. *FULL STOP* This is not valid: "or if build tokens are required and they expire" Side note: Never provide "dd if=fqdn.iso of=/dev/sdb" command, it is too dangerous. I'd suggest just "dd if=fqdn.iso of=/dev/sdX" which does not exist. LOOKS GOOD!