Bug 1185431 - foreman boot disk not documented
Summary: foreman boot disk not documented
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Deadline: 2015-04-03
Product: Red Hat Satellite
Classification: Red Hat
Component: Docs Provisioning Guide
Version: Unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: Unspecified
Assignee: David O'Brien
QA Contact: Lukas Zapletal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-23 17:40 UTC by Skip Paul
Modified: 2019-09-26 14:53 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-03 07:16:21 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Skip Paul 2015-01-23 17:40:24 UTC
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:

Comment 1 RHEL Program Management 2015-01-23 17:43:49 UTC
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.

Comment 5 David O'Brien 2015-02-16 06:01:26 UTC
Cleaning up flags for easier reporting.

Comment 6 RHEL Program Management 2015-02-16 06:03:16 UTC
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.

Comment 8 David O'Brien 2015-03-18 05:30:46 UTC
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

Comment 9 David O'Brien 2015-03-18 05:53:41 UTC
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.

Comment 10 Justin Sherrill 2015-03-20 13:55:51 UTC
- 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).

Comment 11 Justin Sherrill 2015-03-20 13:56:22 UTC
Forgot to mention, ipxe-bootimgs is also a dependency of the bootdisk package, so it is installed by default too.

Comment 12 Justin Sherrill 2015-03-20 14:05:02 UTC
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.

Comment 18 David O'Brien 2015-03-26 03:37:14 UTC
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

Comment 19 David O'Brien 2015-03-26 06:31:47 UTC
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?

Comment 21 David O'Brien 2015-03-27 04:02:43 UTC
(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.

Comment 24 Sachin Ghai 2015-04-01 05:29:51 UTC
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

Comment 25 Sachin Ghai 2015-04-01 05:37:19 UTC
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.

Comment 27 Sachin Ghai 2015-04-01 06:16:48 UTC
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

Comment 28 David O'Brien 2015-04-01 07:12:46 UTC
(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.

Comment 29 David O'Brien 2015-04-09 00:08:43 UTC
This has been descoped from 6.1. Pushing to 6.2

Comment 30 David O'Brien 2015-04-13 05:12:18 UTC
(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.

Comment 32 RHEL Program Management 2015-04-21 16:06:42 UTC
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.

Comment 39 Lukas Zapletal 2015-06-02 07:51:16 UTC
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!


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