Skip to content

Commit ee9f163

Browse files
committed
Merge stackhpc/zed into stackhpc/2023.1
2 parents 7a7cd29 + 8ac2167 commit ee9f163

File tree

9 files changed

+101
-7
lines changed

9 files changed

+101
-7
lines changed

.github/path-filters.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# This file is a list of path filters for the PR workflow in .github/workflows/stackhpc-pull-request.yml.
2+
aio:
3+
- '.automation'
4+
- '.automation.conf/config.sh'
5+
- '.automation.conf/tempest/load-lists/default'
6+
- '.automation.conf/tempest/load-lists/platform.2022.11-test-list.txt'
7+
- '.automation.conf/tempest/load-lists/refstack-2019.11-test-list.txt'
8+
- '.automation.conf/tempest/tempest-ci-aio.overrides.conf'
9+
- '.github/workflows/stackhpc-all-in-one.yml'
10+
- '.github/workflows/stackhpc-build-kayobe-image.yml'
11+
- '.github/workflows/stackhpc-pull-request.yml'
12+
- 'etc/kayobe/*.yml'
13+
- 'etc/kayobe/ansible/configure-aio-resources.yml'
14+
- 'etc/kayobe/ansible/growroot.yml'
15+
- 'etc/kayobe/ansible/requirements.yml'
16+
- 'etc/kayobe/ansible/scripts/aio-init.sh'
17+
- 'etc/kayobe/environments/ci-aio/**'
18+
- 'etc/kayobe/inventory/**'
19+
- 'etc/kayobe/kolla/**'
20+
- 'kayobe-env'
21+
- 'requirements.txt'
22+
- 'terraform/aio/**'

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ on:
5151
description: Name of cloud in clouds.yaml
5252
type: string
5353
required: true
54+
if:
55+
description: Whether to run the workflow (workaround for required status checks issue)
56+
type: boolean
57+
default: true
5458
secrets:
5559
KAYOBE_VAULT_PASSWORD:
5660
required: true
@@ -65,6 +69,7 @@ jobs:
6569
# NOTE: Runner needs unzip and nodejs packages.
6670
all-in-one:
6771
name: All in one
72+
if: inputs.if
6873
runs-on: [self-hosted, stackhpc-kayobe-config-aio]
6974
permissions: {}
7075
env:

.github/workflows/stackhpc-build-kayobe-image.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ on:
2020
type: string
2121
required: false
2222
default: "rockylinux:9"
23+
if:
24+
description: Whether to run the workflow (workaround for required status checks issue)
25+
type: boolean
26+
default: true
2327
outputs:
2428
kayobe_image:
2529
description: Reference of Kayobe image that was built
@@ -32,6 +36,7 @@ env:
3236
jobs:
3337
build-kayobe-image:
3438
name: Build kayobe image
39+
if: inputs.if
3540
runs-on: ubuntu-20.04
3641
permissions:
3742
contents: read

.github/workflows/stackhpc-pull-request.yml

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,29 @@ name: Pull request
88
'on':
99
pull_request:
1010
jobs:
11+
# Detect which files have changed and use this to run jobs conditionally.
12+
# Note that we can't use the workflow-level paths attribute since this
13+
# would skip the workflow entirely, and would prevent us from making the
14+
# aio jobs required to pass (a skip counts as a pass).
15+
check-changes:
16+
runs-on: ubuntu-20.04
17+
permissions:
18+
pull-requests: read
19+
name: Check changed files
20+
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
21+
outputs:
22+
aio: ${{ steps.changes.outputs.aio }}
23+
steps:
24+
- name: GitHub Checkout
25+
uses: actions/checkout@v3
26+
27+
- name: Check changed files
28+
uses: dorny/paths-filter@v2
29+
id: changes
30+
with:
31+
# Filters are defined in this file.
32+
filters: .github/path-filters.yml
33+
1134
tox:
1235
runs-on: ubuntu-22.04
1336
permissions: {}
@@ -36,9 +59,21 @@ jobs:
3659
- name: Run Tox ${{ matrix.environment }} 🧪
3760
run: tox -e ${{ matrix.environment }}
3861

