From 0d2402b3fe8109160515f9b00dcdce3c35b8584e Mon Sep 17 00:00:00 2001 From: armando-migliaccio Date: Thu, 22 Aug 2013 13:12:15 -0700 Subject: [PATCH] Deal with 501 errors from NVP correctly This is done by adding the error code to the exception handlers dictionary as done for other error codes. Fixes bug #1215583 Change-Id: Ic876c6bccaf94cae626dfc908c4a34dfbcead406 --- neutron/plugins/nicira/NvpApiClient.py | 1 + neutron/tests/unit/nicira/fake_nvpapiclient.py | 2 +- neutron/tests/unit/nicira/test_nvplib.py | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/neutron/plugins/nicira/NvpApiClient.py b/neutron/plugins/nicira/NvpApiClient.py index b7c32e65e..3dcbc13b0 100644 --- a/neutron/plugins/nicira/NvpApiClient.py +++ b/neutron/plugins/nicira/NvpApiClient.py @@ -202,6 +202,7 @@ class NVPApiHelper(client_eventlet.NvpApiClientEventlet): 307: zero, 400: zero, 500: zero, + 501: zero, 503: zero} diff --git a/neutron/tests/unit/nicira/fake_nvpapiclient.py b/neutron/tests/unit/nicira/fake_nvpapiclient.py index 1aa96ccf9..2b73d4dc0 100644 --- a/neutron/tests/unit/nicira/fake_nvpapiclient.py +++ b/neutron/tests/unit/nicira/fake_nvpapiclient.py @@ -453,7 +453,7 @@ class FakeClient: relations = urlparse.parse_qs(parsedurl.query).get('relations') response_file = self.FAKE_GET_RESPONSES.get(res_type) if not response_file: - raise Exception("resource not found") + raise NvpApiClient.NvpApiException() if 'lport' in res_type or 'nat' in res_type: if len(uuids) > 1: return self._show(res_type, response_file, uuids[0], diff --git a/neutron/tests/unit/nicira/test_nvplib.py b/neutron/tests/unit/nicira/test_nvplib.py index 01383f6bb..2734feb8d 100644 --- a/neutron/tests/unit/nicira/test_nvplib.py +++ b/neutron/tests/unit/nicira/test_nvplib.py @@ -1379,6 +1379,14 @@ class TestNvplibClusterManagement(NvplibTestCase): self.assertRaises(nvp_exc.MaintenanceInProgress, nvplib.do_request, cluster=self.fake_cluster) + def test_cluster_method_not_implemetned(self): + self.assertRaises(NvpApiClient.NvpApiException, + nvplib.do_request, + nvplib.HTTP_GET, + nvplib._build_uri_path('MY_FAKE_RESOURCE', + resource_id='foo'), + cluster=self.fake_cluster) + def _nicira_method(method_name, module_name='nvplib'): return '%s.%s.%s' % ('neutron.plugins.nicira', module_name, method_name) -- 2.45.2