Tier-1 GW: Allow to set multicast on specific locale-service
This patch adds an optional 'service_id' parameter to multicast enablement / disablement methods to allow multicast to be set also for locale-services whose id was not auto-generated by vmware-nsxlib. Change-Id: I68d0149179eea3177252f4986ce1b2d085b0950b
This commit is contained in:
parent
58340e6272
commit
f6f86385ae
@ -1327,29 +1327,32 @@ class NsxPolicyTier1Api(NsxPolicyResourceBase):
|
|||||||
tenant=tenant)
|
tenant=tenant)
|
||||||
return self._list(t1interface_def)
|
return self._list(t1interface_def)
|
||||||
|
|
||||||
def get_multicast(self, tier1_id, tenant=constants.POLICY_INFRA_TENANT):
|
def get_multicast(self, tier1_id, service_id=None,
|
||||||
|
tenant=constants.POLICY_INFRA_TENANT):
|
||||||
mcast_def = core_defs.Tier1MulticastDef(
|
mcast_def = core_defs.Tier1MulticastDef(
|
||||||
tier1_id=tier1_id,
|
tier1_id=tier1_id,
|
||||||
service_id=self._locale_service_id(tier1_id),
|
service_id=(service_id or
|
||||||
|
self._locale_service_id(tier1_id)),
|
||||||
tenant=tenant)
|
tenant=tenant)
|
||||||
mcast_data = self.policy_api.get(mcast_def)
|
mcast_data = self.policy_api.get(mcast_def)
|
||||||
return mcast_data.get('enabled')
|
return mcast_data.get('enabled')
|
||||||
|
|
||||||
def _set_multicast(self, tier1_id, enabled, tenant):
|
def _set_multicast(self, tier1_id, enabled, service_id, tenant):
|
||||||
args = {'tier1_id': tier1_id,
|
args = {'tier1_id': tier1_id,
|
||||||
'service_id': self._locale_service_id(tier1_id),
|
'service_id': (service_id or
|
||||||
|
self._locale_service_id(tier1_id)),
|
||||||
'enabled': enabled,
|
'enabled': enabled,
|
||||||
'tenant': tenant}
|
'tenant': tenant}
|
||||||
mcast_def = core_defs.Tier1MulticastDef(**args)
|
mcast_def = core_defs.Tier1MulticastDef(**args)
|
||||||
self.policy_api.create_or_update(mcast_def)
|
self.policy_api.create_or_update(mcast_def)
|
||||||
|
|
||||||
def enable_multicast(self, tier1_id,
|
def enable_multicast(self, tier1_id, service_id=None,
|
||||||
tenant=constants.POLICY_INFRA_TENANT):
|
tenant=constants.POLICY_INFRA_TENANT):
|
||||||
self._set_multicast(tier1_id, True, tenant)
|
self._set_multicast(tier1_id, True, service_id, tenant)
|
||||||
|
|
||||||
def disable_multicast(self, tier1_id,
|
def disable_multicast(self, tier1_id, service_id=None,
|
||||||
tenant=constants.POLICY_INFRA_TENANT):
|
tenant=constants.POLICY_INFRA_TENANT):
|
||||||
self._set_multicast(tier1_id, False, tenant)
|
self._set_multicast(tier1_id, False, service_id, tenant)
|
||||||
|
|
||||||
def get_realized_state(self, tier1_id, entity_type=None,
|
def get_realized_state(self, tier1_id, entity_type=None,
|
||||||
tenant=constants.POLICY_INFRA_TENANT,
|
tenant=constants.POLICY_INFRA_TENANT,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user