Bootdisk » History » Version 5
Stephen Benjamin, 04/09/2015 11:12 AM
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 | * New host from 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 | * iPXE Boots off Foreman |
||
58 | * 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 |