Skip to content

Add optional availabilityZone.from:Machine to disks.#263

Open
garloff wants to merge 2 commits intomainfrom
feat/support-multi-az-volumepin
Open

Add optional availabilityZone.from:Machine to disks.#263
garloff wants to merge 2 commits intomainfrom
feat/support-multi-az-volumepin

Conversation

@garloff
Copy link
Copy Markdown
Member

@garloff garloff commented Apr 24, 2026

Previously capo defaulted to creating disks in the failureDomain (availability zone) of the virtual machine that is created. In some clouds this is a requirement for good performance or to be able to attach the disk at all.
Other clouds have a global AZ for disks, so we need a pararmeter to control this.

So we introduce three new boolean variables, all defaulting to false: controlPlaneRootDiskPin
workerRootDiskPin
workerAdditionalBlockDevicesPin
which control whether we set
availabilityZone/from: Machine for the respective disks.

Needs testing!

Previously capo defaulted to creating disks in the failureDomain
(availability zone) of the virtual machine that is created. In some
clouds this is a requirement for good performance or to be able to
attach the disk at all.
Other clouds have a global AZ for disks, so we need a pararmeter
to control this.

So we introduce three new boolean variables, all defaulting to false:
controlPlaneRootDiskPin
workerRootDiskPin
workerAdditionalBlockDevicesPin
which control whether we set
availabilityZone/from: Machine for the respective disks.

Signed-off-by: Kurt Garloff <kurt@garloff.de>
@garloff garloff requested a review from jschoone April 24, 2026 17:33
@garloff garloff self-assigned this Apr 24, 2026
@garloff garloff added enhancement New feature or request Container Issues or pull requests relevant for Team 2: Container Infra and Tooling labels Apr 24, 2026
@garloff garloff marked this pull request as draft April 24, 2026 17:33
@garloff
Copy link
Copy Markdown
Member Author

garloff commented Apr 24, 2026

This should address #262.
Needs testing, so I set to draft.

@garloff
Copy link
Copy Markdown
Member Author

garloff commented Apr 24, 2026

OK, looks good so far. Use openstack-scs2-1-34-v0-git-f4ddbaf for testing.
Here are two clusters with 1+3 and 3+3 and workerRootDiskPin=true and controlPlaneAvailabilityZones=[nbg1,nbg3,nbg6] and controlPlaneOmitAvailabilityZone=false.

linux@infra-mgmt(:openstack):~/scs-training-kaas-scripts [2]$ osc compute server list -f id -f name -f "os-ext-az:availability_zone" -f flavor -f status --sort-key display_name 
┌──────────────────────────────────────┬──────────────────────────────┬────────┬──────────────┬─────────────────────────────┐
│ id                                   ┆ name                         ┆ status ┆ flavor       ┆ OS-EXT-AZ:availability_zone │
╞══════════════════════════════════════╪══════════════════════════════╪════════╪══════════════╪═════════════════════════════╡
│ a2cab588-d258-4429-a780-6aeaee2036ae ┆ zuul-md-2-7jjnp-7sxrb-gqhms  ┆ ACTIVE ┆ SCS-8V-32    ┆ nbg6                        │
│ ff09e6c2-ecc0-491e-806f-a6fc2a4ebc19 ┆ zuul-md-1-vq7j7-psw4m-xtwsk  ┆ ACTIVE ┆ SCS-8V-32    ┆ nbg3                        │
│ ea0d58d4-3215-4489-b74e-bfd0d7d7e86c ┆ zuul-md-0-bnr4n-7jxln-rtgd4  ┆ ACTIVE ┆ SCS-8V-32    ┆ nbg1                        │
│ d978aefb-8990-4d12-9f7c-15268b0e3247 ┆ zuul-4rft9-kvppg             ┆ ACTIVE ┆ SCS-2V-4-20s ┆ nbg1                        │
│ 6a61679c-7cc2-42a6-8259-c39c7369c74a ┆ Infra-Mgmt                   ┆ ACTIVE ┆ SCS-2V-4     ┆ nbg6                        │
│ 29ca3411-e55e-4855-8266-5cbc8c6eba48 ┆ infra-md-2-hxm9s-kdgq7-8hl6d ┆ ACTIVE ┆ SCS-4V-16    ┆ nbg6                        │
│ 021ca9d1-f70e-4f8a-86ff-08d7afcc7239 ┆ infra-md-1-qb4l8-xqck4-4pt2z ┆ ACTIVE ┆ SCS-4V-16    ┆ nbg3                        │
│ ab01ff3d-f865-4e4a-98a4-2fe25314b1b2 ┆ infra-md-0-z5cdp-xf9wc-vfhbt ┆ ACTIVE ┆ SCS-4V-16    ┆ nbg1                        │
│ 5175315d-5429-43ac-965c-0c528fd1e584 ┆ infra-lmj8t-bgl6r            ┆ ACTIVE ┆ SCS-2V-4-20s ┆ nbg1                        │
│ 9aee5840-246d-4a74-a60f-a6b6e0597ed7 ┆ infra-lmj8t-46c9c            ┆ ACTIVE ┆ SCS-2V-4-20s ┆ nbg3                        │
│ cc5c012d-4b66-43ac-9527-084f5458bdff ┆ infra-lmj8t-2hhpw            ┆ ACTIVE ┆ SCS-2V-4-20s ┆ nbg6                        │
└──────────────────────────────────────┴──────────────────────────────┴────────┴──────────────┴─────────────────────────────┘

@garloff garloff marked this pull request as ready for review April 25, 2026 08:28
@garloff garloff requested review from Nils98Ar and schneidarno April 29, 2026 14:25
@garloff
Copy link
Copy Markdown
Member Author

garloff commented Apr 29, 2026

Reviews would be nice ...

@Nils98Ar
Copy link
Copy Markdown
Member

Is there a reason to use 3 separate variables instead of only one like volumesInSameAZ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Container Issues or pull requests relevant for Team 2: Container Infra and Tooling enhancement New feature or request

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

2 participants