Skip to content

Commit 055e8b0

Browse files
committed
CI: Add multinode workflow
This change adds a GitHub workflow to deploy a multinode test cluster using a workflow dispatch (manual) trigger.
1 parent 61af1d8 commit 055e8b0

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
# This workflow provides a workflow_dispatch (manual) trigger to deploy a
3+
# multi-node test cluster.
4+
5+
name: Multinode
6+
'on':
7+
workflow_dispatch:
8+
# NOTE: workflow_dispatch is limited to 10 inputs.
9+
inputs:
10+
multinode_name:
11+
description: Multinode cluster name
12+
type: string
13+
required: true
14+
os_distribution:
15+
description: Host OS distribution
16+
type: choice
17+
default: rocky
18+
options:
19+
- rocky
20+
- ubuntu
21+
neutron_plugin:
22+
description: Neutron ML2 plugin
23+
type: choice
24+
default: ovn
25+
options:
26+
- ovn
27+
- ovs
28+
upgrade:
29+
description: Whether to perform an upgrade
30+
type: boolean
31+
default: false
32+
break_on:
33+
description: When to break execution for manual interaction
34+
type: choice
35+
default: never
36+
options:
37+
- never
38+
- failure
39+
break_duration:
40+
description: How long to break execution for (minutes)
41+
type: number
42+
default: 60
43+
ssh_key:
44+
description: SSH public key to authorise on Ansible control host
45+
type: string
46+
terraform_kayobe_multinode_version:
47+
description: terraform-kayobe-multinode version
48+
type: string
49+
default: main
50+
jobs:
51+
multinode:
52+
name: Multinode
53+
uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/multinode.yml@main
54+
with:
55+
multinode_name: ${{ inputs.multinode_name }}
56+
os_distribution: ${{ inputs.os_distribution }}
57+
os_release: ${{ inputs.os_distribution == 'rocky' && '9' || 'jammy' }}
58+
ssh_username: ${{ inputs.os_distribution == 'rocky' && 'cloud-user' || 'ubuntu' }}
59+
neutron_plugin: ${{ inputs.neutron_plugin }}
60+
upgrade: ${{ inputs.upgrade }}
61+
break_on: ${{ inputs.break_on }}
62+
break_duration: ${{ inputs.break_duration }}
63+
ssh_key: ${{ inputs.ssh_key }}
64+
stackhpc_kayobe_config_version: ${{ github.ref_name }}
65+
# NOTE(upgrade): Reference the PREVIOUS release here.
66+
stackhpc_kayobe_config_previous_version: stackhpc/zed
67+
terraform_kayobe_multinode_version: ${{ inputs.terraform_kayobe_multinode_version }}
68+
secrets: inherit

0 commit comments

Comments
 (0)