-
Bug
-
Resolution: Done-Errata
-
Normal
-
4.14
-
+
-
No
-
ShiftStack Sprint 238, ShiftStack Sprint 239, ShiftStack Sprint 240
-
3
-
False
-
-
-
Known Issue
-
Done
Description of problem:
When a machine is created with a compute availability zone (defined via mpool.zones) and a storage root volume (defined as mpool.rootVolume) and that rootVolume has no specified zones, CAPO will use the compute AZ for the volume AZ. This can be problematic if the AZ doesn't exist in Cinder. Source: https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/9d183bd479fe9aed4f6e7ac3d5eee46681c518e7/pkg/cloud/services/compute/instance.go#L439-L442
Version-Release number of selected component (if applicable):
All versions supporting rootVolume AZ.
Steps to Reproduce:
1. In install-config.yaml, add "zones" with valid Nova AZs, and a rootVolume without "zones". Your OpenStack cloud must not have Cinder AZs (only Nova AZs) 2. Day 1 deployment will go fine, Terraform will create the machines with no AZ. 3. Day 2 operation on machines will fail since CAPO tries to use the Nova AZ for the root volume if no volume AZ is provided, but since the AZ don't match between Cinder & Nova, the machine will never be created
Actual results:
Machine not created
Expected results:
Machine created in the right AZ for both Nova & Cinder