Skip to content

Compute AZs should not be used as Volume AZs #1649

@stephenfin

Description

@stephenfin

/kind feature

Describe the solution you'd like

In #1030, we added support for defining root volume AZs, closing #1021. When this was implemented, a decision was made to use the MachineSpec's failureDomain attribute to populate rootVolume.availabilityZone if the latter was not configured. This feels like an anti-pattern. Compute AZs are not Volume AZs, and while they may be identical in smaller, simpler deployments with a single AZ (Cinder's default AZ is nova to allow this) or hyper-converged deployments, where nova-compute and cinder-volume run side-by-side on hosts, it's unlikely to be the case elsewhere. I've seen this pop up already in different deployments.

Is there any reason why we can't default to no implicit AZ or at least validate the implicit AZ exists?

Anything else you would like to add:

I'm not sure if this change in behavior would need to be placed behind an API version or not. Would welcome input in any case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions