Public bug reported: Use rest API to create/update a fw_rule, the body like: { "firewall_rule": { "action": 123, "enabled": true, "name": "icmp_allow_no_limit", "protocol": "icmp" } }
neutron server hit internal error. 2016-12-14 10:00:14.982 ERROR neutron.api.v2.resource [req-ce38611f-17ab-4973-ab2d-2744b2a2df8b admin e9c26c7ba7854fde8095e90fadc0f3bb] update failed: No details. 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource Traceback (most recent call last): 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource result = method(request=request, **args) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 612, in update 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return self._update(request, id, body, **kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 92, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource self.force_reraise() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 88, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return f(*args, **kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource ectxt.value = e.inner_exc 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource self.force_reraise() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return f(*args, **kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource traceback.format_exc()) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource self.force_reraise() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 123, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return f(*dup_args, **dup_kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 619, in _update 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource allow_bulk=self._allow_bulk) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 727, in prepare_request_body 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource attributes.convert_value(attr_info, res_dict, webob.exc.HTTPBadRequest) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/attributes.py", line 326, in convert_value 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource res_dict[attr] = attr_vals['convert_to'](res_dict[attr]) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron-fwaas/neutron_fwaas/extensions/firewall.py", line 204, in convert_action_to_case_insensitive 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return value.lower() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource AttributeError: 'int' object has no attribute 'lower' ** Affects: neutron Importance: Undecided Assignee: zhaobo (zhaobo6) Status: In Progress ** Changed in: neutron Assignee: (unassigned) => zhaobo (zhaobo6) ** Summary changed: - Create/update fw_rule with integer value hit internal error + Create/update fw_rule action with integer value hit internal error -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1649833 Title: Create/update fw_rule action with integer value hit internal error Status in neutron: In Progress Bug description: Use rest API to create/update a fw_rule, the body like: { "firewall_rule": { "action": 123, "enabled": true, "name": "icmp_allow_no_limit", "protocol": "icmp" } } neutron server hit internal error. 2016-12-14 10:00:14.982 ERROR neutron.api.v2.resource [req-ce38611f-17ab-4973-ab2d-2744b2a2df8b admin e9c26c7ba7854fde8095e90fadc0f3bb] update failed: No details. 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource Traceback (most recent call last): 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource result = method(request=request, **args) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 612, in update 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return self._update(request, id, body, **kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 92, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource self.force_reraise() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 88, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return f(*args, **kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource ectxt.value = e.inner_exc 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource self.force_reraise() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return f(*args, **kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource traceback.format_exc()) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource self.force_reraise() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/db/api.py", line 123, in wrapped 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return f(*dup_args, **dup_kwargs) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 619, in _update 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource allow_bulk=self._allow_bulk) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/base.py", line 727, in prepare_request_body 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource attributes.convert_value(attr_info, res_dict, webob.exc.HTTPBadRequest) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron/neutron/api/v2/attributes.py", line 326, in convert_value 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource res_dict[attr] = attr_vals['convert_to'](res_dict[attr]) 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource File "/opt/stack/neutron-fwaas/neutron_fwaas/extensions/firewall.py", line 204, in convert_action_to_case_insensitive 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource return value.lower() 2016-12-14 10:00:14.982 TRACE neutron.api.v2.resource AttributeError: 'int' object has no attribute 'lower' To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1649833/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp