Fix policy LB statistics & status getters

Change-Id: I7f9ff4007c3b4da1f167dced16e7f3362c2410f6
This commit is contained in:
Adit Sarfaty 2019-04-28 16:10:10 +03:00
parent cf6de6b6fe
commit f25312a48d
3 changed files with 73 additions and 3 deletions

View File

@ -641,6 +641,35 @@ class TestPolicyLBService(test_resources.NsxPolicyLibTestCase):
connectivity_path=connectivity_path)
self.assert_called_with_def(update_call, expected_def)
def test_get_status(self):
obj_id = '111'
with mock.patch.object(self.policy_api, "get") as api_call:
self.resourceApi.get_status(obj_id, tenant=TEST_TENANT)
expected_def = lb_defs.LBServiceStatusDef(
lb_service_id=obj_id,
tenant=TEST_TENANT)
self.assert_called_with_def(api_call, expected_def)
def test_get_statistics(self):
obj_id = '111'
with mock.patch.object(self.policy_api, "get") as api_call:
self.resourceApi.get_statistics(obj_id, tenant=TEST_TENANT)
expected_def = lb_defs.LBServiceStatisticsDef(
lb_service_id=obj_id,
tenant=TEST_TENANT)
self.assert_called_with_def(api_call, expected_def)
def test_get_virtual_server_status(self):
obj_id = '111'
vs_id = '222'
with mock.patch.object(self.policy_api, "get") as api_call:
self.resourceApi.get_virtual_server_status(
obj_id, vs_id, tenant=TEST_TENANT)
expected_def = lb_defs.LBVirtualServerStatusDef(
lb_service_id=obj_id,
tenant=TEST_TENANT)
self.assert_called_with_def(api_call, expected_def)
class TestPolicyLBVirtualServer(test_resources.NsxPolicyLibTestCase):

View File

@ -393,6 +393,17 @@ class LBServiceStatisticsDef(ResourceDef):
return ('tenant', 'lb_service_id', '')
class LBServiceStatusDef(ResourceDef):
@property
def path_pattern(self):
return LB_SERVICES_PATH_PATTERN + '%s/detailed-status/'
@property
def path_ids(self):
return ('tenant', 'lb_service_id', '')
class LBServiceUsageDef(ResourceDef):
@property
@ -404,6 +415,18 @@ class LBServiceUsageDef(ResourceDef):
return ('tenant', 'lb_service_id', '')
class LBVirtualServerStatusDef(ResourceDef):
@property
def path_pattern(self):
return (LB_SERVICES_PATH_PATTERN +
'%s/lb-virtual-servers/%s/detailed-status/')
@property
def path_ids(self):
return ('tenant', 'lb_service_id', 'lb_virtual_server_id', '')
class LBMonitorProfileBaseDef(ResourceDef):
addl_attrs = ['interval', 'timeout', 'fall_count', 'rise_count']

View File

@ -610,13 +610,31 @@ class NsxPolicyLoadBalancerServiceApi(NsxPolicyResourceBase):
connectivity_path=connectivity_path,
tenant=tenant)
def get_status(self, lb_service_id):
lb_service_status_def = (
def get_statistics(self, lb_service_id,
tenant=constants.POLICY_INFRA_TENANT):
lb_service_stats_def = (
lb_defs.LBServiceStatisticsDef(
lb_service_id=lb_service_id,
tenant=constants.POLICY_INFRA_TENANT))
tenant=tenant))
return self.policy_api.get(lb_service_stats_def)
def get_status(self, lb_service_id,
tenant=constants.POLICY_INFRA_TENANT):
lb_service_status_def = (
lb_defs.LBServiceStatusDef(
lb_service_id=lb_service_id,
tenant=tenant))
return self.policy_api.get(lb_service_status_def)
def get_virtual_server_status(self, lb_service_id, lb_virtual_server_id,
tenant=constants.POLICY_INFRA_TENANT):
lb_vs_status_def = (
lb_defs.LBVirtualServerStatusDef(
lb_service_id=lb_service_id,
lb_virtual_server_id=lb_virtual_server_id,
tenant=tenant))
return self.policy_api.get(lb_vs_status_def)
def get_usage(self, lb_service_id):
lb_service_status_def = lb_defs.LBServiceUsageDef(
lb_service_id=lb_service_id,