When you try to update a health monitor that is associated to a load balancer it fails with the followin error in neutron, but horizon shows the new value in the health monitor
2016-03-10 11:53:01.060 24586 DEBUG neutron.api.v2.base [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] Request body: {u'
health_monitor': {u'delay': 2, u'max_retries': 2, u'timeout': 2, u'admin_state_up': True}} prepare_request_body /usr/lib/python2.7/dist-packages/neutron/api/v2/base.py:654
2016-03-10 11:53:01.111 24586 DEBUG midonet.neutron.services.loadbalancer.driver [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753
- - -] MidonetLoadbalancerDriver.update_pool_health_monitor called: old_health_monitor={'admin_state_up': True, 'tenant_id': u'c91b653c93de45cea40d2376050a3753', 'delay': 3, 'max_retries': 2, 'timeout': 2, 'pools': [{'status': u'ACTIVE', 'status_description': u'', 'pool_id': u'20959c2e-4df6-4359-bcbb-64778c52e209'}], 'type': u'TCP', 'id': u'264ef76c-ebc1-4c3f-9000-2a57e9c3d01f'}, health_monitor={'admin_state_up': True, 'tenant_id': u'c91b653c93de45cea40d2376050a3753', 'delay': 2, 'max_retries': 2, 'timeout': 2, 'pools': [{'status': u'ACTIVE', 'status_description': u'', 'pool_id': u'20959c2e-4df6-4359-bcbb-64778c52e209'}], 'type': u'TCP', 'id': u'264ef76c-ebc1-4c3f-9000-2a57e9c3d01f'}, pool_id=u'20959c2e-4df6-4359-bcbb-64778c52e209' update_pool_health_monitor /usr/lib/python2.7/dist-packages/midonet/neutron/services/loadbalancer/driver.py:235
2016-03-10 11:53:01.112 24586 INFO midonetclient.neutron.loadbalancer [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] update_health_monitor {'admin_state_up': True, 'tenant_id': u'c91b653c93de45cea40d2376050a3753', 'delay': 2, 'max_retries': 2, 'timeout': 2, 'pools': [{'status': u'ACTIVE', 'status_description': u'', 'pool_id': u'20959c2e-4df6-4359-bcbb-64778c52e209'}], 'type': u'TCP', 'id': u'264ef76c-ebc1-4c3f-9000-2a57e9c3d01f'}
2016-03-10 11:53:01.114 24586 DEBUG midonetclient.api_lib [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] do_request: uri=http://10.99.99.20:8080/midonet-api/neutron/lb/health_monitors/264ef76c-ebc1-4c3f-9000-2a57e9c3d01f, method=PUT do_request /usr/lib/python2.7/dist-packages/midonetclient/api_lib.py:62
2016-03-10 11:53:01.115 24586 DEBUG midonetclient.api_lib [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] do_request: body={'admin_state_up': True, 'tenant_id': u'c91b653c93de45cea40d2376050a3753', 'delay': 2, 'max_retries': 2, 'timeout': 2, 'pools': [{'status': u'ACTIVE', 'status_description': u'', 'pool_id': u'20959c2e-4df6-4359-bcbb-64778c52e209'}], 'type': u'TCP', 'id': u'264ef76c-ebc1-4c3f-9000-2a57e9c3d01f'} do_request /usr/lib/python2.7/dist-packages/midonetclient/api_lib.py:63
2016-03-10 11:53:01.116 24586 DEBUG midonetclient.api_lib [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] do_request: headers={'Content-Type': 'application/vnd.org.midonet.neutron.lb.HealthMonitor-v1+json', 'X-Auth-Token': '676a5ccf8d1d41478f8fe7fd991d34b0'} do_request /usr/lib/python2.7/dist-packages/midonetclient/api_lib.py:64
2016-03-10 11:53:01.314 24586 DEBUG midonetclient.api_lib [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] do_request: response={'status': '200', 'content-length': '268', 'access-control-expose-headers': 'Location', 'server': 'Apache-Coyote/1.1', 'date': 'Thu, 10 Mar 2016 11:53:01 GMT', 'access-control-allow-origin': '*', 'access-control-allow-methods': 'GET, POST, PUT, DELETE, OPTIONS', 'content-type': 'application/vnd.org.midonet.neutron.lb.HealthMonitor-v1+json'} | content={"delay":2,"id":"264ef76c-ebc1-4c3f-9000-2a57e9c3d01f","pools":[{"status":"ACTIVE","pool_id":"20959c2e-4df6-4359-bcbb-64778c52e209","status_description":""}],"timeout":2,"type":"TCP","admin_state_up":true,"max_retries":2,"tenant_id":"c91b653c93de45cea40d2376050a3753"} do_request /usr/lib/python2.7/dist-packages/midonetclient/api_lib.py:79
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource [req-e606a651-6a9f-4b3e-9109-8ad174bbc18b 04f226cec33146498efd7df984deac97 c91b653c93de45cea40d2376050a3753 - - -] update failed
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource Traceback (most recent call last):
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/neutron/api/v2/resource.py", line 83, in resource
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource result = method(request=request, **args)
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 577, in update
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource return self._update(request, id, body, **kwargs)
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 146, in wrapper
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource ectxt.value = e.inner_exc
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 195, in __exit__
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 136, in wrapper
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 622, in _update
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource obj = obj_updater(request.context, id, **kwargs)
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/neutron_lbaas/services/loadbalancer/plugin.py", line 312, in update_health_monitor
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource hm, assoc['pool_id'])
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/midonet/neutron/services/loadbalancer/driver.py", line 240, in update_pool_health_monitor
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource old_health_monitor["id"], constants.ACTIVE)
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/dist-packages/neutron_lbaas/db/loadbalancer/loadbalancer_db.py", line 206, in update_status
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource if v_db.status != status:
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource AttributeError: 'HealthMonitor' object has no attribute 'status'
2016-03-10 11:53:01.321 24586 ERROR neutron.api.v2.resource
https:/ /review. openstack. org/297201