Bug 1584675 - [RFE] ISO provisioning documentation is incomplete
Summary: [RFE] ISO provisioning documentation is incomplete
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Documentation
Version: 5.9.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: GA
: 5.9.4
Assignee: Chris Budzilowicz
QA Contact: Jan Zmeskal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-31 12:37 UTC by Jan Zmeskal
Modified: 2020-03-26 17:32 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-26 17:32:32 UTC
Category: ---
Cloudforms Team: CFME Core
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jan Zmeskal 2018-05-31 12:37:49 UTC
Document URL:
https://access.redhat.com/documentation/en-us/red_hat_cloudforms/4.6/html-single/provisioning_virtual_machines_and_hosts/#customization-templates-for-virtual-machine-and-instance-provisioning

Section Number and Name:
2.5. Customization Templates for Virtual Machine and Instance Provisioning, subchapter Kickstart Requirements for ISO Provisioning

Describe the issue:
I generally believe that the amount of information in this section of documentation is insufficient. I say it from a perspective of a person who never used ISO provisioning in CFME, but used installation via Kickstart before. So, here are the problems I identified with this particular section.

1) Is it possible to use ISO provisioning feature without providing customization template? Let's say I have a RHEL7 ISO that has ks.cfg file in its root. In that file, everything I need is already specified and I don't need to change anything, just provision it as it is. Information as to if this is supported or not is conflicting. On one hand, chapter 2.4 in its introduction says that "Create a customization template step" is one of the requirements. On the other hand, when I tried to provision VM in such a way (without providing any customization template), I was allowed do do it but the request failed. Now I don't know if the failure was a product bug or I just used the product in a way that I was not supposed to.

2) There should be an example of how to actually provision VM from ISO. All the steps described in parts 2.4.1 to 2.4.4 are a guide how to achieve what you need and they are very precise and specific. Then abruptly, in part 2.5, quite a complicated issue is reduced to few sentences.

Now I will go through the points in subchapter "Kickstart Requirements for ISO Provisioning".

3) It says "The Kickstart file must be named ks.cfg." This is completely unclear information. What Kickstart file? Is it already located on the used ISO? Are we as users supposed to put it there? Where is it located or where should I put it? Now I have used Kickstart before. I ASSUME that by this sentence you mean to say: "In the used ISO, there must be a file named ks.cfg in the root of file system because that's where Kickstart looks." But that's only my assumption, since the sentence is very ambiguous. 

4) "Set the new virtual machine to power down after provisioning is complete." I have to say it took me quite some time to figure out how to do that. I suppose you want user to uncheck "Power on virtual machines after creation" on Schedule tab in VM provisioning dialog.

5) "CloudForms must use the virtual machine payload feature of Red Hat Virtualization to create a floppy disk containing the data from the selected customization template." So I am completely confused about this. Is that something I must set up in RHV or CFME? Is it used by default or do I have to activate it? In some configuration file or in UI? How do I verify that this is indeed used? Is it automatically available since some particular version? I still have no idea what does that mean since the only info I found about this feature is this: https://www.ovirt.org/develop/release-management/features/virt/vmpayload/

6) "Customize the installer to include the data written to the floppy disk payload." What floppy disk payload? It has never been mentioned before.  What is meant by installer? Is that the ks.cfg file?

What follows is Example 2.1 - RHEL ISO with the following modifications. I also have some comments to this. 

7) "isolinux.cfg – add ks=cdrom to the append line". This is also quite unclear. Try downloading RHEL7 ISO image, mounting it and doing this: 
$ grep "append" isolinux/isolinux.cfg 
This is what you'll get:
append initrd=initrd.img inst.stage2=hd:LABEL=rhel74 quiet ks=cdrom
append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.4\x20Server.x86_64 rd.live.check quiet
append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.4\x20Server.x86_64 xdriver=vesa nomodeset quiet
append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.4\x20Server.x86_64 rescue quiet
It might be this or something similar. My point is that there may be four append lines. This sentence does not tell the user which one is the correct one.

8) "ks.cfg – which must minimally include". So I suppose that here you mean ks.cfg file that is already present on ISO image when we try to provision VM from it. If that is the case, please specify it. Also, the section is called example. However it seems to me that the ks.cfg must include LITERALLY those lines. If that's the case, it's not really an example, but precise instruction.

9) Last line of the example code goes like this:
%include /tmp/floppy/ks.cfg
This is kind of confusing. I though that the text in the example should be placed into file called ks.cfg. I ASSUME that /tmp/floppy/ks.cfg will actually include content provided in customization template. If that's the case, please say so in the documentation.

Suggestions for improvement: 
1) Please, tell the user explicitly whether a customization template is required or not. If it is required, it should not be possible to schedule ISO provisioning without a customization template specified. If it is not required, it should  be listed only as an optional requirement. 

2) Provide step-by-step guide building on what has been established in part 2.4.

3) Please, specify very precisely which Kickstart file you mean by that sentence. On which media and in which path it is located. Also it might be good idea to reference this: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-howto if what I assume in point 3 is correct.

4) If what I assume is correct, please tell user exactly what to do and where to find such option.

5) Please go into some details about this. I have no idea what does that mean.

6) Pretty much the same comment as with point 3.

7) Again, please be more specific.

Additional information: 
ISO provisioning in CFME in somewhat complex topic and there are only few sentences in the documentation. I really think that step-by-step guide would be proper there. Especially given that some less complicated processes are provided as step-by-step guide in other parts of documentation. If that's too much to ask, please, be at least much more specific in the points that you provide. At this point, I think it's close to impossible for non-expert CFME user to successfully complete this procedure. Thank you.

Comment 6 Andrew Dahms 2018-06-22 00:22:43 UTC
Assigning to Chris for review.

Comment 9 Chris Budzilowicz 2018-07-05 19:03:11 UTC
Hi John, I'm working on this at the moment and hope to have some draft text in from of an SME in two weeks time. If you have any resources to consult/review that would be tremendously helpful.

Comment 13 Jan Zmeskal 2018-08-03 07:20:41 UTC
I am in touch with Chris via e-mails and I'll provide my feedback on his new document ASAP.

Jan

Comment 18 Jan Zmeskal 2018-08-07 13:08:28 UTC
Hi Chris, 

I provided my thoughts as in-line comments in the PR. However, I cannot fully verify it at the moment. The problem is described in this bug I found: https://bugzilla.redhat.com/show_bug.cgi?id=1613326
It prevents from actually finishing the ISO provisioning process.

Jan


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