You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -79,7 +76,7 @@ Build and test processes are provided with credentials that are authorised to pu
79
76
At the top of the diagram above are the upstream sources.
80
77
Some of these may be mirrored/synced into Ark, including:
81
78
82
-
* OS distribution package repositories, e.g. CentOS Stream 8 BaseOS
79
+
* OS distribution package repositories, e.g. Rocky Linux 9 BaseOS
83
80
* Third party package repositories, e.g. Grafana
84
81
85
82
The [Sync package repositories](https://github.com/stackhpc/stackhpc-release-train/actions/workflows/package-sync.yml) GitHub Actions workflow runs nightly and on demand, ensuring that we have regular versioned snapshots of these repositories.
@@ -95,7 +92,7 @@ There are a couple of repositories for which `mirror_complete` does not work, so
95
92
96
93
Package repositories are versioned based on the date/time stamp at the beginning of the sync workflow, e.g. `20211122T102435`.
97
94
This version string is used as the final component of the path at which the corresponding distribution is hosted.
98
-
For example, a CentOS Stream 8 BaseOS snapshot may be hosted at https://ark.stackhpc.com/pulp/content/centos/8-stream/BaseOS/x86_64/os/20220105T044843/.
95
+
For example, a Rocky Linux 9 BaseOS snapshot may be hosted at https://ark.stackhpc.com/pulp/content/rocky/9/BaseOS/x86_64/os/20240105T044843/.
99
96
100
97
The rationale behind using a date/time stamp is that there is no sane way to version a large collection of content, such as a repository, in a way in which the version reflects changes in the content (e.g. SemVer).
101
98
While the timestamp used is fairly arbitrary, it does at least provide a reasonable guarantee of ordering, and is easily automated.
@@ -115,36 +112,40 @@ All content in Ark that is required by the build and test processes is synced to
115
112
116
113
### Kolla container images
117
114
118
-
Kolla container images are built via Kayobe, using a `builder` environment in [StackHPC Kayobe config](https://github.com/stackhpc/stackhpc-kayobe-config).
115
+
Kolla container images are built via Kayobe, using a `ci-builder` environment in [StackHPC Kayobe config](https://github.com/stackhpc/stackhpc-kayobe-config).
119
116
The configuration uses the package repositories in Ark when building containers.
120
-
Currently this is run manually, but will eventually run as a CI job.
117
+
Images are built using a manually triggered [GitHub Actions workflow](https://github.com/stackhpc/stackhpc-kayobe-config/actions/workflows/stackhpc-container-image-build.yml).
121
118
The `stackhpc-dev` namespace in Ark contains [container push repositories](https://docs.pulpproject.org/pulp_container/workflows/push.html), which are pushed to using Kayobe.
122
-
Currently this is rather slow due to a [Pulp bug](https://github.com/pulp/pulp_container/issues/494).
123
119
124
120
The [Sync container repositories](https://github.com/stackhpc/stackhpc-release-train/actions/workflows/container-sync.yml) GitHub Actions workflow runs demand, syncing container repositories in test Pulp service with those in Ark.
125
121
It also configures container image distributions to be private, since they are public by default.
126
122
127
-
Kolla container images are versioned based on the OpenStack release nameand the date/time stamp at the beginning of the build workflow, e.g. `wallaby-20211122T102435`.
123
+
Kolla container images are versioned based on the OpenStack release name, OS distribution and the date/time stamp at the beginning of the build workflow, e.g. `2024.1-rocky-9-20240922T102435`.
128
124
This version string is used as the image tag.
129
125
Unlike package repositories, container image tags allow multiple versions to be present in a distribution of a container repository simultaneously.
130
126
We therefore use separate namespaces for development (`stackhpc-dev`) and release (`stackhpc`).
131
127
132
128
### Disk images
133
129
134
-
Disk images are currently not built by the release train.
130
+
Overcloud host images are built via Kayobe, using the same ``ci-builder`` environment used to build Kolla container images.
131
+
Overcloud images are built using a manually triggered [GitHub Actions workflow](https://github.com/stackhpc/stackhpc-kayobe-config/actions/workflows/overcloud-host-image-build.yml).
132
+
They are pushed to a [Pulp file repository](https://pulpproject.org/pulp_file/) in Ark, and uploaded to the SMS lab Glance image service for all-in-one and multi-node testing.
133
+
134
+
Overcloud images are versioned based on the OpenStack release name, and the date/time stamp at the beginning of the build workflow, e.g. `2024.1-20240922T102435`.
135
+
This version string is included in the Pulp distribution `base_path` of the image, e.g. https://ark.stackhpc.com/pulp/content/kayobe-images/2023.1/rocky/9/2023.1-20240325T130221/overcloud-rocky-9.qcow2
135
136
136
137
## Testing
137
138
138
139
Release train content is tested via a Kayobe deployment of OpenStack.
139
-
An `aio` environment in [StackHPC Kayobe config](https://github.com/stackhpc/stackhpc-kayobe-config) provides a converged control/compute host for testing.
140
-
Currently this is run manually, but will eventually run as a CI job.
140
+
A `ci-aio` environment in [StackHPC Kayobe config](https://github.com/stackhpc/stackhpc-kayobe-config) provides a converged control/compute host for testing.
141
+
Various all-in-one OpenStack test configurations are run against pull requests opened against the StackHPC Kayobe config repository.
141
142
142
143
## Promotion
143
144
144
145
Whether content is mirrored from an upstream source or built locally, it is not immediately released.
145
146
Promotion describes the process whereby release candidate content is made into a release that is available to clients.
146
147
147
-
For package repositories, promotion does not affect how content is accessed, only who may access it.
148
+
For package repositories and overcloud host images, promotion does not affect how content is accessed, only who may access it.
148
149
Promotion involves changing the content guard for the distribution to be released from `development` to `release`.
149
150
This makes the content accessible to clients using their client credentials.
150
151
@@ -177,7 +178,7 @@ This repository provides configuration and playbooks to:
177
178
178
179
This configuration is in active development and is expected to evolve over the coming releases.
179
180
180
-
Further documentation of this configuration is out of scope here, but is available in the [readme](https://github.com/stackhpc/stackhpc-kayobe-config/blob/stackhpc/wallaby/README.rst).
181
+
Further documentation of this configuration is out of scope here, but is available in the [readme](https://github.com/stackhpc/stackhpc-kayobe-config/blob/stackhpc/2024.1/README.rst).
Ark is deployed on a single host that runs on Leafcloud.
4
+
Data is stored in Leafcloud's object store.
5
+
An [Ansible playbook](https://github.com/stackhpc/ansible-pulpcore-config) automates deployment of Pulp and its dependencies using the [Pulp OCI images](https://pulpproject.org/pulp-oci-images/) and [Compose configuration](https://pulpproject.org/pulp-oci-images/docs/admin/tutorials/quickstart/#podman-or-docker-compose) provided by the Pulp project.
Copy file name to clipboardExpand all lines: docs/operations/github.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,15 @@
1
1
# Operations - GitHub
2
2
3
-
## GitHub Actions runners
3
+
## GitHub Actions Runner Controller (ARC)
4
+
5
+
Some GitHub Actions workflows run on public runners, while others require access to specific services or benefit from data locality.
6
+
In the latter case we use GitHub's Actions Runner Controller (ARC) (not to be confused with our Ark...) to provide dynamically scaling containerised private GitHub Actions runners.
7
+
The [ARC-Installer](https://github.com/stackhpc/ARC-Installer) repository contains scripts and Helm `values.yaml` configuration for registering the ARC controller services and runner scale sets.
8
+
Any project that wishes to use runners on this cluster should define its runner scale set configuration in the ARC-Installer repository.
9
+
10
+
## [LEGACY] GitHub Actions runners
11
+
12
+
*We are no longer using this approach, but it is retained in case it is useful in future.*
4
13
5
14
This Terraform configuration deploys a GitHub Actions runner VMs on an
6
15
OpenStack cloud for the stackhpc-release-train repository.
Copy file name to clipboardExpand all lines: docs/usage/access.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,4 +25,6 @@ Configuration for content guards is in [ansible/inventory/group_vars/all/dev-pul
25
25
26
26
## Generating client credentials
27
27
28
-
TODO
28
+
Clients require credentials in order to access Ark.
29
+
See the README in the [stackhpc-release-train-clients](https://github.com/stackhpc/stackhpc-release-train-clients) repository for how to generete and update them.
30
+
It is also possible to use this repository to generate credentials with access to the unpromoted "development" content, but these should not be given to clients.
Copy file name to clipboardExpand all lines: docs/usage/content-workflows.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -175,16 +175,16 @@ After a successful container image build workflow, another workflow is triggered
175
175
In the following example, the user specified a regular expression of `^skydive`, matching all of the Skydive images, and the `base` image that they depend on.
176
176
177
177
```
178
-
REPOSITORY TAG IMAGE ID CREATED SIZE
179
-
ark.stackhpc.com/stackhpc-dev/centos-source-skydive-agent wallaby-20220811T091848 32f2b9299194 6 minutes ago 1.29GB
180
-
ark.stackhpc.com/stackhpc-dev/centos-source-skydive-analyzer wallaby-20220811T091848 35e4c1cda1a8 7 minutes ago 1.14GB
181
-
ark.stackhpc.com/stackhpc-dev/centos-source-skydive-base wallaby-20220811T091848 3bd5f3e50aa3 7 minutes ago 1.14GB
182
-
ark.stackhpc.com/stackhpc-dev/centos-source-base wallaby-20220811T091848 bd02fa0ec1d6 7 minutes ago 991MB
178
+
REPOSITORY TAG IMAGE ID CREATED SIZE
179
+
ark.stackhpc.com/stackhpc-dev/skydive-agent 2023.1-rocky-9-20240811T091848 32f2b9299194 6 minutes ago 1.29GB
180
+
ark.stackhpc.com/stackhpc-dev/skydive-analyzer 2023.1-rocky-9-20240811T091848 35e4c1cda1a8 7 minutes ago 1.14GB
181
+
ark.stackhpc.com/stackhpc-dev/skydive-base 2023.1-rocky-9-20240811T091848 3bd5f3e50aa3 7 minutes ago 1.14GB
182
+
ark.stackhpc.com/stackhpc-dev/base 2023.1-rocky-9-20240811T091848 bd02fa0ec1d6 7 minutes ago 991MB
183
183
```
184
184
185
-
In this example, the base and Skydive images have been tagged `wallaby-20220811T091848`.
185
+
In this example, the base and Skydive images have been tagged `2023.1-rocky-9-20240811T091848`.
186
186
187
-
Instructions for building Kolla container images manually are provided in the [StackHPC kayobe config README](https://github.com/stackhpc/stackhpc-kayobe-config/blob/bf1396b8564b79344e4b6cfb934eab865ff1ad09/README.rst#L226).
187
+
Instructions for building Kolla container images manually are provided in the [StackHPC kayobe config documentation](https://stackhpc-kayobe-config.readthedocs.io/en/stackhpc-2023.1/contributor/environments/ci-builder.html).
0 commit comments