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

VMware: OVF template changes to support the vSphere CSI driver #1554

Merged
merged 3 commits into from
May 4, 2021

Conversation

zmrow
Copy link
Contributor

@zmrow zmrow commented May 3, 2021

Issue number:
N/A

Description of changes:
These changes to the OVF template file are meant to support the vSphere CSI driver prerequisites. Additional details are in the commit messages below:

 The vSphere CSI driver requires that the hardware version for VMs is at
 least 15.  This commit updates the value in the OVF template.
The vSphere CSI driver requires that the `disk.EnableUUID` parameter be set to
TRUE.  This is necessary so VMDKs always present a consistent UUID to the VM so
it is properly mounted.
The vSphere CSI driver recommends the VMware Paravirtual SCSI
controller, and uses SCSI when attaching disks to VMs.  We observed the
BIOS prioritizes SCSI over NVME, so if a SCSI drive was attached using
this CSI driver and the machine was rebooted, it would attempt to boot
via the SCSI drive which obviously won't work.  This change forces the
BIOS to prioritize hdd nvme0:1 first

Testing done:

  • Added a SCSI drive to a vmware-k8s-1.20 node, booted to BIOS and observed the SCSI device comes before NVME in the boot order. Exited BIOS and the machine fell through to PXE, failing to boot.
  • Added an OVA containing this change, attached a SCSI drive to it, booted the node to BIOS and observed that NVME came before SCSI in the boot order. Exited BIOS and observed the machine boot.

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

zmrow added 3 commits May 3, 2021 23:32
The vSphere CSI driver requires that the hardware version for VMs is at
least 15.  This change updates the value in the OVF template.
The vSphere CSI driver requires that the `disk.EnableUUID` parameter be set to
TRUE.  This is necessary so VMDKs always present a consistent UUID to the VM so
it is properly mounted.
The vSphere CSI driver recommends the VMware Paravirtual SCSI
controller, and uses SCSI when attaching disks to VMs.  We observed the
BIOS prioritizes SCSI over NVME, so if a SCSI drive was attached using
this CSI driver and the machine was rebooted, it would attempt to boot
via the SCSI drive which obviously won't work.  This change forces the
BIOS to prioritize hdd nvme0:1 first.
@zmrow zmrow requested review from bcressey and etungsten May 3, 2021 23:51
@zmrow zmrow changed the title VMware: OVF template changest to support the vSphere CSI driver VMware: OVF template changes to support the vSphere CSI driver May 4, 2021
@zmrow zmrow merged commit 3d082d8 into bottlerocket-os:develop May 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants