From 73e744d6b1087ee694d9cbcb29c4f827caeaccc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Alves?= Date: Wed, 9 Aug 2017 16:53:02 +0100 Subject: [PATCH] Removes listing of inaccessible subnets - Related-Bug: 1709249 - WARN when subnet is inaccessible Change-Id: I22fd07025300127d411803d4ea0351eb09c1ce64 --- ooi/api/helpers_neutron.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/ooi/api/helpers_neutron.py b/ooi/api/helpers_neutron.py index e4a332d..8b00f6b 100644 --- a/ooi/api/helpers_neutron.py +++ b/ooi/api/helpers_neutron.py @@ -14,8 +14,11 @@ from ooi.api import helpers from ooi import exception +from ooi.log import log as logging from ooi.openstack import helpers as os_helpers +LOG = logging.getLogger(__name__) + class OpenStackNeutron(helpers.BaseHelper): """Class to interact with the neutron API.""" @@ -275,6 +278,7 @@ class OpenStackNeutron(helpers.BaseHelper): :param req: the incoming network :param id: net identification """ + if id == os_helpers.PUBLIC_NETWORK: id = self._get_public_network(req) path = "/networks/%s" % id @@ -283,11 +287,16 @@ class OpenStackNeutron(helpers.BaseHelper): net = self.get_from_response(response, "network", {}) # subnet if "subnets" in net: - path = "/subnets/%s" % net["subnets"][0] - req_subnet = self._make_get_request(req, path) - response_subnet = req_subnet.get_response() - net["subnet_info"] = self.get_from_response( - response_subnet, "subnet", {}) + try: + path = "/subnets/%s" % net["subnets"][0] + req_subnet = self._make_get_request(req, path) + response_subnet = req_subnet.get_response() + net["subnet_info"] = self.get_from_response( + response_subnet, "subnet", {}) + except Exception: + LOG.warn( + "No details from the requested subnet can be fetched" + ) ooi_networks = self._build_networks([net]) @@ -623,4 +632,4 @@ class OpenStackNeutron(helpers.BaseHelper): secgroup = self.delete_resource(req, 'security-groups', sec_id) return secgroup except Exception: - raise exception.NotFound() \ No newline at end of file + raise exception.NotFound()