Skip to content

Commit 5ee3d28

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 6281412 commit 5ee3d28

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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+
- always
38+
- failure
39+
- never
40+
- success
41+
break_duration:
42+
description: How long to break execution for (minutes)
43+
type: number
44+
default: 60
45+
ssh_key:
46+
description: SSH public key to authorise on Ansible control host
47+
type: string
48+
terraform_kayobe_multinode_version:
49+
description: terraform-kayobe-multinode version
50+
type: string
51+
default: main
52+
jobs:
53+
multinode:
54+
name: Multinode
55+
uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/[email protected]
56+
with:
57+
multinode_name: ${{ inputs.multinode_name }}
58+
os_distribution: ${{ inputs.os_distribution }}
59+
os_release: ${{ inputs.os_distribution == 'rocky' && '9' || 'jammy' }}
60+
ssh_username: ${{ inputs.os_distribution == 'rocky' && 'cloud-user' || 'ubuntu' }}
61+
neutron_plugin: ${{ inputs.neutron_plugin }}
62+
upgrade: ${{ inputs.upgrade }}
63+
break_on: ${{ inputs.break_on }}
64+
break_duration: ${{ inputs.break_duration }}
65+
ssh_key: ${{ inputs.ssh_key }}
66+
stackhpc_kayobe_config_version: ${{ github.ref_name }}
67+
# NOTE(upgrade): Reference the PREVIOUS release here.
68+
stackhpc_kayobe_config_previous_version: stackhpc/zed
69+
terraform_kayobe_multinode_version: ${{ inputs.terraform_kayobe_multinode_version }}
70+
secrets: inherit

0 commit comments

Comments
 (0)