62+
# A skipped job is treated as success when used as a required status check.
63+
# The registered required status checks refer to the name of the job in the
64+
# called reusable workflow rather than the jobs in this file. The following
65+
# jobs need to run unconditionally to allow GitHub required status checks to
66+
# pass even when there are changed files. The `! failure()` condition runs
67+
# when the parent jobs completed successfully or were skipped. We pass an
68+
# 'if' argument to the called workflow to allow running it conditionally.
69+
3970
build-kayobe-image:
4071
name: Build Kayobe Image
72+
needs:
73+
- check-changes
4174
uses: ./.github/workflows/stackhpc-build-kayobe-image.yml
75+
with:
76+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
4277
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
4378

4479
all-in-one-ubuntu-jammy-ovs:
@@ -54,7 +89,7 @@ jobs:
5489
neutron_plugin: ovs
5590
OS_CLOUD: sms-lab-release
5691
secrets: inherit
57-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
92+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
5893

5994
all-in-one-ubuntu-jammy-ovn:
6095
name: aio (Ubuntu Jammy OVN)
@@ -69,7 +104,7 @@ jobs:
69104
neutron_plugin: ovn
70105
OS_CLOUD: sms-lab-release
71106
secrets: inherit
72-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
107+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
73108

74109
all-in-one-rocky-9-ovs:
75110
name: aio (Rocky 9 OVS)
@@ -84,7 +119,7 @@ jobs:
84119
neutron_plugin: ovs
85120
OS_CLOUD: sms-lab-release
86121
secrets: inherit
87-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
122+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}
88123

89124
all-in-one-rocky-9-ovn:
90125
name: aio (Rocky 9 OVN)
@@ -98,5 +133,6 @@ jobs:
98133
ssh_username: cloud-user
99134
neutron_plugin: ovn
100135
OS_CLOUD: sms-lab-release
136+
if: ${{ needs.check-changes.outputs.aio == 'true' }}
101137
secrets: inherit
102-
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
138+
if: ${{ ! failure() && github.repository == 'stackhpc/stackhpc-kayobe-config' }}

etc/kayobe/ansible/purge-command-not-found.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@
3030
become: true
3131
failed_when: false
3232
ignore_unreachable: true
33-
when: ansible_facts.os_family == "Debian"
33+
when: os_distribution == "ubuntu"

etc/kayobe/apt.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,18 @@ stackhpc_apt_repositories:
6262
signed_by: docker.asc
6363
architecture: amd64
6464

65-
apt_repositories: "{{ stackhpc_apt_repositories }}"
65+
# Do not replace apt configuration for non-overcloud hosts. This can result in
66+
# errors if apt reconfiguration is performed before local repository mirrors
67+
# are deployed.
68+
apt_repositories: "{{ stackhpc_apt_repositories if 'overcloud' in group_names else [] }}"
6669

6770
# Whether to disable repositories in /etc/apt/sources.list. This may be used
6871
# when replacing the distribution repositories via apt_repositories.
6972
# Default is false.
70-
apt_disable_sources_list: true
73+
# Do not disable the default apt configuration for non-overcloud hosts. This
74+
# can result in errors if apt reconfiguration is performed before local
75+
# repository mirrors are deployed.
76+
apt_disable_sources_list: "{{ 'overcloud' in group_names }}"
7177

7278
###############################################################################
7379
# Dummy variable to allow Ansible to accept this file.

etc/kayobe/environments/aufn-ceph/kolla/inventory/overcloud-services.j2

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,13 @@ control
3131
[opensearch-dashboards:children]
3232
opensearch
3333

34+
[opensearch:children]
35+
control
36+
37+
# Opensearch dashboards
38+
[opensearch-dashboards:children]
39+
opensearch
40+
3441
# Glance
3542
[glance-api:children]
3643
glance
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
fixes:
3+
- |
4+
Rebuild and bump the Bifrost container for Xena to include fix for
5+
`Error while running update_to_latest_versions: ''BIOSSetting''
6+
object has no attribute` during `Ironic database migrations on upgrade`
7+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
fixes:
3+
- |
4+
Disabled custom APT configuration for non-overcloud hosts (Ubuntu Only).
5+
This resolves the issue of the seed hypervisor attempting to pull packages
6+
from the repository on the seed before it has been deployed.

0 commit comments

Comments
 (0)