Bug 1641977 - If ansible task fails, a traceback is shown in the logs swallowing original issue
Summary: If ansible task fails, a traceback is shown in the logs swallowing original i...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-networking-ansible
Version: 14.0 (Rocky)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: beta
: 14.0 (Rocky)
Assignee: Jakub Libosvar
QA Contact: Arkady Shtempler
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-10-23 09:37 UTC by Jakub Libosvar
Modified: 2019-01-11 11:54 UTC (History)
3 users (show)

Fixed In Version: python-networking-ansible-1.0.4-2.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-01-11 11:54:09 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 612646 0 None None None 2018-10-23 09:38:00 UTC
Red Hat Product Errata RHEA-2019:0045 0 None None None 2019-01-11 11:54:19 UTC

Description Jakub Libosvar 2018-10-23 09:37:40 UTC
Description of problem:
Deleting a BM machine ends in the ERROR state because of failure in ansible mech driver:
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers [req-5ccccc44-3620-4d6c-954b-18c49d9f3813 559f1fcece264b988034b9ee4baab93b dff18e00cf484510a7c4c7a275ad07c2 - default default] Mechanism driver ansible failed in bind_port: TypeError: 'NoneType' object has no attribute '__getitem__'
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers Traceback (most recent call last):
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers   File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/managers.py", line 783, in _bind_port_level
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers     driver.obj.bind_port(context)
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers   File "/usr/lib/python2.7/site-packages/networking_ansible/ml2/mech_driver.py", line 235, in bind_port
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers     context.network.current)
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers   File "/usr/lib/python2.7/site-packages/networking_ansible/ansible_networking.py", line 130, in vlan_access_port
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers     segmentation_id, switch_port)
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers   File "/usr/lib/python2.7/site-packages/networking_ansible/ansible_networking.py", line 77, in _run_task
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers     failures = result.stats['failures']
2018-10-23 08:58:31.968 27 ERROR neutron.plugins.ml2.managers TypeError: 'NoneType' object has no attribute '__getitem__'

Version-Release number of selected component (if applicable):
python2-networking-ansible-1.0.4-1.el7ost.noarch

How reproducible:
Always

Steps to Reproduce:
1. Create an instance from BM
2. Delete the instance
3.

Actual results:
| fault                               | {u'message': u'Node 2908cf7a-59aa-4a36-b7d0-7d23f1412956 can not be updated while a state transition is in progress. (HTTP 409)', u'code': 500, u'details': u'  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 204, in decorated_function\n    return function(self, context, *args, **kwargs)\n  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2682, in terminate_instance\n    do_terminate_instance(instance, bdms)\n  File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in inner\n    return f(*args, **kwargs)\n  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2680, in do_terminate_instance\n    self._set_instance_obj_error_state(context, instance)\n  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__\n    self.force_reraise()\n  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise\n    six.reraise(self.type_, self.value, self.tb)\n  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2670, in do_terminate_instance\n    self._delete_instance(context, instance, bdms)\n  File "/usr/lib/python2.7/site-packages/nova/hooks.py", line 154, in inner\n    rv = f(*args, **kwargs)\n  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2613, in _delete_instance\n    self._shutdown_instance(context, instance, bdms)\n  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2505, in _shutdown_instance\n    requested_networks)\n  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__\n    self.force_reraise()\n  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise\n    six.reraise(self.type_, self.value, self.tb)\n  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2492, in _shutdown_instance\n    block_device_info)\n  File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 1256, in destroy\n    self._cleanup_deploy(node, instance, network_info)\n  File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 478, in _cleanup_deploy\n    self._remove_instance_info_from_node(node, instance)\n  File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 413, in _remove_instance_info_from_node\n    self.ironicclient.call(\'node.update\', node.uuid, patch)\n  File "/usr/lib/python2.7/site-packages/nova/virt/ironic/client_wrapper.py", line 170, in call\n    return self._multi_getattr(client, method)(*args, **kwargs)\n  File "/usr/lib/python2.7/site-packages/ironicclient/v1/node.py", line 359, in update\n    params=params)\n  File "/usr/lib/python2.7/site-packages/ironicclient/common/base.py", line 232, in _update\n    resp, body = self.api.json_request(method, url, **kwargs)\n  File "/usr/lib/python2.7/site-packages/ironicclient/common/http.py", line 678, in json_request\n    resp = self._http_request(url, method, **kwargs)\n  File "/usr/lib/python2.7/site-packages/ironicclient/common/http.py", line 287, in wrapper\n    return func(self, url, method, **kwargs)\n  File "/usr/lib/python2.7/site-packages/ironicclient/common/http.py", line 660, in _http_request\n    error_json.get(\'debuginfo\'), method, url)\n', u'created': u'2018-10-23T09:01:56Z'} |


Expected results:
Server is deleted and BM is available (which BTW is, just that server remains in ERROR state)


Additional info:
Works in upstream

Comment 5 errata-xmlrpc 2019-01-11 11:54:09 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:0045


Note You need to log in before you can comment on or make changes to this bug.