Handle empty delay on update healthmonitor
Check that delay field is not UnsetType before further validation Closes-Bug: #2059894 Change-Id: Ia853d43dc273019c76da09104f31aa7e1b154fec
This commit is contained in:
parent
fa7cc01787
commit
824b51a1da
@ -188,7 +188,9 @@ class HealthMonitorController(base.BaseController):
|
||||
request.type == consts.HEALTH_MONITOR_UDP_CONNECT)
|
||||
conf_min_delay = (
|
||||
CONF.api_settings.udp_connect_min_interval_health_monitor)
|
||||
if hm_is_type_udp and request.delay < conf_min_delay:
|
||||
if (hm_is_type_udp and
|
||||
not isinstance(request.delay, wtypes.UnsetType) and
|
||||
request.delay < conf_min_delay):
|
||||
raise exceptions.ValidationException(detail=_(
|
||||
"The request delay value %(delay)s should be larger than "
|
||||
"%(conf_min_delay)s for %(type)s health monitor type.") % {
|
||||
|
@ -1782,6 +1782,24 @@ class TestHealthMonitor(base.BaseAPITest):
|
||||
pool_prov_status=constants.PENDING_UPDATE,
|
||||
hm_prov_status=constants.PENDING_UPDATE)
|
||||
|
||||
def test_update_udp_case_with_udp_hm(self):
|
||||
api_hm = self.create_health_monitor(
|
||||
self.udp_pool_with_listener_id,
|
||||
constants.HEALTH_MONITOR_UDP_CONNECT, 3, 1, 1, 1).get(
|
||||
self.root_tag)
|
||||
self.set_lb_status(self.udp_lb_id)
|
||||
new_hm = {'timeout': 2}
|
||||
self.put(
|
||||
self.HM_PATH.format(healthmonitor_id=api_hm.get('id')),
|
||||
self._build_body(new_hm))
|
||||
self.assert_correct_status(
|
||||
lb_id=self.udp_lb_id, listener_id=self.udp_listener_id,
|
||||
pool_id=self.udp_pool_with_listener_id, hm_id=api_hm.get('id'),
|
||||
lb_prov_status=constants.PENDING_UPDATE,
|
||||
listener_prov_status=constants.PENDING_UPDATE,
|
||||
pool_prov_status=constants.PENDING_UPDATE,
|
||||
hm_prov_status=constants.PENDING_UPDATE)
|
||||
|
||||
def test_negative_update_udp_case(self):
|
||||
api_hm = self.create_health_monitor(
|
||||
self.udp_pool_with_listener_id,
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixed error on update UDP Health Monitor with empty "delay" parameter
|
Loading…
Reference in New Issue
Block a user