Specify availability zone to create instances and volumes
For clouds with separate AZs (like two independent fire compartments)
the cross_az_attach feature is typically used. But using this
feature the scenario tests in tempest will fail since Cinder/Nova
will schedule the AZ independently.
This patch introduces a new parameter compute_volume_common_az
to specify the availability zone to create instances and volumes,
so that we can confirm that these resources are created in the same
availability zone.
Change-Id: I565adbe2a3ebbdd1d73143380b976df1a9502d0f
Closes-bug: #1647999
diff --git a/tempest/config.py b/tempest/config.py
index 6830148..45eef64 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -357,6 +357,19 @@
"If both values are not specified, Tempest avoids tests "
"which require a microversion. Valid values are string "
"with format 'X.Y' or string 'latest'"),
+ cfg.StrOpt('compute_volume_common_az',
+ default=None,
+ help='AZ to be used for Cinder and Nova. Set this parameter '
+ 'when the cloud has nova.conf: cinder.cross_az_attach '
+ 'set to false. Which means volumes attached to an '
+ 'instance must be in the same availability zone in Cinder '
+ 'as the instance availability zone in Nova. Set the '
+ 'common availability zone in this config which will be '
+ 'used to boot an instance as well as creating a volume. '
+ 'NOTE: If that AZ is not in Cinder (or '
+ 'allow_availability_zone_fallback=False in cinder.conf), '
+ 'the volume create request will fail and the instance '
+ 'will fail the build request.'),
]
placement_group = cfg.OptGroup(name='placement',