HTTPS HMs need the same validation path as HTTP++
Second take on this patch, didn't realize the Create and the Update paths were different. Same exact change as the other patch, but in the update validation method. For reference: https://review.openstack.org/#/c/604924/ Change-Id: I916ccb7658d4849b3c208405ec40fc1a0eab4ba7
This commit is contained in:
parent
2ea3ed8c48
commit
2c88c553ae
@ -257,7 +257,8 @@ class HealthMonitorController(base.BaseController):
|
|||||||
return db_hm
|
return db_hm
|
||||||
|
|
||||||
def _validate_update_hm(self, db_hm, health_monitor):
|
def _validate_update_hm(self, db_hm, health_monitor):
|
||||||
if db_hm.type != consts.HEALTH_MONITOR_HTTP:
|
if db_hm.type not in (consts.HEALTH_MONITOR_HTTP,
|
||||||
|
consts.HEALTH_MONITOR_HTTPS):
|
||||||
if health_monitor.http_method != wtypes.Unset:
|
if health_monitor.http_method != wtypes.Unset:
|
||||||
raise exceptions.InvalidOption(
|
raise exceptions.InvalidOption(
|
||||||
value=consts.HTTP_METHOD, option='health monitors of '
|
value=consts.HTTP_METHOD, option='health monitors of '
|
||||||
|
@ -1129,6 +1129,29 @@ class TestHealthMonitor(base.BaseAPITest):
|
|||||||
healthmonitor_id=api_hm.get('id'))).json.get(self.root_tag)
|
healthmonitor_id=api_hm.get('id'))).json.get(self.root_tag)
|
||||||
self.assertEqual(2, response[constants.MAX_RETRIES])
|
self.assertEqual(2, response[constants.MAX_RETRIES])
|
||||||
|
|
||||||
|
def test_update_HTTPS(self):
|
||||||
|
api_hm = self.create_health_monitor(
|
||||||
|
self.pool_with_listener_id,
|
||||||
|
constants.HEALTH_MONITOR_HTTPS, 1, 1, 1, 1,
|
||||||
|
admin_state_up=False, expected_codes='200',
|
||||||
|
http_method='GET', name='Test HM', url_path='/').get(self.root_tag)
|
||||||
|
self.set_lb_status(self.lb_id)
|
||||||
|
self.assertEqual('/', api_hm[constants.URL_PATH])
|
||||||
|
new_hm = {constants.URL_PATH: '/health'}
|
||||||
|
self.put(
|
||||||
|
self.HM_PATH.format(healthmonitor_id=api_hm.get('id')),
|
||||||
|
self._build_body(new_hm))
|
||||||
|
self.assert_correct_status(
|
||||||
|
lb_id=self.lb_id, listener_id=self.listener_id,
|
||||||
|
pool_id=self.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)
|
||||||
|
response = self.get(self.HM_PATH.format(
|
||||||
|
healthmonitor_id=api_hm.get('id'))).json.get(self.root_tag)
|
||||||
|
self.assertEqual('/health', response[constants.URL_PATH])
|
||||||
|
|
||||||
def test_update_TCP(self):
|
def test_update_TCP(self):
|
||||||
api_hm = self.create_health_monitor(
|
api_hm = self.create_health_monitor(
|
||||||
self.pool_with_listener_id,
|
self.pool_with_listener_id,
|
||||||
|
Loading…
Reference in New Issue
Block a user