From dbabdb839a54b593ce5d8d91b245d8d9f6cccbeb Mon Sep 17 00:00:00 2001 From: Tristan Cacqueray Date: May 24 2023 19:44:26 +0000 Subject: Add how to update latest nodeset --- diff --git a/README.md b/README.md index c10b6e8..5ce720f 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,7 @@ The Zuul CI configuration for Fedora is managed through 3 repositories: - `fedora-project-config`: this one. - `fedora-zuul-jobs-config`: A [Zuul config](https://zuul-ci.org/docs/zuul/latest/glossary.html?highlight=trusted#term-config-project) repository to host sensitive Zuul config (e.g. jobs relying on secrets). -- `fedora-zuul-jobs`: A [Zuul untrusted](https://zuul-ci.org/docs/zuul/latest/glossary.html?highlight=trusted#term-untrusted-project) repository to host -non sensitive Zuul config. +- `fedora-zuul-jobs`: A [Zuul untrusted](https://zuul-ci.org/docs/zuul/latest/glossary.html?highlight=trusted#term-untrusted-project) repository to host non sensitive Zuul config. Most of the Zuul config for Fedora is managed via the Dhall language. The rendering of the dhall program produces YAML files to be used by Zuul. YAML files are generated into the @@ -74,7 +73,7 @@ Then run the rendering. ```ShellSession [fedora@localhost fedora-project-config]$ make render -/nix/store/h1p77fzddhjwb9fl678p72hl4hg8d5l3-ghc-8.10.7-with-packages/bin/dhall-to-yaml +/bin/dhall-to-yaml /home/fedora/bin/zuulfmt Rendering FZCI.dhall/fedora-zuul-jobs-config/jobs.dhall in ../fedora-zuul-jobs-config/zuul.d/jobs.yaml Rendering FZCI.dhall/fedora-zuul-jobs/jobs.dhall in ../fedora-zuul-jobs/zuul.d/jobs.yaml @@ -82,7 +81,7 @@ Rendering FZCI.dhall/fedora-zuul-jobs/nodesets.dhall in ../fedora-zuul-jobs/zuul Rendering FZCI.dhall/fedora-zuul-jobs/templates.dhall in ../fedora-zuul-jobs/zuul.d/templates.yaml ``` -In case of error, update your changes then run again the rendering. +In case of error, update your changes then run again the rendering. Finally, create Pull Requests for each repositories that got an update from the rendering. @@ -144,4 +143,34 @@ make render When edits are done on those repos then commits and push changes (as PR) then wait for CI result. + +### Update the latest nodeset definition + +When a new fedora release is available, the `fedora-latest-*` nodesets need to be updated. +Two changes are required: + +- The softwarefactory-project.io/config Nodepool service. +- The fedora-zuul-jobs Zuul configuration. + +Here are the required changes and example changes from a previous update. + +#### Add new Nodepool labels + +Wait for the infra team to provide the new labels. For examples, here are the changes for f38: + +- https://softwarefactory-project.io/r/c/containers/+/28351 - Create a new container image (and the new quay image needs to be switched to public). +- https://softwarefactory-project.io/r/c/config/+/27464 - Create a new cloud image. +- https://softwarefactory-project.io/r/c/config/+/28352 - Register the new container image. + +#### Update Zuul latest definition + +Update the `latest-version` value in [Nodesets.dhall](FZCI.dhall/Nodesets.dhall). For example, here is the change for f38: + +- https://pagure.io/fedora-project-config/pull-request/271 + +Run the `make render` command and update the fedora-zuul-jobs project. For example, here is the change for f38: + +- https://pagure.io/fedora-zuul-jobs/pull-request/174 + + [dhall-lang]: https://dhall-lang.org