Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSDOCS-3220: Updating Bare metal UPI installations for arm installations #41149

Merged

Conversation

@openshift-ci openshift-ci bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Jan 28, 2022
@netlify
Copy link

netlify bot commented Jan 28, 2022

✔️ Deploy Preview for osdocs ready!

🔨 Explore the source changes: 32b41ac

🔍 Inspect the deploy log: https://app.netlify.com/sites/osdocs/deploys/620a9d0804cb8600086d08ba

😎 Browse the preview: https://deploy-preview-41149--osdocs.netlify.app

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from 5f02d40 to 145c923 Compare January 28, 2022 21:38
@openshift-ci openshift-ci bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jan 28, 2022
@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from 145c923 to d6aa36e Compare January 28, 2022 22:18
@openshift-ci openshift-ci bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 1, 2022
@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch 2 times, most recently from 728cdea to a679ace Compare February 2, 2022 14:50
@openshift-ci openshift-ci bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 2, 2022
@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from a679ace to ef8ebaa Compare February 2, 2022 15:32
@@ -234,7 +234,7 @@ endif::openshift-origin[]
.User-provisioned infrastructure options
|===
ifndef::openshift-origin[]
||AWS |Azure |Azure Stack Hub |GCP |{rh-openstack} |{rh-openstack} on SR-IOV |RHV |Bare metal |vSphere |VMC |IBM Z |IBM Z with {op-system-base} KVM |IBM Power |Platform agnostic
||AWS |Azure |Azure Stack Hub |GCP |{rh-openstack} |{rh-openstack} on SR-IOV |RHV |Bare metal (x86_64) |Bare metal (ARM) |vSphere |VMC |IBM Z |IBM Z with {op-system-base} KVM |IBM Power |Platform agnostic

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When we say x86_64, then arm64 (or) aarch64 looks better.

Changes looks like:
Bare metal (x86_64) |Bare metal (arm64)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats a good point! I remember I only used that interface because thats how it looked in the infrastructure provider. I'll change that up!

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from ef8ebaa to 964ed12 Compare February 4, 2022 15:56
@aleskandro
Copy link
Member

As anticipated, we need to add the following information in the "Installing RHCOS by using PXE or iPXE booting"

  1. PXE with the pxelinux binary from syslinux is not available for the aarch64 architecture.
  2. PXE booting on ARM for CoreOS is supported by using EFI and GRUB2 as the second-stage bootloader.

An example of the grub.cfg configuration to boot CoreOS from the network is:

set timeout=5
set default=0
insmod efi_gop
insmod efi_uga
load_video
menuentry 'Install CoreOS' {
    set gfx_payload=keep
    insmod gzio
    linux  </tftp/path/to/coreos/vmlinuz> ip=dhcp** coreos.live.rootfs_url=http://http-server-host.tld/path/to/coreos/rootfs.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://http-server-host.tld/path/to/coreos/ignition.ign***
    initrd </tftp/path/to/coreos/initramfs.img>
}

**: Others ip settings at need (and rd.neednet=1 if multiple ip options are provided)
***: the ignition file to provide depends on the node flavor (i.e., worker, bootstrap, or master)

cc @jeffdyoung to double-check.

@jeffdyoung
Copy link

@aleskandro my grub.cfg is the same. I thought RHCOS supported x86 + UEFI, like RHEL:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/performing_a_standard_rhel_installation/installing-rhel-on-adm64-intel-64-and-64-bit-arm

Do you know if QE tests UEFI on x86?

@jeffdyoung
Copy link

@kelbrown20

@aleskandro and I discussed adding a new bullet point for PXE UEFI in step six here:

https://deploy-preview-41149--osdocs.netlify.app/openshift-enterprise/latest/installing/installing_bare_metal/installing-bare-metal.html#installation-user-infra-machines-pxe_installing-bare-metal

  • For PXE (x86)
  • For iPXE (x86 + arm64)
  • For PXE (with UEFI and Grub as second-stage) on ARM64
menuentry 'Install CoreOS' {
    linux rhcos-<version>-live-kernel-<architecture>  coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign 1* 2*
    initrd rhcos-<version>-live-initramfs.<architecture>.img 3*
}
  1. Specify the locations of the RHCOS files that you uploaded to your HTTP/TFTP server. The kernel parameter value is the location of the kernel file on your TFTP server. The coreos.live.rootfs_url parameter value is the location of the rootfs file, and the coreos.inst.ignition_url parameter value is the location of the bootstrap Ignition config file on your HTTP Server.
  2. If you use multiple NICs, specify a single interface in the ip option. For example, to use DHCP on a NIC that is named eno1, set ip=eno1:dhcp.
  3. Specify the location of the initramfs file that you uploaded to your TFTP server.

