Error on l7rule create

Bug #1607758 reported by Dmitriy
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
octavia
Fix Released
Undecided
Stephen Balukoff

Bug Description

So, I get this patch https://review.openstack.org/#/c/326018/
and then try to create l7rule like this:
neutron lbaas-l7rule-create l7policy-nney7h64zuqq --type PATH --compare-type REGEX --value blabla

cli shows error:
Driver error: Extra data: line 1 column 5 - line 5 column 61 (char 4 - 176)

In n-svc I see log:
2016-07-29 13:49:59.573 DEBUG neutron.api.v2.base [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Request body: {u'rule': {u'compare_type': u'REGEX', u'invert': False, u'ty
pe': u'PATH', u'value': u'blabla', u'admin_state_up': True}} from (pid=31202) prepare_request_body /opt/stack/neutron/neutron/api/v2/base.py:649
2016-07-29 13:49:59.575 DEBUG neutron.api.v2.base [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Unknown quota resources ['rule']. from (pid=31202) _create /opt/stack/neut
ron/neutron/api/v2/base.py:445
2016-07-29 13:50:00.155 INFO neutron_lbaas.services.loadbalancer.plugin [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Calling driver operation L7RuleManager.create
2016-07-29 13:50:00.673 DEBUG neutron_lbaas.drivers.octavia.driver [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] url = http://127.0.0.1:9876/v1/loadbalancers/94d2b0f8-826
5-490b-84e3-aa87a96774e6/listeners/87247cc7-064e-48fe-b39e-102230bcfbfb/l7policies/3003bb6e-50c0-402a-b012-d042e541f555/l7rules from (pid=31202) request /opt/stack/neutron-lbaas/neutron_lbaas/drivers/octav
ia/driver.py:137
2016-07-29 13:50:00.674 DEBUG neutron_lbaas.drivers.octavia.driver [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] args = {"compare_type": "REGEX", "invert": false, "value"
: "blabla", "key": null, "type": "PATH", "id": "c9b974c1-4bb1-45a8-aa11-adb4ea725e44"} from (pid=31202) request /opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py:138
2016-07-29 13:50:00.773 DEBUG neutron_lbaas.drivers.octavia.driver [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Octavia Response Code: 404 from (pid=31202) request /opt/
stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py:143
2016-07-29 13:50:00.775 DEBUG neutron_lbaas.drivers.octavia.driver [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Octavia Response Body: 404 Bad Request

The server could not comply with the request since it is either malformed or otherwise incorrect.

 L7 Policy 3003bb6e-50c0-402a-b012-d042e541f555 not found. from (pid=31202) request /opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py:144
2016-07-29 13:50:00.776 DEBUG neutron_lbaas.drivers.octavia.driver [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Octavia Response Headers: {'Date': 'Fri, 29 Jul 2016 10:5
0:00 GMT', 'Content-Length': '176', 'Content-Type': 'text/plain; charset=UTF-8', 'Server': 'WSGIServer/0.1 Python/2.7.6'} from (pid=31202) request /opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/dri
ver.py:145
2016-07-29 13:50:00.776 DEBUG neutron_lbaas.drivers.driver_mixins [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Starting failed_completion method after a failed driver ac
tion. from (pid=31202) failed_completion /opt/stack/neutron-lbaas/neutron_lbaas/drivers/driver_mixins.py:185
2016-07-29 13:50:00.777 DEBUG neutron_lbaas.drivers.driver_mixins [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Updating object of type <class 'neutron_lbaas.services.loa
dbalancer.data_models.L7Rule'> with id of c9b974c1-4bb1-45a8-aa11-adb4ea725e44 to provisioning_status = ERROR, operating_status = OFFLINE from (pid=31202) failed_completion /opt/stack/neutron-lbaas/neutron
_lbaas/drivers/driver_mixins.py:201
2016-07-29 13:50:00.803 DEBUG neutron_lbaas.drivers.driver_mixins [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] Updating load balancer 94d2b0f8-8265-490b-84e3-aa87a96774e
6 to provisioning_status = ACTIVE from (pid=31202) failed_completion /opt/stack/neutron-lbaas/neutron_lbaas/drivers/driver_mixins.py:208
2016-07-29 13:50:00.845 ERROR neutron_lbaas.services.loadbalancer.plugin [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] There was an error in the driver
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin Traceback (most recent call last):
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/opt/stack/neutron-lbaas/neutron_lbaas/services/loadbalancer/plugin.py", line 493, in _call_driver_operation
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin driver_method(context, db_entity, **kwargs)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py", line 118, in func_wrapper
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin args[0].failed_completion(args[1], args[2])
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin self.force_reraise()
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin six.reraise(self.type_, self.value, self.tb)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py", line 108, in func_wrapper
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin r = func(*args, **kwargs)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py", line 573, in create
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin self.driver.req.post(self._url(l7r), args)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py", line 150, in post
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin return self.request('POST', url, args)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/opt/stack/neutron-lbaas/neutron_lbaas/drivers/octavia/driver.py", line 147, in request
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin return r.json()
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 812, in json
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin return complexjson.loads(self.text, **kwargs)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/usr/local/lib/python2.7/dist-packages/simplejson/__init__.py", line 516, in loads
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin return _default_decoder.decode(s)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 373, in decode
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin raise JSONDecodeError("Extra data", s, end, len(s))
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin JSONDecodeError: Extra data: line 1 column 5 - line 5 column 61 (char 4 - 176)
2016-07-29 13:50:00.845 TRACE neutron_lbaas.services.loadbalancer.plugin
2016-07-29 13:50:00.895 ERROR neutron.api.v2.resource [req-3a0bb226-a7fa-4ebc-9366-373780b100bf demo 107ef683d1f54032adbd93b283279d6e] create failed: No details.
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource Traceback (most recent call last):
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource result = method(request=request, **args)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 397, in create
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource return self._create(request, body, **kwargs)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource ectxt.value = e.inner_exc
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource self.force_reraise()
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource return f(*args, **kwargs)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 510, in _create
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource obj = do_create(body)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 492, in do_create
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource request.context, reservation.reservation_id)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource self.force_reraise()
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 485, in do_create
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource return obj_creator(request.context, **kwargs)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron-lbaas/neutron_lbaas/services/loadbalancer/plugin.py", line 1290, in create_l7policy_rule
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource rule_db)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource File "/opt/stack/neutron-lbaas/neutron_lbaas/services/loadbalancer/plugin.py", line 501, in _call_driver_operation
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource raise loadbalancerv2.DriverError(msg=e)
2016-07-29 13:50:00.895 TRACE neutron.api.v2.resource DriverError: Driver error: Extra data: line 1 column 5 - line 5 column 61 (char 4 - 176)

Revision history for this message
Stephen Balukoff (sbalukoff) wrote :

I was able to reproduce this one; I think I know where the problem lies. Will see about uploading a patch to fix this later today.

Revision history for this message
Stephen Balukoff (sbalukoff) wrote :

Proposed fix for this is here: https://review.openstack.org/#/c/360138/

Changed in octavia:
assignee: nobody → Stephen Balukoff (sbalukoff)
Changed in octavia:
status: New → In Progress
Changed in octavia:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron-lbaas 9.0.0.0b3

This issue was fixed in the openstack/neutron-lbaas 9.0.0.0b3 development milestone.

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.