Skip to content

Commit c7eeabe

Browse files
committed
Distinguish between HTTP booting stages
During network based provisioning, there are two stages where either TFTP or HTTP(S) can be used: fetching the boot loader and fetching installation files such as Linux kernel and initrd. Both were partly mixed, partly incomplete, and instructions were ambiguous or did not work.
1 parent b2ea39f commit c7eeabe

12 files changed

+116
-50
lines changed

guides/common/assembly_provisioning-requirements.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ include::modules/con_pxe-booting-requirements.adoc[leveloffset=+2]
1010

1111
include::modules/con_http-booting.adoc[leveloffset=+1]
1212

13-
include::modules/con_http-booting-requirements-with-managed-dhcp.adoc[leveloffset=+2]
13+
include::modules/con_uefi-http-booting-requirements-with-managed-dhcp.adoc[leveloffset=+2]
1414

15-
include::modules/con_http-booting-requirements-with-unmanaged-dhcp.adoc[leveloffset=+2]
15+
include::modules/con_uefi-http-booting-requirements-with-unmanaged-dhcp.adoc[leveloffset=+2]
1616

1717
ifdef::foreman-el,katello,orcharhino[]
1818
include::modules/con_secure-boot.adoc[leveloffset=+1]

guides/common/assembly_using-network-boot-to-provision-hosts.adoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,14 @@ endif::[]
147147

148148
include::modules/proc_creating-hosts-with-pxe-boot-provisioning.adoc[leveloffset=+1]
149149

150-
include::modules/proc_configuring-smartproxy-for-uefi-http-booting.adoc[leveloffset=+1]
150+
include::modules/proc_configuring-smart-proxy-for-http-booting.adoc[leveloffset=+1]
151151

152152
include::modules/proc_creating-hosts-with-uefi-http-boot-provisioning.adoc[leveloffset=+1]
153153

154+
include::modules/proc_creating-hosts-with-boot-loader-http-boot-provisioning-by-using-web-ui.adoc[leveloffset=+1]
155+
156+
include::modules/proc_creating-hosts-with-boot-loader-http-boot-provisioning-by-using-cli.adoc[leveloffset=+1]
157+
154158
include::modules/proc_deploying-ssh-keys-during-provisioning.adoc[leveloffset=+1]
155159

156160
include::assembly_using-ipxe-to-reduce-provisioning-times.adoc[leveloffset=+1]

guides/common/modules/con_http-booting.adoc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,16 @@
33
[id="http-booting"]
44
= HTTP booting
55

6-
You can use HTTP booting to boot systems over a network using HTTP.
6+
The term HTTP booting refers to two booting stages: UEFI HTTP Boot and Boot Loader HTTP Boot.
7+
8+
UEFI HTTP booting is the process of fetching the Network Bootstrap Program (NBP) by the UEFI firmware over HTTP(S).
9+
The NBP is typically the boot loader such as GRUB2.
10+
11+
Boot loader HTTP booting is the process of fetching installation files such as kernel and initrd by the boot loader over HTTP(S).
12+
13+
In HTTP boot, files are transferred over HTTP instead of TFTP.
14+
Using this method can help reduce the booting time during host provisioning.
15+
HTTP is also more reliable for the transfer of large files, such as Live images, than TFTP.
16+
17+
You can combine them independently of each other, although your host must meet certain conditions for UEFI HTTP Boot.
18+
Boot loader HTTP Boot stage follows after UEFI HTTP Boot stage.

guides/common/modules/con_provisioning-methods-in-project.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
With {ProjectName}, you can provision hosts by using the following provisioning methods.
77

88
Network based::
9-
You can use this method with hosts that are capable of PXE booting or UEFI HTTP booting.
9+
You can use this method with hosts that are capable of PXE booting.
1010
+
1111
You must configure the necessary network booting services, such as DHCP or TFTP.
1212
When you create a host entry, you select a PXE loader that can configure DHCP options for network booting if {SmartProxy} is set up to configure the DHCP service automatically.

