Usage - content management HOWTO¶
While the content management workflows documentation provides information on each of the workflows provided by the release train, it does not give instructions for how to compose them to achieve common tasks. That is the aim of this page.
Update package repositories¶
Update one or more package repositories to a new version, then build new Kolla container images from those repositories.
If using Yoga release or earlier:
- Sync package repositories (optional: runs nightly as a scheduled GitHub Action)
- Update Kayobe repository versions
- Build & push Kolla container images
- Update Kayobe container image tags
- Test
- Review & merge Kayobe configuration changes
- Promote container images
If using Zed release onwards:
- Sync package repositories (optional: runs nightly as a scheduled GitHub Action)
- Update Kayobe repository versions
- Build & push Kolla container images
- Update Kayobe container image tags
- Test
- Review & merge Kayobe configuration changes
- Promote container images (happens automatically)
Add a new package repository¶
Add one or more new package repositories to the release train, then add them to the Kayobe configuration and build new Kolla container images from those repositories.
If using Yoga release or earlier:
- Add new package repositories to Release Train
- Sync package repositories (optional: runs nightly as a scheduled GitHub Action)
- Add package repositories to StackHPC Kayobe Configuration
- Update Kayobe repository versions
- Build & push Kolla container images
- Update Kayobe container image tags
- Test
- Review & merge Kayobe configuration changes
- Promote container images
If using Zed release onwards:
- Add new package repositories to Release Train
- Sync package repositories (optional: runs nightly as a scheduled GitHub Action)
- Add package repositories to StackHPC Kayobe Configuration
- Update Kayobe repository versions
- Build & push Kolla container images
- Update Kayobe container image tags
- Test
- Review & merge Kayobe configuration changes
- Promote container images (happens automatically)
Update Kolla container images¶
Update one or more Kolla container images, without updating package repositories.
If using Yoga release or earlier:
- Build & push Kolla container images
- Update Kayobe container image tags
- Test
- Review & merge Kayobe configuration changes
- Promote container images
If using Zed release onwards:
- Build & push Kolla container images
- Update Kayobe container image tags
- Test
- Review & merge Kayobe configuration changes
- Promote container images (happens automatically)
Add a new Kolla container image¶
Set up builds for the image¶
The list of services supported by StackHPC Kayobe configuration is defined via
the feature flags in the
ci-builder
environment. To add a new service, add the relevant feature flag (see
etc/kayobe/kolla.yml
for supported flags). For example:
kolla_enable_foo: true
Create a PR for the change.
Set up Test Pulp syncing for the image¶
Next, the new images must be added to the kolla_container_images
list in
stackhpc-release-train.
For example:
kolla_container_images:
8<
- foo-api
- foo-manager
8<
Create a PR for the change.
Build and consume the image¶
Once the two PRs have been approved and merged, follow the steps above to build and consume the new images.
Set up client Pulp syncing for the image¶
Finally, the new images must be added to the stackhpc_pulp_images
list in etc/kayobe/pulp.yml.
This updates the list of images that are synced from Ark to clients' local Pulp service.
This step should be performed last, once the images have been pushed to Ark and promoted, otherwise client container syncs would fail.
stackhpc_pulp_images:
8<
- foo-api
- foo-manager
8<
Create a PR for the change.