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

Move to AL2023 #5

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Move to AL2023 #5

wants to merge 10 commits into from

Conversation

ebeaty-cisco
Copy link
Contributor

@ebeaty-cisco ebeaty-cisco commented Dec 9, 2024

Update xrd-packer to use AL2023 base image.

Changes:

  • Switch from yum to dnf
  • Move TuneD forward to latest stable and remove Python2 dependencies
  • Use grubby instead of TuneD bootloader plugin
  • Update documentation

Testing:

  • Verified host tuning in image using tuned verify, host-check and manual checking of hugepages/isolcpus (including on multi-numa)
  • Ran VPET throughput and functionality suites (for vRouter)

@ebeaty-cisco ebeaty-cisco changed the title Dev/ebeaty al23 Move to AL2023 Dec 11, 2024
@ebeaty-cisco ebeaty-cisco marked this pull request as ready for review December 11, 2024 15:41
README.md Outdated
@@ -70,13 +70,23 @@ Additionally, to ensure the worker node joins an EKS cluster, the normal
EKS bootstrap script must be called.

It's recommended to set this up in the User Data for the EC2 instance
to ensure it's run on first boot. An example user data for this is:
to ensure it's run on first boot. An example section fo this in a MIME

Choose a reason for hiding this comment

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

Suggested change
to ensure it's run on first boot. An example section fo this in a MIME
to ensure it's run on first boot. An example section of this in a MIME

README.md Show resolved Hide resolved

# Add boot cmdline args
non_isolated_cores=$(/etc/xrd/get_non_isolated_cores.sh $ISOLATED_CORES)
grubby --update-kernel ALL --args "nohz_full=${ISOLATED_CORES} nohz=on skew_tick=1 intel_pstate=disable tsc=reliable nosoftlockup isolcpus=${ISOLATED_CORES} irqaffinity=${non_isolated_cores} hugepages=${boot_hugepages} rcu_nocbs=${ISOLATED_CORES} hugepagesz=1G default_hugepagesz=1G rcupdate.rcu_normal_after_boot=1"

Choose a reason for hiding this comment

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

How have you determined this is the set of required cmdline arguments? Are they following the ones which tuned generates? If so, I think it's worth having a comment here (and probably in README too) explaining that the tuned bootloader plugin does not work on EKS, but we match the cmdline args set by its realtime-virtual-guest profile (with the additional hugepage settings).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is the set added by TuneD realtime-virtual-guest with the additional arguments we previously passed to the bootloader plugin. Adding comment as suggested.

@@ -0,0 +1,92 @@
#!/usr/bin/env bash

Choose a reason for hiding this comment

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

Does this have to be bash? I imagine it would be a lot simpler if it were in python

Kubernetes_Version = var.kubernetes_version
Base_AMI_ID = "{{ .SourceAMI }}"
Base_AMI_Name = "{{ .SourceAMIName }}"
Generated_By = "xrd-packer"

Choose a reason for hiding this comment

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

Undo whitespace change?

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.

3 participants