guides/common/modules/con_secure-boot.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[id="secure-boot"]
44
= Secure Boot
55

6-
When {Project} is installed on {EL} using `{foreman-installer}`, grub2 and shim boot loaders that are signed by Red Hat are deployed into the TFTP and HTTP UEFI Boot directory.
6+
When {Project} is installed on {EL} using `{foreman-installer}`, grub2 and shim boot loaders that are signed by Red Hat are deployed into the TFTP and HTTP Boot directory.
77
PXE loader options named "SecureBoot" configure hosts to load `shim.efi`.
88

99
On Debian and Ubuntu operating systems, the grub2 boot loader is created using the `grub2-mkimage` unsigned.

guides/common/modules/con_http-booting-requirements-with-managed-dhcp.adoc renamed to guides/common/modules/con_uefi-http-booting-requirements-with-managed-dhcp.adoc

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
:_mod-docs-content-type: CONCEPT
22

3-
[id="http-booting-requirements-with-managed-dhcp"]
4-
= HTTP booting requirements with managed DHCP
3+
[id="uefi-http-booting-requirements-with-managed-dhcp"]
4+
= UEFI HTTP booting requirements with managed DHCP
55

6-
To provision machines through HTTP booting ensure that you meet the following requirements:
6+
To provision machines through UEFI HTTP booting ensure that you meet the following requirements:
77

88
.Client requirements
9-
For HTTP booting to work, ensure that your environment has the following client-side configurations:
9+
For UEFI HTTP booting to work, ensure that your environment has the following client-side configurations:
1010

11-
* All the network-based firewalls are configured to allow clients on the subnet to access the {SmartProxy}.
11+
* Your host is capable of booting HTTP(S) over its network interface.
12+
* All the network-based firewalls are configured to allow hosts on the subnet to access the {SmartProxy}.
1213
For more information, see xref:common/modules/con_networking-considerations-in-project.adoc#networking-considerations-in-{project-context}[].
13-
* Your client has access to the DHCP and DNS servers.
14-
* Your client has access to the HTTP UEFI Boot {SmartProxy}.
14+
* Your host has access to the DHCP and DNS servers.
15+
* Your host has access to the HTTP Boot {SmartProxy}.
1516

1617
.Network requirements
1718
* Optional: If the host and the DHCP server are separated by a router, configure the DHCP relay agent and point to the DHCP server.
1819

1920
.{Project} requirements
20-
Although TFTP protocol is not used for HTTP UEFI Booting, {Project} uses TFTP {SmartProxy} API to deploy boot loader configuration.
21+
Although TFTP protocol is not used for UEFI HTTP Booting, {Project} uses TFTP {SmartProxy} API to deploy the boot loader.
2122

22-
For HTTP booting to work, ensure that {Project} has the following configurations:
23+
For UEFI HTTP booting to work, ensure that {Project} has the following configurations:
2324

2425
* Both {ProjectServer} and {SmartProxy} have DNS configured and are able to resolve provisioned host names.
2526
* The UDP ports 67 and 68 are accessible by the client so that the client can send and receive a DHCP request and offer.

guides/common/modules/con_http-booting-requirements-with-unmanaged-dhcp.adoc renamed to guides/common/modules/con_uefi-http-booting-requirements-with-unmanaged-dhcp.adoc

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
:_mod-docs-content-type: CONCEPT
22

3-
[id="http-booting-requirements-with-unmanaged-dhcp"]
4-
= HTTP booting requirements with unmanaged DHCP
3+
[id="uefi-http-booting-requirements-with-unmanaged-dhcp"]
4+
= UEFI HTTP booting requirements with unmanaged DHCP
55

6-
To provision machines through HTTP booting without managed DHCP ensure that you meet the following requirements:
6+
To provision machines through UEFI HTTP booting without managed DHCP ensure that you meet the following requirements:
77

