Merge "[ovn]Get network availability_zones from Logical_Switch"
This commit is contained in:
commit
4b1047f398
|
@ -362,6 +362,8 @@ class OVNMechanismDriver(api.MechanismDriver):
|
||||||
get_availability_zones)
|
get_availability_zones)
|
||||||
self.patch_plugin_choose("validate_availability_zones",
|
self.patch_plugin_choose("validate_availability_zones",
|
||||||
validate_availability_zones)
|
validate_availability_zones)
|
||||||
|
self.patch_plugin_choose("get_network_availability_zones",
|
||||||
|
get_network_availability_zones)
|
||||||
|
|
||||||
# Now IDL connections can be safely used.
|
# Now IDL connections can be safely used.
|
||||||
self._post_fork_event.set()
|
self._post_fork_event.set()
|
||||||
|
@ -1312,3 +1314,13 @@ def validate_availability_zones(cls, context, resource_type,
|
||||||
if diff:
|
if diff:
|
||||||
raise az_exc.AvailabilityZoneNotFound(
|
raise az_exc.AvailabilityZoneNotFound(
|
||||||
availability_zone=', '.join(diff))
|
availability_zone=', '.join(diff))
|
||||||
|
|
||||||
|
|
||||||
|
def get_network_availability_zones(cls, network, _driver):
|
||||||
|
lswitch = _driver._nb_ovn.get_lswitch(network['id'])
|
||||||
|
if not lswitch:
|
||||||
|
return []
|
||||||
|
|
||||||
|
return [az.strip() for az in lswitch.external_ids.get(
|
||||||
|
ovn_const.OVN_AZ_HINTS_EXT_ID_KEY, '').split(',')
|
||||||
|
if az.strip()]
|
||||||
|
|
Loading…
Reference in New Issue