From 5e56f4def8064a172917ba6fd21efd043522e4ce Mon Sep 17 00:00:00 2001 From: Maurice Schreiber Date: Thu, 1 Feb 2018 16:27:40 +0100 Subject: [PATCH] NetApp cDOT driver skip vserver route with no gateway Skip route creation if user decided to configure neutron network without a gateway. Closes-Bug: #1777126 Change-Id: Ic54e3aa7fc8327464110fff40d02c690d8b19122 (cherry picked from commit a7c4eb9c194ab60c22c366e9fe5a5713baae72e8) --- manila/share/drivers/netapp/dataontap/client/client_cmode.py | 2 ++ .../drivers/netapp/dataontap/client/test_client_cmode.py | 5 +++++ ...tapp-skip-route-setup-if-no-gateway-e841635dcd20fd12.yaml | 5 +++++ 3 files changed, 12 insertions(+) create mode 100644 releasenotes/notes/bug-1777126-netapp-skip-route-setup-if-no-gateway-e841635dcd20fd12.yaml diff --git a/manila/share/drivers/netapp/dataontap/client/client_cmode.py b/manila/share/drivers/netapp/dataontap/client/client_cmode.py index 31610a7017..ee49c5c0ee 100644 --- a/manila/share/drivers/netapp/dataontap/client/client_cmode.py +++ b/manila/share/drivers/netapp/dataontap/client/client_cmode.py @@ -659,6 +659,8 @@ class NetAppCmodeClient(client_base.NetAppBaseClient): @na_utils.trace def create_route(self, gateway, destination=None): + if not gateway: + return if not destination: if ':' in gateway: destination = '::/0' diff --git a/manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode.py b/manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode.py index 87c87bd629..0a32e38382 100644 --- a/manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode.py +++ b/manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode.py @@ -1249,6 +1249,11 @@ class NetAppClientCmodeTestCase(test.TestCase): self.client.send_request.assert_called_once_with( 'net-routes-create', expected_api_args) + def test_create_route_without_gateway(self): + self.mock_object(self.client, 'send_request') + self.client.create_route(None, destination=fake.SUBNET) + self.assertFalse(self.client.send_request.called) + def test_ensure_broadcast_domain_for_port_domain_match(self): port_info = { diff --git a/releasenotes/notes/bug-1777126-netapp-skip-route-setup-if-no-gateway-e841635dcd20fd12.yaml b/releasenotes/notes/bug-1777126-netapp-skip-route-setup-if-no-gateway-e841635dcd20fd12.yaml new file mode 100644 index 0000000000..57c8e8e608 --- /dev/null +++ b/releasenotes/notes/bug-1777126-netapp-skip-route-setup-if-no-gateway-e841635dcd20fd12.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - The NetApp driver has been fixed to not enforce route creation when the + share network provided has no gateway. See `Launchpad bug 1777126 + `_ for details.