Project

General

Profile

Bootdisk » History » Version 7

Stephen Benjamin, 04/14/2015 03:09 PM

1 1 Stephen Benjamin
h1. Bootdisk
2
3
h2. Requirements
4
5
https://trello.com/c/to0NYlGk/7-using-discovery-without-dhcp-2
6
7
I would like a boot disk option that provides the following:
8
9
* A single ISO that allows me to provision a system against any configured hostgroup on the Satellite.
10
* The ISO would not require me to pre-create a host in Satellite.
11
* The ISO would allow me to provide a user provided IP address or use DHCP to find the Satellite server.
12
* The ISO will be generated on the Satellite
13
* The ISO will provide a means to provision via a Capsule
14
* The functionality to generate the ISO will be exposed via the API, UI & CLI.
15
* Functionality to provide a local IP and VLAN to the target host
16
17
h2. Approaches
18
19
h3. Bootdisk
20
21 5 Stephen Benjamin
In the bootdisk approach, the Generic bootdisk provides a menu like below.
22 1 Stephen Benjamin
23 5 Stephen Benjamin
When the user first boots, they have the option for configuring DHCP or manually entering network configuration.
24
25 1 Stephen Benjamin
!bootdisk.png!
26
27 5 Stephen Benjamin
Manual network configuration:
28
29
!network.png!
30
31
After configuring network, you can select from the main menu:
32
33
* Existing host record (traditional generic bootdisk)
34 6 Stephen Benjamin
* New host from host group
35 2 Stephen Benjamin
* The provisioning URL can be customized, for example, if DNS is not available and you need to use an IP
36
37 5 Stephen Benjamin
!main.png!
38 1 Stephen Benjamin
39 5 Stephen Benjamin
If creating a new host, iPXE chain loads the host group menu off of the Foreman server.
40
41 2 Stephen Benjamin
*Workflow*
42
43
They are prompted for a host name:
44
45 5 Stephen Benjamin
!hostname.png!
46 2 Stephen Benjamin
47 1 Stephen Benjamin
And then hostgroup, and (if enabled) organization, and location:
48 2 Stephen Benjamin
49
!hostgroup.png!
50
51
!org_select.png!
52
53
!loc_select.png!
54 1 Stephen Benjamin
55 5 Stephen Benjamin
Finally the user confirms the selections and:
56 2 Stephen Benjamin
57 7 Stephen Benjamin
* iPXE sends the options to Foreman
58 2 Stephen Benjamin
* Foreman creates the new Host, and runs orchestration
59
* Server boots vmlinuz/initrd
60
* Loads kickstart
61
* Provisions as normal
62 5 Stephen Benjamin
63
!boot.png!
64 2 Stephen Benjamin
65 3 Stephen Benjamin
66 2 Stephen Benjamin
*This is ridiculously insecure, because we're running orchestration with access to services like DNS, Realm, Puppet, etc*  
67
68
Options:
69
70 3 Stephen Benjamin
* Have bootdisk ask for login
71
** Only supports HTTP (plaintext)
72 4 Stephen Benjamin
** Foreman if SSL is enabled does not allow HTTP login
73 1 Stephen Benjamin
** Discovery, in its full RHEL environment, could do this
74 4 Stephen Benjamin
* Tokens
75 2 Stephen Benjamin
** Have a bootdisk wizard that lets a user generate a bootdisk image with embedded tokens, that give access only to specific host groups/orgs/locations
76
77
78 1 Stephen Benjamin
79
h3. Discovery