diff options
| author | Michael Still <mikal@stillhq.com> | 2012-10-25 20:40:42 +1100 |
|---|---|---|
| committer | Michael Still <mikal@stillhq.com> | 2012-10-25 21:48:50 +1100 |
| commit | 8aea16c14dd4e9119bb75bc818772e19b934f8ab (patch) | |
| tree | 499dbab3ea7b2cd96619f9e1d2d49f80cc1db096 /nova/api | |
| parent | d679f9424f81b96080b78312aa49cd1c21885408 (diff) | |
| download | nova-8aea16c14dd4e9119bb75bc818772e19b934f8ab.tar.gz nova-8aea16c14dd4e9119bb75bc818772e19b934f8ab.tar.xz nova-8aea16c14dd4e9119bb75bc818772e19b934f8ab.zip | |
Improve the performance of quantum detection.
Per https://review.openstack.org/#/c/14700 -- related to bug 1070509.
Change-Id: Ib9f829823136401a034b6bd3e1591508301132ba
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/compute/servers.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py index b8f52dda4..9c182f3a5 100644 --- a/nova/api/openstack/compute/servers.py +++ b/nova/api/openstack/compute/servers.py @@ -436,6 +436,7 @@ class Controller(wsgi.Controller): super(Controller, self).__init__(**kwargs) self.compute_api = compute.API() self.ext_mgr = ext_mgr + self.quantum_attempted = False @wsgi.serializers(xml=MinimalServersTemplate) def index(self, req): @@ -598,14 +599,19 @@ class Controller(wsgi.Controller): def _is_quantum_v2(self): # NOTE(dprince): quantumclient is not a requirement + if self.quantum_attempted: + return self.have_quantum + try: + self.quantum_attempted = True from nova.network.quantumv2 import api as quantum_api - return issubclass( + self.have_quantum = issubclass( importutils.import_class(FLAGS.network_api_class), - quantum_api.API - ) + quantum_api.API) except ImportError: - return False + self.have_quantum = False + + return self.have_quantum def _get_requested_networks(self, requested_networks): """Create a list of requested networks from the networks attribute.""" |
