Just wanted to report that we run a complete deployment in OpenHPC pull requests using OpenCHAMI.
Our setup works this way. In a default GitHub Actions runner we are starting a AlmaLinux container with systemd running on the inside. Once that is started we are running our integration test: https://github.com/openhpc/ohpc/blob/4.x/tests/ci/integration-test.sh
The test does the following. It installs the basic OpenHPC packages including documentation. The documentation contains the recipe.sh file which has all the commands to get a cluster running.
We are using the AlmaLinux-OpenCHAMI-slurm variant for this test.
First the OpenCHAMI packages are installed and then all the services are brought up. We are just following our existing documentation. Once everything is ready on the deployment server we have a fake ipmitool script. This way we can reuse the same commands from the recipe, which targets bare-metal installations. The fake ipmitool script starts two qemu VMs inside of the container. Thanks to nested virtualization it is fast enough. The two VMs are booted inside of the container and once they are up we run our test-suite against it. The test-suite uses slurm to submit a couple of small distributed jobs.
https://github.com/openhpc/ohpc/blob/b69418681539813405cb8609c582449fe6fe474b/.github/workflows/validate.yml#L234
With this setup we are able to completely end-to-end test our recipe in GitHub Actions provisioning two compute nodes with OpenCHAMI and run jobs using slurm on top of it.
I just wanted to share this setup in case it might be helpful for the OpenCHAMI project. Being able to test the whole provisioning in GitHub Actions is helpful for OpenHPC, maybe it is also helpful for OpenCHAMI.
Please close this issue whenever you like. Just FYI.
Just wanted to report that we run a complete deployment in OpenHPC pull requests using OpenCHAMI.
Our setup works this way. In a default GitHub Actions runner we are starting a AlmaLinux container with systemd running on the inside. Once that is started we are running our integration test: https://github.com/openhpc/ohpc/blob/4.x/tests/ci/integration-test.sh
The test does the following. It installs the basic OpenHPC packages including documentation. The documentation contains the
recipe.shfile which has all the commands to get a cluster running.We are using the AlmaLinux-OpenCHAMI-slurm variant for this test.
First the OpenCHAMI packages are installed and then all the services are brought up. We are just following our existing documentation. Once everything is ready on the deployment server we have a fake ipmitool script. This way we can reuse the same commands from the recipe, which targets bare-metal installations. The fake ipmitool script starts two qemu VMs inside of the container. Thanks to nested virtualization it is fast enough. The two VMs are booted inside of the container and once they are up we run our test-suite against it. The test-suite uses slurm to submit a couple of small distributed jobs.
https://github.com/openhpc/ohpc/blob/b69418681539813405cb8609c582449fe6fe474b/.github/workflows/validate.yml#L234
With this setup we are able to completely end-to-end test our recipe in GitHub Actions provisioning two compute nodes with OpenCHAMI and run jobs using slurm on top of it.
I just wanted to share this setup in case it might be helpful for the OpenCHAMI project. Being able to test the whole provisioning in GitHub Actions is helpful for OpenHPC, maybe it is also helpful for OpenCHAMI.
Please close this issue whenever you like. Just FYI.