Add policy Edge Cluster resource
Change-Id: Ie302a242af96d8512799e2c525e5fae6a13bf980
This commit is contained in:
parent
1d5334ab39
commit
1adf6670a7
|
@ -292,6 +292,15 @@ class TestPolicyTransportZone(policy_testcase.TestPolicyApi):
|
|||
self.assert_json_call('GET', self.client, tz_path)
|
||||
|
||||
|
||||
class TestPolicyEdgeCluster(policy_testcase.TestPolicyApi):
|
||||
|
||||
def test_get(self):
|
||||
ec_def = policy.EdgeClusterDef(ec_id='ec1', ep_id='default')
|
||||
self.policy_api.get(ec_def)
|
||||
ec_path = ec_def.get_resource_path()
|
||||
self.assert_json_call('GET', self.client, ec_path)
|
||||
|
||||
|
||||
class TestPolicyDeploymentMap(policy_testcase.TestPolicyApi):
|
||||
|
||||
def test_create(self):
|
||||
|
|
|
@ -1708,6 +1708,37 @@ class TestPolicyTransportZone(NsxPolicyLibTestCase):
|
|||
self.assert_called_with_def(api_call, expected_def)
|
||||
|
||||
|
||||
class TestPolicyEdgeCluster(NsxPolicyLibTestCase):
|
||||
|
||||
def setUp(self, *args, **kwargs):
|
||||
super(TestPolicyEdgeCluster, self).setUp()
|
||||
self.resourceApi = self.policy_lib.edge_cluster
|
||||
|
||||
def test_get(self):
|
||||
id = '111'
|
||||
with mock.patch.object(self.policy_api, "get") as api_call:
|
||||
self.resourceApi.get(id, tenant=TEST_TENANT)
|
||||
expected_def = core_defs.EdgeClusterDef(ec_id=id,
|
||||
tenant=TEST_TENANT)
|
||||
self.assert_called_with_def(api_call, expected_def)
|
||||
|
||||
def test_get_by_name(self):
|
||||
name = 'tz1'
|
||||
with mock.patch.object(
|
||||
self.policy_api, "list",
|
||||
return_value={'results': [{'display_name': name}]}) as api_call:
|
||||
obj = self.resourceApi.get_by_name(name, tenant=TEST_TENANT)
|
||||
self.assertIsNotNone(obj)
|
||||
expected_def = core_defs.EdgeClusterDef(tenant=TEST_TENANT)
|
||||
self.assert_called_with_def(api_call, expected_def)
|
||||
|
||||
def test_list(self):
|
||||
with mock.patch.object(self.policy_api, "list") as api_call:
|
||||
self.resourceApi.list(tenant=TEST_TENANT)
|
||||
expected_def = core_defs.EdgeClusterDef(tenant=TEST_TENANT)
|
||||
self.assert_called_with_def(api_call, expected_def)
|
||||
|
||||
|
||||
class TestPolicyTier1(NsxPolicyLibTestCase):
|
||||
|
||||
def setUp(self, *args, **kwargs):
|
||||
|
|
|
@ -76,6 +76,8 @@ class NsxPolicyLib(lib.NsxLibBase):
|
|||
*args)
|
||||
self.transport_zone = core_resources.NsxPolicyTransportZoneApi(
|
||||
*args)
|
||||
self.edge_cluster = core_resources.NsxPolicyEdgeClusterApi(
|
||||
*args)
|
||||
self.deployment_map = core_resources.NsxPolicyDeploymentMapApi(
|
||||
*args)
|
||||
self.ip_block = core_resources.NsxPolicyIpBlockApi(*args)
|
||||
|
|
|
@ -1177,6 +1177,25 @@ class TransportZoneDef(ResourceDef):
|
|||
return True
|
||||
|
||||
|
||||
class EdgeClusterDef(ResourceDef):
|
||||
|
||||
@property
|
||||
def path_pattern(self):
|
||||
return EDGE_CLUSTER_PATTERN
|
||||
|
||||
@property
|
||||
def path_ids(self):
|
||||
return ('tenant', 'ep_id', 'ec_id')
|
||||
|
||||
@staticmethod
|
||||
def resource_type():
|
||||
return 'PolicyEdgeCluster'
|
||||
|
||||
@staticmethod
|
||||
def resource_use_cache():
|
||||
return True
|
||||
|
||||
|
||||
# Currently assumes one deployment point per id
|
||||
class DeploymentMapDef(ResourceDef):
|
||||
|
||||
|
|
|
@ -2343,7 +2343,6 @@ class NsxPolicyEnforcementPointApi(NsxPolicyResourceBase):
|
|||
|
||||
|
||||
class NsxPolicyTransportZoneApi(NsxPolicyResourceBase):
|
||||
"""NSX Policy Enforcement Point."""
|
||||
|
||||
TZ_TYPE_OVERLAY = 'OVERLAY_STANDARD'
|
||||
TZ_TYPE_ENS = 'OVERLAY_ENS'
|
||||
|
@ -2416,6 +2415,55 @@ class NsxPolicyTransportZoneApi(NsxPolicyResourceBase):
|
|||
raise exceptions.ManagerError(details=err_msg)
|
||||
|
||||
|
||||
class NsxPolicyEdgeClusterApi(NsxPolicyResourceBase):
|
||||
@property
|
||||
def entry_def(self):
|
||||
return core_defs.EdgeClusterDef
|
||||
|
||||
def get(self, ec_id, ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT, silent=False):
|
||||
ec_def = core_defs.EdgeClusterDef(
|
||||
ep_id=ep_id, ec_id=ec_id, tenant=tenant)
|
||||
return self.policy_api.get(ec_def, silent=silent)
|
||||
|
||||
def list(self, ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT):
|
||||
ec_def = core_defs.EdgeClusterDef(ep_id=ep_id, tenant=tenant)
|
||||
return self._list(ec_def)
|
||||
|
||||
def get_by_name(self, name,
|
||||
ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT):
|
||||
"""Return first group matched by name"""
|
||||
return super(NsxPolicyEdgeClusterApi, self).get_by_name(
|
||||
name, ep_id, tenant=tenant)
|
||||
|
||||
def create_or_overwrite(self, name, ec_id=None,
|
||||
ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT):
|
||||
err_msg = (_("This action is not supported"))
|
||||
raise exceptions.ManagerError(details=err_msg)
|
||||
|
||||
def update(self, ec_id,
|
||||
ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT):
|
||||
err_msg = (_("This action is not supported"))
|
||||
raise exceptions.ManagerError(details=err_msg)
|
||||
|
||||
def delete(self, ec_id,
|
||||
ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT):
|
||||
err_msg = (_("This action is not supported"))
|
||||
raise exceptions.ManagerError(details=err_msg)
|
||||
|
||||
def get_path(self, ec_id,
|
||||
ep_id=constants.DEFAULT_ENFORCEMENT_POINT,
|
||||
tenant=constants.POLICY_INFRA_TENANT):
|
||||
ec_def = core_defs.EdgeClusterDef(
|
||||
ep_id=ep_id, ec_id=ec_id, tenant=tenant)
|
||||
return ec_def.get_resource_full_path()
|
||||
|
||||
|
||||
class NsxPolicyDeploymentMapApi(NsxPolicyResourceBase):
|
||||
"""NSX Policy Deployment Map."""
|
||||
@property
|
||||
|
|
Loading…
Reference in New Issue