Skip to content

Commit 6fedc12

Browse files
committed
Config for pulling Ark overcloud host images
Updated the Bifrost and pulp config to easily use the overcloud host images stored in Ark.
1 parent eaad4bd commit 6fedc12

File tree

6 files changed

+63
-9
lines changed

6 files changed

+63
-9
lines changed

.github/workflows/stackhpc-all-in-one.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
- name: Output image tag
8080
id: image_tag
8181
run: |
82-
echo image_tag=$(grep stackhpc_${{ inputs.os_distribution }}_${{ inputs.os_release }}_overcloud_host_image_version etc/kayobe/environments/ci-aio/stackhpc-ci.yml | awk '{print $2}') >> $GITHUB_OUTPUT
82+
echo image_tag=$(grep stackhpc_${{ inputs.os_distribution }}_$(sed s/-/_/ <(echo "${{ inputs.os_release }}"))_overcloud_host_image_version etc/kayobe/stackhpc-overcloud-host-images.yml | awk '{print $2}') >> $GITHUB_OUTPUT
8383
8484
# Use the image override if set, otherwise use overcloud-os_distribution-os_release-tag
8585
- name: Output image name

etc/kayobe/environments/ci-aio/stackhpc-ci.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,3 @@ stackhpc_docker_registry_password: !vault |
8080
38333133393730633666613965653364316162353337313330346164303631313731646461363461
8181
3963323635373866630a633533376339363734626664333765313665623662613764363038383735
8282
38646138376438643533376161376634653439386230353365316239613430363338
83-
84-
# Overcloud host image tags
85-
stackhpc_centos_8-stream_overcloud_host_image_version: "yoga-20230525T095243"
86-
stackhpc_rocky_8_overcloud_host_image_version: "yoga-20230629T135322"
87-
stackhpc_rocky_9_overcloud_host_image_version: "yoga-20230515T145140"
88-
stackhpc_ubuntu_focal_overcloud_host_image_version: "yoga-20230609T120720"
89-
stackhpc_ubuntu_jammy_overcloud_host_image_version: "yoga-20230609T120720"

etc/kayobe/kolla/config/bifrost.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# yamllint disable-file
2+
---
3+
# Use prebuilt release train images from Ark.
4+
{% if stackhpc_download_overcloud_host_images | bool %}
5+
overcloud_dib_build_host_images: false
6+
use_cirros: true
7+
cirros_deploy_image_upstream_url: "{{ stackhpc_overcloud_host_image_url }}"
8+
{% endif %}

etc/kayobe/pulp.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,14 @@ pulp_proxy_url: "{{ omit }}"
3232
###############################################################################
3333
# StackHPC Pulp server
3434

35+
# The scheme - http/https of the StackHPC Pulp service.
36+
stackhpc_release_pulp_scheme: "https://"
37+
38+
# The domain of the StackHPC Pulp service.
39+
stackhpc_release_pulp_domain: "ark.stackhpc.com"
40+
3541
# Base URL of the StackHPC Pulp service.
36-
stackhpc_release_pulp_url: "https://ark.stackhpc.com"
42+
stackhpc_release_pulp_url: "{{ stackhpc_release_pulp_scheme }}{{ stackhpc_release_pulp_domain }}"
3743

3844
# Credentials used to access the StackHPC Pulp service.
3945
stackhpc_release_pulp_username:
@@ -42,6 +48,11 @@ stackhpc_release_pulp_password:
4248
# Content URL of the StackHPC Pulp service.
4349
stackhpc_release_pulp_content_url: "{{ stackhpc_release_pulp_url }}/pulp/content"
4450

51+
# Content URL of the StackHPC Pulp service, with basic auth.
52+
# NOTE(Alex-Welsh): This may need reworking if it reveals the credentials
53+
# at runtime in the ansible output
54+
stackhpc_release_pulp_content_url_with_auth: "{{ stackhpc_release_pulp_scheme }}{{ stackhpc_release_pulp_username }}:{{ stackhpc_release_pulp_password }}@{{ stackhpc_release_pulp_domain }}/pulp/content"
55+
4556
# Sync all repositories required for building Kolla images from the
4657
# StackHPC Ark Pulp service to local Pulp.
4758
# NOTE: Only RPM repositories are supported.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
##############################
3+
# Release train overcloud host image sources
4+
5+
# Whether or not to download overcloud host images from Ark
6+
stackhpc_download_overcloud_host_images: false
7+
8+
# Whether or not to use images with MLNX_OFED installed (for deployment using
9+
# mellanox/Nvidia NICs). Only available for Ubuntu Jammy and Rocky Linux 9
10+
# OFED images are currently WIP and this variable is a placeholder
11+
stackhpc_overcloud_host_image_is_ofed: false
12+
13+
# The overcloud host image source, defined by os_distribution, os_release,
14+
# stackhpc_overcloud_host_image_is_ofed, and the current stable version.
15+
stackhpc_overcloud_host_image_url: "{{ stackhpc_release_pulp_content_url_with_auth }}/kayobe-images/\
16+
{{ openstack_release }}/{{ os_distribution }}/{{ os_release }}/\
17+
{{ 'ofed/' if stackhpc_overcloud_host_image_is_ofed else '' }}\
18+
{{ stackhpc_overcloud_host_image_version }}/\
19+
overcloud-{{ os_distribution }}-{{ os_release }}\
20+
{{ '-ofed' if stackhpc_overcloud_host_image_is_ofed else '' }}.qcow2"
21+
22+
# Overcloud host image versioning tags
23+
# These images must be in SMS, since they are used by our AIO CI runners
24+
stackhpc_centos_8_stream_overcloud_host_image_version: "yoga-20230525T095243"
25+
stackhpc_rocky_8_overcloud_host_image_version: "yoga-20230629T135322"
26+
stackhpc_rocky_9_overcloud_host_image_version: "yoga-20230515T145140"
27+
stackhpc_ubuntu_focal_overcloud_host_image_version: "yoga-20230609T120720"
28+
stackhpc_ubuntu_jammy_overcloud_host_image_version: "yoga-20230609T120720"
29+
30+
# Overcloud host image version tag selection
31+
stackhpc_overcloud_host_image_version: >-
32+
{{ stackhpc_centos_8_stream_overcloud_host_image_version if os_distribution == 'centos' and os_release == '8-stream' else
33+
stackhpc_rocky_8_overcloud_host_image_version if os_distribution == 'rocky' and os_release == '8' else
34+
stackhpc_rocky_9_overcloud_host_image_version if os_distribution == 'rocky' and os_release == '9' else
35+
stackhpc_ubuntu_focal_overcloud_host_image_version if os_distribution == 'ubuntu' and os_release == 'focal' else
36+
stackhpc_ubuntu_jammy_overcloud_host_image_version if os_distribution == 'ubuntu' and os_release == 'jammy' }}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
features:
3+
- |
4+
Prebuild overcloud host images can now be pulled from Ark using the
5+
`stackhpc_download_overcloud_host_images` variable. The image is selected
6+
based on `os_distribution` and `os_release`.

0 commit comments

Comments
 (0)