Can't update a health monitor if it's associated to a load balancer

Bug #1555581 reported by Antonio Ojea
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-midonet
Fix Released
Medium
YAMAMOTO Takashi

Bug Description

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

Changed in networking-midonet:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
YAMAMOTO Takashi (yamamoto) wrote :
Changed in networking-midonet:
assignee: nobody → YAMAMOTO Takashi (yamamoto)
milestone: none → 2.0.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-midonet (master)

Reviewed: https://review.openstack.org/297201
Committed: https://git.openstack.org/cgit/openstack/networking-midonet/commit/?id=e61173fbe81017660b21c704fcc6f359b8751de3
Submitter: Jenkins
Branch: master

commit e61173fbe81017660b21c704fcc6f359b8751de3
Author: YAMAMOTO Takashi <email address hidden>
Date: Thu Mar 24 23:48:29 2016 +0900

    LBaaS: Fix AttributeError on healthmonitor update

    A healthmonitor doesn't have its own status.

    Closes-Bug: #1555581
    Change-Id: I1c6b4124c21d7703868e9795159f31148fdfc5aa

Changed in networking-midonet:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.