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

Update linux-common role to support Infiniband netdevs #230

Merged
merged 45 commits into from
Oct 24, 2024

Conversation

tomclark0
Copy link
Contributor

Introduces a linux-common role, used by all linux based images for changes from default source images.

This role is initially used to provide InfiniBand support using inbox drivers from the relevant distro.
It may later be serve other uses cases where additional packages are required as a baseline, e.g for diagnostic uses.

The default cloud-init network config renderer for Ubuntu (netplan) does not support InfiniBand type devices. To mitigate this, the renderer priority list is changed to match EL9 distros.

The required package for InfiniBand inbox drivers in Ubuntu is kernel-module-extra-$(uname -r). This is a per-kernel package, i.e any kernel update requires the explicit installation of the new version.
To support kernel updates within an image, the linux-generic metapackage is used to provide tracking across kernel versions.

EL9 based distros require only additional packages and module loading.

@tomclark0 tomclark0 requested review from mkjpryor and a team as code owners July 30, 2024 10:53
mkjpryor and others added 24 commits October 10, 2024 10:46
* Allow image builds to run on other clouds

* Update zenith tag

* Add support for specifying a volume type
* Update to use linux-ansible-init role from Galaxy and remove in-repo

* Update requirements.yml

add external ansible-init to requirements

* Update main.yml

update ansible-init dependency for linux-webconsole

* Update main.yml

* Update main.yml

* Update main.yml

* Update requirements.yml

* Use ansible-init from image_utils collection

* bump azimuth-image-utils release

* verbose linux-rstudio.pkr.hcl

* verbose linux-rstudio.pkr.hcl

* image-utils 0.2.0

* Update linux-rstudio.pkr.hcl

---------

Co-authored-by: bertie <[email protected]>
* Move common tasks into a shared linux-common role

* Update Trivy action version

* Remove isolate command to prevent ansible-init from running
@tomclark0 tomclark0 changed the title Introduce linux-common role + Support Infiniband netdevs Update linux-common role to support Infiniband netdevs Oct 11, 2024
@tomclark0
Copy link
Contributor Author

Changing the renderer without changing the activator led to the network interface bouncing after network-online.target is reached.
For services that launch after network-online.target this can be problematic.

Copy link
Collaborator

@mkjpryor mkjpryor left a comment

Choose a reason for hiding this comment

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

We currently only support Ubuntu-based images with this code, so having all the os_family constraints (and the Red Hat install task) is currently unnecessary. I don't think this is likely to change in the near future.

ansible/roles/linux-common/tasks/main.yml Outdated Show resolved Hide resolved
ansible/roles/linux-common/tasks/main.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@mkjpryor mkjpryor left a comment

Choose a reason for hiding this comment

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

LGTM

@mkjpryor mkjpryor merged commit 624f8e3 into main Oct 24, 2024
12 of 13 checks passed
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.

4 participants