88
.Client requirements
9-
* HTTP UEFI Boot URL must be set to one of:
10-
** `\http://{smartproxy-example-com}:8000`
11-
** `\https://{smartproxy-example-com}:{smartproxy_port}`
9+
* Your client is capable of booting HTTP(S) over its network interface.
1210
* Ensure that your client has access to the DHCP and DNS servers.
13-
* Ensure that your client has access to the HTTP UEFI Boot {SmartProxy}.
11+
* Ensure that your client has access to the HTTP Boot {SmartProxy}.
1412
* Ensure that all the network-based firewalls are configured to allow clients on the subnet to access the {SmartProxy}.
1513
For more information, see xref:common/modules/con_networking-considerations-in-project.adoc#networking-considerations-in-{project-context}[].
1614

guides/common/modules/con_using-network-boot-to-provision-hosts.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ After the operating system has been installed, the host registers to {Project} a
1010
.BIOS and UEFI interfaces
1111
Both BIOS and UEFI interfaces work as interpreters between the operating system and firmware of a computer, initializing hardware components and starting the operating system at boot time.
1212
With {Project}, you can perform both BIOS and UEFI based PXE provisioning.
13-
For UEFI interfaces with an HTTP boot client, you can also perform UEFI HTTP provisioning.
13+
For UEFI interfaces with an HTTP boot client, you can also perform UEFI HTTP booting.
1414

1515
.UEFI Secure Boot
1616
{ProjectName} supports host provisioning with UEFI Secure Boot.

guides/common/modules/proc_configuring-smartproxy-for-uefi-http-booting.adoc renamed to guides/common/modules/proc_configuring-smart-proxy-for-http-booting.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
:_mod-docs-content-type: PROCEDURE
22

3-
[id="configuring-{smart-proxy-context}-for-uefi-http-booting"]
4-
= Configuring {SmartProxy} for UEFI HTTP booting
3+
[id="configuring-{smart-proxy-context}-for-http-booting"]
4+
= Configuring {SmartProxy} for HTTP booting
55

6-
You can provision hosts from {Project} by using the UEFI HTTP Boot if the hosts have this capability.
7-
Configure your {SmartProxy} for UEFI HTTP booting.
6+
Configure your {SmartProxy} for HTTP booting if you want to use UEFI HTTP Boot, Boot Loader HTTP Boot, or both.
87

98
.Prerequisites
109
* Ensure that your environment meets the requirements for HTTP booting.
@@ -38,3 +37,4 @@ endif::[]
3837
[role="_additional-resources"]
3938
.Next steps
4039
* xref:creating-hosts-with-uefi-http-boot-provisioning[]
40+
* xref:creating-hosts-with-boot-loader-http-boot-provisioning-by-using-web-ui[]
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
:_mod-docs-content-type: PROCEDURE
2+
3+
[id="creating-hosts-with-boot-loader-http-boot-provisioning-by-using-cli"]
4+
= Creating hosts with Boot Loader HTTP boot provisioning by using CLI
5+
6+
You can provision hosts from {Project} by using the Boot Loader HTTP Boot.
7+
8+
The boot loader of the host fetches the installation files over HTTP(S).
9+
10+
.Prerequisites
11+
* Your {SmartProxy} has been configured for HTTP booting.
12+
For more information, see xref:configuring-{smart-proxy-context}-for-http-booting[].
13+
14+
.Procedure
15+
. Create a host:
16+
+
17+
[options="nowrap" subs="+quotes"]
18+
----
19+
$ hammer host create \
20+
--build true \
21+
--enabled true \
22+
--hostgroup "_My_Host_Group_" \
23+
--location "_My_Location_" \
24+
--mac "_My_MAC_Address_" \
25+
--managed true \
26+
--name "_My_Host_Name_" \
27+
--organization "_My_Organization_" \
28+
--parameters default_grub_install_entry=efi_http \
29+
--pxe-loader "Grub2 UEFI"
30+
----
31+
. Configure the network interface:
32+
+
33+
[options="nowrap" subs="+quotes"]
34+
----
35+
$ hammer host interface update \
36+
--host "_My_Host_Name_" \
37+
--managed true \
38+
--primary true \
39+
--provision true
40+
----

0 commit comments

Comments
 (0)