@aleskandro
Copy link
Member

lgtm

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from 964ed12 to 0e452b8 Compare February 8, 2022 16:43
}
----
<1> Specify the locations of the {op-system} files that you uploaded to your
HTTP/TFTP server. The `kernal` parameter value is the location of the `kernal` file on your TFTP server.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be kernel not kernal (my bad)

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from 0e452b8 to 23d677d Compare February 8, 2022 19:36
@jeffdyoung
Copy link

👍 from devel

@kelbrown20
Copy link
Contributor Author

@aleskandro Just made the changes and they can be viewed in the previews.

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from 23d677d to 5813cf6 Compare February 8, 2022 20:15
@@ -160,7 +160,7 @@ This configuration does not enable serial console access on machines with a grap
====

ifndef::only-pxe[]
** For iPXE:
** For iPXE (`x86_64` + `arm64`):
+
----
kernel http://<HTTP_server>/rhcos-<version>-live-kernel-<architecture> initrd=main coreos.live.rootfs_url=http://<HTTP_server>/rhcos-<version>-live-rootfs.<architecture>.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://<HTTP_server>/bootstrap.ign <1> <2>
Copy link
Member

@aleskandro aleskandro Feb 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @kelbrown20, I'd add another note at the end of this paragraph (just under the graphic console one) like:

Note: To network boot the CoreOS kernel on aarch64 architecture by iPXE, you need to use a version of iPXE built with the IMAGE_GZIP option enabled. See IMAGE_GZIP option in iPXE

cc: @jeffdyoung

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch 2 times, most recently from e7a8143 to 9b81bc2 Compare February 9, 2022 15:13
@jeffdyoung
Copy link

👍 from devel.. good catch @aleskandro

@kelbrown20
Copy link
Contributor Author

Just fixed up those changes in the PR and previews, thank you! Last look before I send it out for docs peer review? @jeffdyoung @aleskandro

@aleskandro
Copy link
Member

lgtm

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from 9b81bc2 to a1a9cb3 Compare February 9, 2022 19:40
@kelbrown20 kelbrown20 changed the title OSDOCS-3220: Updating Bare metal UPI installations OSDOCS-3220: Updating Bare metal UPI installations for arm installations Feb 10, 2022
@adellape adellape added this to the Future Release milestone Feb 14, 2022
endif::ibm-power[]
ifdef::ibm-power[]
link:https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/[{op-system} image mirror]
endif::ibm-power[]
page.
pages.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe move "page." and "pages." into their respective conditionals? Since they now differ singular vs plural.

@@ -32,13 +32,20 @@ You can manually install `bootupd` by using the `bootctl` command-line tool.
# bootupctl status
----
+
.Example output
.Example outputs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe make this "Example output for x86_64" and then for the new block add "Example output for arm64"?

+
[NOTE]
====
To network boot the CoreOS `kernel` on `arm64` architecture, you need to use a version of iPXE build with the `IMAGE_GZIP` option enabled. See link:https://ipxe.org/buildcfg/image_gzip[IMAGE_GZIP option in iPXE]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Period at the end.
Maybe markup IMAGE_GZIP.

@kelbrown20 kelbrown20 force-pushed the OSDOCS-3220-updates-to-bare-metal-upi branch from a1a9cb3 to 32b41ac Compare February 14, 2022 18:18
@adellape adellape added the peer-review-done Signifies that the peer review team has reviewed this PR label Feb 14, 2022
@adellape adellape merged commit b448832 into openshift:main Feb 14, 2022
@adellape
Copy link
Contributor

/cherrypick enterprise-4.10

@openshift-cherrypick-robot

@adellape: #41149 failed to apply on top of branch "enterprise-4.10":

Applying: ODSOCS-3220: Updating Bare Metal UPI installations
Using index info to reconstruct a base tree...
M	installing/installing-preparing.adoc
M	modules/installation-user-infra-machines-advanced.adoc
M	modules/installation-user-infra-machines-iso.adoc
M	modules/installation-user-infra-machines-pxe.adoc
M	modules/installation-user-infra-machines-static-network.adoc
Falling back to patching base and 3-way merge...
Auto-merging modules/installation-user-infra-machines-static-network.adoc
Auto-merging modules/installation-user-infra-machines-pxe.adoc
Auto-merging modules/installation-user-infra-machines-iso.adoc
Auto-merging modules/installation-user-infra-machines-advanced.adoc
CONFLICT (content): Merge conflict in modules/installation-user-infra-machines-advanced.adoc
Auto-merging installing/installing-preparing.adoc
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 ODSOCS-3220: Updating Bare Metal UPI installations
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherrypick enterprise-4.10

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch/enterprise-4.10 peer-review-done Signifies that the peer review team has reviewed this PR size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants