Skip to content

Commit 9bd1e07

Browse files
committed
CI: Minor multinode-inputs.py refactor
1 parent 015ffb7 commit 9bd1e07

File tree

1 file changed

+5
-14
lines changed

1 file changed

+5
-14
lines changed

.github/workflows/multinode-inputs.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,59 +6,52 @@
66
import random
77
import typing as t
88

9-
109
@dataclass
1110
class OSRelease:
1211
distribution: str
1312
release: str
1413
ssh_username: str
1514

16-
1715
@dataclass
1816
class OpenStackRelease:
1917
version: str
20-
previous_version: str
2118
os_releases: t.List[OSRelease]
2219

23-
2420
@dataclass
2521
class Scenario:
2622
openstack_release: OpenStackRelease
2723
os_release: OSRelease
2824
neutron_plugin: str
2925
upgrade: str
3026

31-
3227
ROCKY_9 = OSRelease("rocky", "9", "cloud-user")
3328
UBUNTU_JAMMY = OSRelease("ubuntu", "jammy", "ubuntu")
3429
UBUNTU_NOBLE = OSRelease("ubuntu", "noble", "ubuntu")
3530
# NOTE(upgrade): Add supported releases here.
3631
OPENSTACK_RELEASES = [
37-
OpenStackRelease("2023.1", "zed", [ROCKY_9, UBUNTU_JAMMY]),
38-
OpenStackRelease("2024.1", "2023.1", [ROCKY_9, UBUNTU_JAMMY]),
39-
OpenStackRelease("2025.1", "2024.1", [ROCKY_9, UBUNTU_NOBLE]),
32+
OpenStackRelease("2023.1", [ROCKY_9, UBUNTU_JAMMY]),
33+
OpenStackRelease("2024.1", [ROCKY_9, UBUNTU_JAMMY]),
34+
OpenStackRelease("2025.1", [ROCKY_9, UBUNTU_NOBLE]),
4035
]
4136
NEUTRON_PLUGINS = ["ovs", "ovn"]
42-
37+
VERSION_HIERARCHY = ["zed","2023.1","2024.1","2025.1"]
4338

4439
def main() -> None:
4540
scenario = random_scenario()
4641
inputs = generate_inputs(scenario)
4742
for name, value in inputs.items():
4843
write_output(name, value)
4944

50-
5145
def random_scenario() -> Scenario:
5246
openstack_release = random.choice(OPENSTACK_RELEASES)
5347
os_release = random.choice(openstack_release.os_releases)
5448
neutron_plugin = random.choice(NEUTRON_PLUGINS)
5549
upgrade = 'major' if random.random() > 0.6 else 'none'
5650
return Scenario(openstack_release, os_release, neutron_plugin, upgrade)
5751

58-
5952
def generate_inputs(scenario: Scenario) -> t.Dict[str, str]:
6053
branch = get_branch(scenario.openstack_release.version)
61-
previous_branch = get_branch(scenario.openstack_release.previous_version)
54+
previous_branch = get_branch(VERSION_HIERARCHY[VERSION_HIERARCHY.index(scenario.openstack_release.version) - 1])
6255
inputs = {
6356
"os_distribution": scenario.os_release.distribution,
6457
"os_release": scenario.os_release.release,
@@ -70,14 +63,12 @@ def generate_inputs(scenario: Scenario) -> t.Dict[str, str]:
7063
}
7164
return inputs
7265

73-
7466
def get_branch(version: str) -> str:
7567
return f"stackhpc/{version}"
7668

7769

7870
def write_output(name: str, value: str) -> None:
7971
print(f"{name}={value}")
8072

81-
8273
if __name__ == "__main__":
8374
main()

0 commit comments

Comments
 (0)