diff --git a/vmware_nsx/plugins/nsx_v/availability_zones.py b/vmware_nsx/plugins/nsx_v/availability_zones.py index b1a6b9c541..4f7f5735bd 100644 --- a/vmware_nsx/plugins/nsx_v/availability_zones.py +++ b/vmware_nsx/plugins/nsx_v/availability_zones.py @@ -250,3 +250,6 @@ class NsxVAvailabilityZones(common_az.ConfiguredAvailabilityZones): def get_additional_datacenter(self): return self.get_unique_non_default_param("datacenter_moid") + + def get_additional_dvs_ids(self): + return self.get_unique_non_default_param("dvs_id") diff --git a/vmware_nsx/plugins/nsx_v/plugin.py b/vmware_nsx/plugins/nsx_v/plugin.py index f7e55d7fe2..23e00e5017 100644 --- a/vmware_nsx/plugins/nsx_v/plugin.py +++ b/vmware_nsx/plugins/nsx_v/plugin.py @@ -4219,6 +4219,10 @@ class NsxVPluginV2(addr_pair_db.AllowedAddressPairsMixin, raise nsx_exc.NsxResourceNotFound( res_name='dvs_id', res_id=cfg.CONF.nsxv.dvs_id) + for dvs_id in self._availability_zones_data.get_additional_dvs_ids(): + if not self.nsx_v.vcns.validate_dvs(dvs_id): + raise nsx_exc.NsxAZResourceNotFound( + res_name='dvs_id', res_id=dvs_id) # Validate the global & per-AZ validate_datacenter_moid if not self.nsx_v.vcns.validate_datacenter_moid(