Skip to content

Commit 93c2890

Browse files
authored
Merge branch 'stackhpc/2023.1' into bump-conntrack-table-size
2 parents b33eedd + 0c9a19e commit 93c2890

File tree

78 files changed

+3088
-208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+3088
-208
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
3+
set -euE
4+
set -o pipefail
5+
6+
PARENT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
7+
KAYOBE_AUTOMATION_DIR="$(realpath "${PARENT}/../../.automation")"
8+
9+
function main {
10+
if [ "${PULP_DO_CONTAINER_SYNC:-}" = true ]; then
11+
${KAYOBE_AUTOMATION_DIR}/scripts/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/pulp-container-sync.yml' -e stackhpc_pulp_images_kolla_filter="${PULP_KOLLA_FILTER:-}"
12+
fi
13+
if [ "${PULP_DO_CONTAINER_PUBLISH:-}" = true ]; then
14+
${KAYOBE_AUTOMATION_DIR}/scripts/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/pulp-container-publish.yml' -e stackhpc_pulp_images_kolla_filter="${PULP_KOLLA_FILTER:-}"
15+
fi
16+
if [ "${PULP_DO_REPO_SYNC:-}" = true ]; then
17+
${KAYOBE_AUTOMATION_DIR}/scripts/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/pulp-repo-sync.yml'
18+
fi
19+
if [ "${PULP_DO_REPO_PUBLISH:-}" = true ]; then
20+
${KAYOBE_AUTOMATION_DIR}/scripts/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/pulp-repo-publish.yml'
21+
fi
22+
if [ "${PULP_DO_REPO_PROMOTE:-}" = true ]; then
23+
${KAYOBE_AUTOMATION_DIR}/scripts/playbook-run.sh '$KAYOBE_CONFIG_PATH/ansible/pulp-repo-promote-production.yml'
24+
fi
25+
}
26+
27+
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
28+
main
29+
fi

.github/workflows/multinode-inputs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class Scenario:
2626
openstack_release: OpenStackRelease
2727
os_release: OSRelease
2828
neutron_plugin: str
29-
upgrade: bool
29+
upgrade: str
3030

3131

3232
ROCKY_9 = OSRelease("rocky", "9", "cloud-user")
@@ -50,7 +50,7 @@ def random_scenario() -> Scenario:
5050
openstack_release = random.choice(OPENSTACK_RELEASES)
5151
os_release = random.choice(openstack_release.os_releases)
5252
neutron_plugin = random.choice(NEUTRON_PLUGINS)
53-
upgrade = random.random() > 0.6
53+
upgrade = 'major' if random.random() > 0.6 else 'none'
5454
return Scenario(openstack_release, os_release, neutron_plugin, upgrade)
5555

5656

@@ -62,7 +62,7 @@ def generate_inputs(scenario: Scenario) -> t.Dict[str, str]:
6262
"os_release": scenario.os_release.release,
6363
"ssh_username": scenario.os_release.ssh_username,
6464
"neutron_plugin": scenario.neutron_plugin,
65-
"upgrade": str(scenario.upgrade).lower(),
65+
"upgrade": scenario.upgrade,
6666
"stackhpc_kayobe_config_version": branch,
6767
"stackhpc_kayobe_config_previous_version": previous_branch,
6868
}

.github/workflows/overcloud-host-image-upload.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787
- name: Install OpenStack client
8888
run: |
8989
source venvs/kayobe/bin/activate &&
90-
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/${{ steps.openstack_release.outputs.openstack_release }}
90+
pip install python-openstackclient -c https://raw.githubusercontent.com/stackhpc/requirements/refs/heads/stackhpc/${{ steps.openstack_release.outputs.openstack_release }}/upper-constraints.txt
9191
9292
- name: Output Rocky Linux 9 image tag
9393
id: rocky_9_image_tag

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

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ jobs:
167167
VM_NETWORK: ${{ inputs.vm_network }}
168168
VM_SUBNET: ${{ inputs.vm_subnet }}
169169
VM_INTERFACE: ${{ inputs.vm_interface }}
170-
VM_VOLUME_SIZE: ${{ inputs.upgrade && '55' || '40' }}
170+
VM_VOLUME_SIZE: ${{ inputs.upgrade && '65' || '50' }}
171171
VM_TAGS: '["skc-ci-aio", "PR=${{ github.event.number }}"]'
172172

173173
- name: Terraform Plan
@@ -214,22 +214,12 @@ jobs:
214214
- name: Write Terraform network config
215215
run: |
216216
cat << EOF > etc/kayobe/environments/$KAYOBE_ENVIRONMENT/tf-networks.yml
217-
218-
admin_oc_net_name: admin
219-
admin_cidr: "{{ access_cidr.value }}"
220-
admin_allocation_pool_start: 0.0.0.0
221-
admin_allocation_pool_end: 0.0.0.0
222-
admin_gateway: "{{ access_gw.value }}"
223-
admin_bootproto: dhcp
224-
admin_ips:
217+
admin_oc_net_name: ethernet
218+
ethernet_cidr: "{{ access_cidr.value }}"
219+
ethernet_allocation_pool_start: 0.0.0.0
220+
ethernet_allocation_pool_end: 0.0.0.0
221+
ethernet_ips:
225222
controller0: "{{ access_ip_v4.value }}"
226-
admin_zone: admin
227-
EOF
228-
229-
- name: Write Terraform network interface config
230-
run: |
231-
cat << EOF > etc/kayobe/environments/$KAYOBE_ENVIRONMENT/inventory/group_vars/controllers/tf-network-interfaces
232-
admin_interface: "{{ access_interface.value }}"
233223
EOF
234224
235225
- name: Write all-in-one scenario config

.github/workflows/stackhpc-ci-cleanup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
3535
- name: Install OpenStack client
3636
run: |
37-
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/${{ steps.openstack_release.outputs.openstack_release }}
37+
pip install python-openstackclient -c https://raw.githubusercontent.com/stackhpc/requirements/refs/heads/stackhpc/${{ steps.openstack_release.outputs.openstack_release }}/upper-constraints.txt
3838
3939
- name: Clean up aio instances over 3 hours old
4040
run: |

.github/workflows/stackhpc-multinode-periodic.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ jobs:
3535
name: Multinode periodic
3636
needs:
3737
- generate-inputs
38-
uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/multinode.yml@1.2.0
38+
uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/multinode.yml@1.4.0
3939
with:
40-
multinode_name: mn-prdc-${{ github.run_id }}
40+
multinode_name: mn-periodic-${{ github.run_id }}
4141
os_distribution: ${{ needs.generate-inputs.outputs.os_distribution }}
4242
os_release: ${{ needs.generate-inputs.outputs.os_release }}
4343
ssh_username: ${{ needs.generate-inputs.outputs.ssh_username }}
4444
neutron_plugin: ${{ needs.generate-inputs.outputs.neutron_plugin }}
45-
upgrade: ${{ needs.generate-inputs.outputs.upgrade == 'true' }}
45+
upgrade: ${{ needs.generate-inputs.outputs.upgrade }}
4646
stackhpc_kayobe_config_version: ${{ needs.generate-inputs.outputs.stackhpc_kayobe_config_version }}
4747
stackhpc_kayobe_config_previous_version: ${{ needs.generate-inputs.outputs.stackhpc_kayobe_config_previous_version }}
4848
enable_slack_alert: true

.github/workflows/stackhpc-multinode.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ name: Multinode
2727
- ovs
2828
upgrade:
2929
description: Whether to perform an upgrade
30-
type: boolean
31-
default: false
30+
default: none
31+
type: choice
32+
options:
33+
- none
34+
- minor
35+
- major
3236
break_on:
3337
description: When to break execution for manual interaction
3438
type: choice
@@ -52,7 +56,7 @@ name: Multinode
5256
jobs:
5357
multinode:
5458
name: Multinode
55-
uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/multinode.yml@1.2.0
59+
uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/multinode.yml@1.4.0
5660
with:
5761
multinode_name: ${{ inputs.multinode_name }}
5862
os_distribution: ${{ inputs.os_distribution }}
@@ -66,6 +70,6 @@ jobs:
6670
ssh_key: ${{ inputs.ssh_key }}
6771
stackhpc_kayobe_config_version: ${{ github.ref_name }}
6872
# NOTE(upgrade): Reference the PREVIOUS release here.
69-
stackhpc_kayobe_config_previous_version: stackhpc/zed
73+
stackhpc_kayobe_config_previous_version: ${{ inputs.upgrade == 'major' && 'stackhpc/zed' || 'stackhpc/2023.1' }}
7074
terraform_kayobe_multinode_version: ${{ inputs.terraform_kayobe_multinode_version }}
7175
secrets: inherit

doc/source/configuration/cephadm.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
====
2-
Ceph
3-
====
1+
.. _cephadm-kayobe:
2+
3+
================
4+
Cephadm & Kayobe
5+
================
46

