Skip to content

Add install-openchami as part of openchami-release#52

Open
erl-hpe wants to merge 1 commit intoOpenCHAMI:mainfrom
erl-hpe:add-install-openchami-tool
Open

Add install-openchami as part of openchami-release#52
erl-hpe wants to merge 1 commit intoOpenCHAMI:mainfrom
erl-hpe:add-install-openchami-tool

Conversation

@erl-hpe
Copy link
Copy Markdown
Contributor

@erl-hpe erl-hpe commented May 6, 2026

Pull Request Template

Thank you for your contribution! Please ensure the following before submitting:

Checklist

  • My code follows the style guidelines of this project
  • I have added/updated comments where needed
  • I have added tests that prove my fix is effective or my feature works
  • I have run make test (or equivalent) locally and all tests pass
  • DCO Sign-off: All commits are signed off (git commit -s) with my real name and email
  • REUSE Compliance:
    • Each new/modified source file has SPDX copyright and license headers
    • Any non-commentable files include a <filename>.license sidecar
    • All referenced licenses are present in the LICENSES/ directory

NOTE: I have taken advantage of the REUSE license sidecar mechanism for several files in this PR that are technically commentable where licensing comments would be inappropriate for one of two reasons:

  • The file is used as a template to generate a similar but not necessarily identical file as part of the deployment of OpenCHAMI and incorporating Copyright / License information into the generated file would be inconsistent with the intention of a Copyright. These files are found in the install_openchami/install_openchami/templates directory.
  • The file content is displayed by the install_openchami -b command and carrying Copyright / License information in that output is inconsistent with the intention of the command. The file in question is install_openchami/install_openchami/config/config.yaml.

Description

This PR introduces a python package that implements an OpenCHAMI installation and deployment tool derived from the procedure described in the OpenCHAMI 2025 Tutorial and the work done in the vtds-application-openchami GitHub project. This iteration of the tool provides a mechanism by which a developer can quickly deploy OpenCHAMI onto a host Virtual Machine or similar platform by invoking two simple commands and verify that OpenCHAMI deploys correctly and that a Virtual Compute Node (VM) co-resident on the OpenCHAMI Head Node will boot from OpenCHAMI and is accessible using SSH.

The motivation behind this project is twofold:

  • Provide a development tool that encourages developers contributing to OpenCHAMI to run a full, from scratch, test deployment of their changes and verify that they are working before proposing them
  • Begin the process of moving the deployment logic for OpenCHAMI that has resided in the vtds-application-openchami package, where maintenance of the mechanism as OpenCHAMI evolves is decoupled from that evolution and into the OpenCHAMI product itself where it can be naturally maintained as part of the product.

The second goal will need to be completed in a future PR where deployment onto a "real" cluster with external nodes and networks is finalized, but this places a stake in the ground allowing that work to proceed.

There is a README.md in the install_openchami sub-directory that covers the intent and use of this new feature.

Fixes #53

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

For more info, see Contributing Guidelines.

@erl-hpe erl-hpe marked this pull request as draft May 6, 2026 15:44
@erl-hpe erl-hpe force-pushed the add-install-openchami-tool branch 3 times, most recently from a37f01f to 464f834 Compare May 6, 2026 16:23
@erl-hpe erl-hpe marked this pull request as ready for review May 6, 2026 16:55
@erl-hpe erl-hpe force-pushed the add-install-openchami-tool branch 3 times, most recently from 579491b to 07ec0e9 Compare May 6, 2026 18:45
Signed-off-by: Eric Lund <77127214+erl-hpe@users.noreply.github.com>
@erl-hpe erl-hpe force-pushed the add-install-openchami-tool branch from 07ec0e9 to 94d1d75 Compare May 6, 2026 18:48
@adrianreber
Copy link
Copy Markdown

The OpenHPC projects publishes similar documentation which is already end to end tested on bare metal systems:

RHEL 10 and clones:

RHEL 9 and clones:

Just in case you are looking for some additional inspiration or (even better) a place to contribute.

The documentation is available here: https://github.com/openhpc/ohpc/tree/4.x/docs/install/templates/provisioner/openchami

The nice thing about the OpenHPC documentation is that it gives you a pdf as mentioned above but also a recipe.sh which runs all the steps from the PDF and at the end you have a working cluster. Similar to your python installer. See https://repos.openhpc.community/results/4/4.1/0-LATEST-OHPC-4.1-almalinux10-openchami-ethernet-gpu-none-x86_64-slurm/console.out for a complete test run of a cluster installation with two compute nodes using slurm and running over 1200 tests on top of it to make sure everything works. From the provisioning to the resource manager and three different MPI stacks.

Comment thread openchami.spec
fi

%post
# Create a shared python virtual environmnet in which to install
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I am not from OpenCHAMI, but building a lot of RPMs for OpenHPC, so you definitely can ignore my comments. Having something like this in %post would be something I do not would want to see on my systems. I would not be happy to have some by RPM untracked files on my system installed. This looks like it will download the dependencies from the Internet.

This should happen inside the %build or %install section. But, I am not from OpenCHAMI, so just ignore it.

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.

[Feature]: an OpenCHAMI Installation / Deployment Tool based on the Tutorials

2 participants