Reviewed: https://review.openstack.org/253267 Committed: https://git.openstack.org/cgit/openstack/python-neutronclient/commit/?id=af1a55bfd2e47b0e3cd8349f0a9b1277474fee18 Submitter: Jenkins Branch: master
commit af1a55bfd2e47b0e3cd8349f0a9b1277474fee18 Author: Akihiro Motoki <[email protected]> Date: Fri Dec 4 01:53:58 2015 +0900 Ensure to use exception per status code for all cases Previously, only when an exception has a content with {'NeutronError': {'type': xxxx, 'message': xxxx}}, exception per status code is raised from neutronclient library. There are cases where this kind of message is not contained in exception messages, for example, some extension is loaded. Library users expect an exception is raised based on response status code and it should not depend on an exception message. This commit applies a fallback logic to map generic per-status exception to all exception types from the neutron server. Closes-Bug: #1513879 Change-Id: Ib3d0a8359aed444b12217b3404d40443d61fc2c0 ** Changed in: python-neutronclient Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1513879 Title: NeutronClientException: 404 Not Found Status in neutron: Confirmed Status in OpenStack Compute (nova): Fix Released Status in python-neutronclient: Fix Released Status in tripleo: Triaged Bug description: Tripleo isn't currently working with trunk nova, the undercloud is failing to build overcloud instances, nova compute is showing this exception Nov 05 13:10:45 instack.localdomain nova-compute[21338]: 2015-11-05 13:10:45.163 21338 ERROR nova.virt.ironic.driver [req-7df4cae6-f00a- 41a2-91e0-db1e6f130059 a800cb834fbd4a70915e2272dce924ac 102a2b78e079410f9afd8b8b46278c19 - - -] Error preparing deploy for instance 9ae5b605-58e3-40ee-b944-56cbf5806e51 on baremetal node f5c30846-4ada-444e-85d9-6e3be2a74782. Nov 05 13:10:45 instack.localdomain nova-compute[21338]: 2015-11-05 13:10:45.434 21338 DEBUG nova.virt.ironic.driver [req-7df4cae6-f00a-41a2-91e0-db1e6f130059 a800cb834fbd4a70915e2272dce924ac 102a2b78e079410f9afd8b8b46278c19 - - -] unplug: instance_uuid=9ae5b605-58e3-40ee-b944-56cbf5806e51 vif=[] _unplug_vifs /usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py:1093 Instance failed to spawn Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2165, in _build_resources yield resources File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2012, in _build_and_run_instance block_device_info=block_device_info) File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 791, in spawn flavor=flavor) File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 197, in __exit__ six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 782, in spawn self._plug_vifs(node, instance, network_info) File "/usr/lib/python2.7/site-packages/nova/virt/ironic/driver.py", line 1058, in _plug_vifs network_info_str = str(network_info) File "/usr/lib/python2.7/site-packages/nova/network/model.py", line 515, in __str__ return self._sync_wrapper(fn, *args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/network/model.py", line 498, in _sync_wrapper self.wait() File "/usr/lib/python2.7/site-packages/nova/network/model.py", line 530, in wait self[:] = self._gt.wait() File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 175, in wait return self._exit_event.wait() File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 125, in wait current.throw(*self._exc) File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main result = function(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/utils.py", line 1178, in context_wrapper return func(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1574, in _allocate_network_async six.reraise(*exc_info) File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1557, in _allocate_network_async dhcp_options=dhcp_options) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 733, in allocate_for_instance update_cells=True) File "/usr/lib/python2.7/site-packages/nova/network/base_api.py", line 244, in get_instance_nw_info result = self._get_instance_nw_info(context, instance, **kwargs) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 930, in _get_instance_nw_info preexisting_port_ids) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1708, in _build_network_info_model current_neutron_port) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1560, in _nw_info_get_ips client, fixed_ip['ip_address'], port['id']) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1491, in _get_floating_ips_by_fixed_and_port port_id=port) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1475, in _safe_get_floating_ips for k, v in six.iteritems(kwargs)])) File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 197, in __exit__ six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py", line 1466, in _safe_get_floating_ips return client.list_floatingips(**kwargs)['floatingips'] File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 102, in with_params ret = self.function(instance, *args, **kwargs) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 734, in list_floatingips **_params) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 307, in list for r in self._pagination(collection, path, **params): File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 320, in _pagination res = self.get(path, params=params) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 293, in get headers=headers, params=params) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 270, in retry_request headers=headers, params=params) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 211, in do_request self._handle_fault_response(status_code, replybody) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 185, in _handle_fault_response exception_handler_v20(status_code, des_error_body) File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 83, in exception_handler_v20 message=message) NeutronClientException: 404 Not Found The resource could not be found. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1513879/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

