From 840c982996e9d89c04e880487714a94345f2182c Mon Sep 17 00:00:00 2001 From: Kathryn Alexander Date: Wed, 29 May 2019 11:07:06 -0400 Subject: [PATCH] bug 1713125 adding pxe booting --- .../installing-bare-metal.adoc | 11 +- .../installation-user-infra-machines-iso.adoc | 4 +- .../installation-user-infra-machines-pxe.adoc | 105 ++++++++++++++++++ 3 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 modules/installation-user-infra-machines-pxe.adoc diff --git a/installing/installing_bare_metal/installing-bare-metal.adoc b/installing/installing_bare_metal/installing-bare-metal.adoc index 4d10bf7197..66ecb1f646 100644 --- a/installing/installing_bare_metal/installing-bare-metal.adoc +++ b/installing/installing_bare_metal/installing-bare-metal.adoc @@ -36,7 +36,16 @@ include::modules/installation-bare-metal-config-yaml.adoc[leveloffset=+2] include::modules/installation-generate-ignition-configs.adoc[leveloffset=+1] -include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+1] +[id="creating-machines-bare-metal"] +== Creating {op-system-first} machines + +Before you install a cluster on bare metal infrastructure that you provision, +you must create {op-system} machines for it to use. Follow either the steps +to use an ISO image or network PXE booting to create the machines. + +include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+2] + +include::modules/installation-user-infra-machines-pxe.adoc[leveloffset=+2] include::modules/installation-installing-bare-metal.adoc[leveloffset=+1] diff --git a/modules/installation-user-infra-machines-iso.adoc b/modules/installation-user-infra-machines-iso.adoc index 5a3ba538c1..5daa6390d2 100644 --- a/modules/installation-user-infra-machines-iso.adoc +++ b/modules/installation-user-infra-machines-iso.adoc @@ -2,7 +2,7 @@ // // * installing/installing_bare_metal/installing-bare-metal.adoc -[id=" installation-user-infra-machines-iso_{context}"] +[id="installation-user-infra-machines-iso_{context}"] = Creating {op-system-first} machines using an ISO image Before you install a cluster on bare metal infrastructure that you provision, @@ -81,5 +81,5 @@ specified. ==== You must create the boostrap and control plane machines at this time. Because some pods are deployed on compute machines by default, also create at least two -compute machine before you install the cluster. +compute machines before you install the cluster. ==== diff --git a/modules/installation-user-infra-machines-pxe.adoc b/modules/installation-user-infra-machines-pxe.adoc new file mode 100644 index 0000000000..8d1b4e3049 --- /dev/null +++ b/modules/installation-user-infra-machines-pxe.adoc @@ -0,0 +1,105 @@ +// Module included in the following assemblies: +// +// * installing/installing_bare_metal/installing-bare-metal.adoc + +[id="installation-upi-machines-pxe-{context}"] += Creating {op-system-first} machines by PXE or iPXE booting + +Before you install a cluster on bare metal infrastructure that you provision, +you must create {op-system} machines for it to use. You can use PXE or iPXE +booting to create the machines. + +.Prerequisites + +* Obtain the Ignition config files for your cluster. +* Configure suitable PXE or iPXE infrastructure. +* Have access to an HTTP server that you can access from your computer. + +.Procedure + +. Upload the master, worker, and bootstrap Ignition config files that the +installation program created to your HTTP server. Note the URLs of these files. + +. Obtain the {op-system} ISO image, compressed metal BIOS, `kernel` +and `initramfs` files from the +link:https://access.redhat.com/downloads[Product Downloads] page on the Red +Hat customer portal or the +link:https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.1/[{op-system} image mirror]. ++ +The file names contain the {product-title} version number and file upload date. +They resemble the following examples: + +** ISO: `rhcos---installer.iso` +** Compressed metal BIOS: `rhcos---metal-bios.raw.gz` +** `kernel`: `rhcos---installer-kernel` +** `initframs`: `rhcos---installer-initramfs.img` + +. Upload the compressed metal BIOS file and the `kernel` and `initramfs` files +to your HTTP server. + +. Configure the network boot infrastructure so that the machines boot from their +local disks after {op-system} is installed on them. + +. Configure PXE or iPXE installation for the {op-system} images. ++ +Modify one of the following example menu entries for your environment and verify +that the image and Ignition files are properly accessible: +** For PXE: ++ +---- +DEFAULT pxeboot +TIMEOUT 20 +PROMPT 0 +LABEL pxeboot + KERNEL http:///rhcos---installer-kernel <1> + APPEND ip=dhcp rd.neednet=1 initrd=http:///rhcos---installer-initramfs.img console=tty0 console=ttyS0 coreos.inst=yes coreos.inst.install_dev=sda coreos.inst.image_url=http:///rhcos---metal-bios.raw.gz coreos.inst.ignition_url=http:///bootstrap.ign +---- +<1> Specify the location of the `kernel` file that you uploaded to your HTTP +server. +<2> Specify locations of the {op-system} files that you uploaded to your +HTTP server. The `initrd` parameter value is the location of the `initramfs` file, +the `coreos.inst.image_url` parameter value is the location of the compressed +metal BIOS file, and the `coreos.inst.ignition_url` parameter value is the +location of the bootstrap Ignition config file. + +** For iPXE: ++ +---- +kernel http:///rhcos---installer-kernel ip=dhcp rd.neednet=1 initrd=http:///rhcos---installer-initramfs.img console=tty0 console=ttyS0 coreos.inst=yes coreos.inst.install_dev=sda coreos.inst.image_url=http:///rhcos---metal-bios.raw.gz coreos.inst.ignition_url=http:///bootstrap.ign <1> +initrd http:///rhcos---installer-initramfs.img <2> +boot +---- +<1> Specify locations of the {op-system} files that you uploaded to your +HTTP server. The `kernel` parameter value is the location of the `kernel` file, +the `initrd` parameter value is the location of the `initramfs` file, +the `coreos.inst.image_url` parameter value is the location of the compressed +metal BIOS file, and the `coreos.inst.ignition_url` parameter value is the +location of the bootstrap Ignition config file. +<2> Specify the location of the `initramfs` file that you uploaded to your HTTP +server. + +. If you use UEFI, edit the included `grub.conf` file that is included in the +ISO that you downloaded to include the following installation options: ++ +---- +menuentry 'Install Red Hat Enterprise Linux CoreOS' --class fedora --class gnu-linux --class gnu --class os { + linux /images/vmlinuz nomodeset rd.neednet=1 coreos.inst=yes coreos.inst.install_dev=sda coreos.inst.image_url=http:///rhcos---metal-bios.raw.gz coreos.inst.ignition_url=http:///bootstrap.ign <1> + initrd http:///rhcos---installer-initramfs.img <2> +} +---- +<1> For the `coreos.inst.image_url` parameter value, specify the location of +the compressed metal UEFI file that you uploaded to your HTTP server. For the +`coreos.inst.ignition_url`, specify the location of the bootstrap Ingition +config file that you uploaded to your HTTP server. +<2> Specify the location of the `initramfs` file that you uploaded to your HTTP +server. + +. Continue to create the machines for your cluster. ++ +[IMPORTANT] +==== +You must create the boostrap and control plane machines at this time. Because +some pods are deployed on compute machines by default, also create at least two +compute machine before you install the cluster. +==== +