From f69e5608da4031eb54caeb13e2361b14272d73ae Mon Sep 17 00:00:00 2001 From: Adit Sarfaty Date: Sun, 13 Jan 2019 14:23:38 +0200 Subject: [PATCH] Support response status codes for LB HM Change-Id: Ifb63a2d910b02db25e9821c7cdd258837ba9a9d5 --- vmware_nsxlib/tests/unit/v3/test_utils.py | 2 +- vmware_nsxlib/v3/__init__.py | 2 ++ vmware_nsxlib/v3/load_balancer.py | 6 +++--- vmware_nsxlib/v3/nsx_constants.py | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/vmware_nsxlib/tests/unit/v3/test_utils.py b/vmware_nsxlib/tests/unit/v3/test_utils.py index dd9ef79e..9dfa378c 100644 --- a/vmware_nsxlib/tests/unit/v3/test_utils.py +++ b/vmware_nsxlib/tests/unit/v3/test_utils.py @@ -235,7 +235,7 @@ class TestNsxV3Utils(nsxlib_testcase.NsxClientTestCase): extra_args = ['fall_count', 'interval', 'monitor_port', 'request_body', 'request_method', 'request_url', 'request_version', 'response_body', - 'response_status', 'rise_count', 'timeout'] + 'response_status_codes', 'rise_count', 'timeout'] body = {'display_name': 'httpmonitor1', 'description': 'my http monitor'} expected = {'display_name': 'httpmonitor1', diff --git a/vmware_nsxlib/v3/__init__.py b/vmware_nsxlib/v3/__init__.py index 83cf9630..de120af5 100644 --- a/vmware_nsxlib/v3/__init__.py +++ b/vmware_nsxlib/v3/__init__.py @@ -154,6 +154,8 @@ class NsxLib(lib.NsxLibBase): # Features available since 2.3 if (feature == nsx_constants.FEATURE_ROUTER_ALLOCATION_PROFILE): return True + if (feature == nsx_constants.FEATURE_LB_HM_RESPONSE_CODES): + return True if (version.LooseVersion(self.get_version()) >= version.LooseVersion(nsx_constants.NSX_VERSION_2_2_0)): diff --git a/vmware_nsxlib/v3/load_balancer.py b/vmware_nsxlib/v3/load_balancer.py index c54ce1e7..b17493cf 100644 --- a/vmware_nsxlib/v3/load_balancer.py +++ b/vmware_nsxlib/v3/load_balancer.py @@ -246,7 +246,7 @@ class Monitor(LoadBalancerBase): extra_args = ['fall_count', 'interval', 'monitor_port', 'request_body', 'request_method', 'request_url', 'request_version', 'response_body', - 'response_status', 'rise_count', 'timeout'] + 'response_status_codes', 'rise_count', 'timeout'] return utils.build_extra_args(body, extra_args, **kwargs) elif resource_type == MonitorTypes.HTTPS: body['resource_type'] = resource_type @@ -254,8 +254,8 @@ class Monitor(LoadBalancerBase): 'client_certificate_id', 'fall_count', 'interval', 'monitor_port', 'protocols', 'request_body', 'request_method', 'request_url', 'request_version', - 'response_body', 'response_status', 'rise_count', - 'server_auth', 'server_auth_ca_ids', + 'response_body', 'response_status_codes', + 'rise_count', 'server_auth', 'server_auth_ca_ids', 'server_auth_crl_ids', 'timeout'] return utils.build_extra_args(body, extra_args, **kwargs) elif resource_type == MonitorTypes.ICMP: diff --git a/vmware_nsxlib/v3/nsx_constants.py b/vmware_nsxlib/v3/nsx_constants.py index 25f250e8..bbf965fa 100644 --- a/vmware_nsxlib/v3/nsx_constants.py +++ b/vmware_nsxlib/v3/nsx_constants.py @@ -147,6 +147,7 @@ FEATURE_DYNAMIC_CRITERIA = 'Dynamic criteria' FEATURE_EXCLUDE_PORT_BY_TAG = 'Exclude Port by Tag' FEATURE_ROUTER_FIREWALL = 'Router Firewall' FEATURE_LOAD_BALANCER = 'Load Balancer' +FEATURE_LB_HM_RESPONSE_CODES = 'Load Balancer HM response codes' FEATURE_DHCP_RELAY = 'DHCP Relay' FEATURE_VLAN_ROUTER_INTERFACE = 'VLAN Router Interface' FEATURE_RATE_LIMIT = 'Requests Rate Limit'