57
This section describes how to use the Cephadm integration included in StackHPC
68
Kayobe configuration to deploy Ceph.

doc/source/configuration/ci-cd.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,26 +57,26 @@ Runner Deployment
5757
Ideally an Infra VM could be used here or failing that the control host.
5858
Wherever it is deployed the host will need access to the :code:`admin_network`, :code:`public_network` and the :code:`pulp registry` on the seed.
5959

60-
2. Edit the environment's :code:`${KAYOBE_CONFIG_PATH}/environments/${KAYOBE_ENVIRONMENT}/inventory/groups` to add the predefined :code:`github-runners` group to :code:`infra-vms`
60+
2. Edit the environment's :code:`$KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/inventory/groups` to add the predefined :code:`github-runners` group to :code:`infra-vms`
6161

6262
.. code-block:: ini
6363
6464
[infra-vms:children]
6565
github-runners
6666
67-
3. Edit the environment's :code:`${KAYOBE_CONFIG_PATH}/environments/${KAYOBE_ENVIRONMENT}/inventory/hosts` to define the host(s) that will host the runners.
67+
3. Edit the environment's :code:`$KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/inventory/hosts` to define the host(s) that will host the runners.
6868

6969
.. code-block:: ini
7070
7171
[github-runners]
7272
prod-runner-01
7373
74-
4. Provide all the relevant Kayobe :code:`group_vars` for :code:`github-runners` under :code:`${KAYOBE_CONFIG_PATH}/environments/${KAYOBE_ENVIRONMENT}/inventory/group_vars/github-runners`
74+
4. Provide all the relevant Kayobe :code:`group_vars` for :code:`github-runners` under :code:`$KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/inventory/group_vars/github-runners`
7575
* `infra-vms` ensuring all required `infra_vm_extra_network_interfaces` are defined
7676
* `network-interfaces`
7777
* `python-interpreter.yml` ensuring that `ansible_python_interpreter: /usr/bin/python3` has been set
7878

79-
5. Edit the ``${KAYOBE_CONFIG_PATH}/inventory/group_vars/github-runners/runners.yml`` file which will contain the variables required to deploy a series of runners.
79+
5. Edit the ``$KAYOBE_CONFIG_PATH/inventory/group_vars/github-runners/runners.yml`` file which will contain the variables required to deploy a series of runners.
8080
Below is a core set of variables that will require consideration and modification for successful deployment of the runners.
8181
The number of runners deployed can be configured by removing and extending the dict :code:`github-runners`.
8282
As for how many runners present three is suitable number as this would prevent situations where long running jobs could halt progress other tasks whilst waiting for a free runner.
@@ -120,7 +120,7 @@ Runner Deployment
120120

121121
7. If the host is an actual Infra VM then please refer to upstream `Infrastructure VMs <https://docs.openstack.org/kayobe/latest/configuration/reference/infra-vms.html>`__ documentation for additional configuration and steps.
122122

123-
8. Run :code:`kayobe playbook run ${KAYOBE_CONFIG_PATH}/ansible/deploy-github-runner.yml`
123+
8. Run :code:`kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/deploy-github-runner.yml`
124124

125125
9. Check runners have registered properly by visiting the repository's :code:`Action` tab -> :code:`Runners` -> :code:`Self-hosted runners`
126126

@@ -130,9 +130,9 @@ Runner Deployment
130130
Workflow Deployment
131131
-------------------
132132

133-
1. Edit :code:`${KAYOBE_CONFIG_PATH}/inventory/group_vars/github-writer/writer.yml` in the base configuration making the appropriate changes to your deployments specific needs. See documentation for `stackhpc.kayobe_workflows.github <https://github.com/stackhpc/ansible-collection-kayobe-workflows/tree/main/roles/github>`__.
133+
1. Edit :code:`$KAYOBE_CONFIG_PATH/inventory/group_vars/github-writer/writer.yml` in the base configuration making the appropriate changes to your deployments specific needs. See documentation for `stackhpc.kayobe_workflows.github <https://github.com/stackhpc/ansible-collection-kayobe-workflows/tree/main/roles/github>`__.
134134

135-
2. Run :code:`kayobe playbook run ${KAYOBE_CONFIG_PATH}/ansible/write-github-workflows.yml`
135+
2. Run :code:`kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/write-github-workflows.yml`
136136

137137
3. Add all required secrets and variables to repository either via the GitHub UI or GitHub CLI (may require repository owner)
138138

0 commit comments

Comments
 (0)