Moves find config to utils because it is useful
This is to prepare for a future patch will will use find config to load other config files. Change-Id: Ic9bd9027baf518734c3f51f516651b80d1e752f2
This commit is contained in:
@@ -810,8 +810,8 @@ class MalformedRequestBody(NovaException):
|
|||||||
message = _("Malformed message body: %(reason)s")
|
message = _("Malformed message body: %(reason)s")
|
||||||
|
|
||||||
|
|
||||||
class PasteConfigNotFound(NotFound):
|
class ConfigNotFound(NotFound):
|
||||||
message = _("Could not find paste config at %(path)s")
|
message = _("Could not find config at %(path)s")
|
||||||
|
|
||||||
|
|
||||||
class PasteAppNotFound(NotFound):
|
class PasteAppNotFound(NotFound):
|
||||||
|
|||||||
@@ -77,6 +77,29 @@ def import_object(import_str):
|
|||||||
return cls()
|
return cls()
|
||||||
|
|
||||||
|
|
||||||
|
def find_config(config_path):
|
||||||
|
"""Find a configuration file using the given hint.
|
||||||
|
|
||||||
|
:param config_path: Full or relative path to the config.
|
||||||
|
:returns: Full path of the config, if it exists.
|
||||||
|
:raises: `nova.exception.ConfigNotFound`
|
||||||
|
|
||||||
|
"""
|
||||||
|
possible_locations = [
|
||||||
|
config_path,
|
||||||
|
os.path.join(FLAGS.state_path, "etc", "nova", config_path),
|
||||||
|
os.path.join(FLAGS.state_path, "etc", config_path),
|
||||||
|
os.path.join(FLAGS.state_path, config_path),
|
||||||
|
"/etc/nova/%s" % config_path,
|
||||||
|
]
|
||||||
|
|
||||||
|
for path in possible_locations:
|
||||||
|
if os.path.exists(path):
|
||||||
|
return os.path.abspath(path)
|
||||||
|
|
||||||
|
raise exception.ConfigNotFound(path=os.path.abspath(config_path))
|
||||||
|
|
||||||
|
|
||||||
def vpn_ping(address, port, timeout=0.05, session_id=None):
|
def vpn_ping(address, port, timeout=0.05, session_id=None):
|
||||||
"""Sends a vpn negotiation packet and returns the server session.
|
"""Sends a vpn negotiation packet and returns the server session.
|
||||||
|
|
||||||
|
|||||||
24
nova/wsgi.py
24
nova/wsgi.py
@@ -375,29 +375,7 @@ class Loader(object):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
config_path = config_path or FLAGS.api_paste_config
|
config_path = config_path or FLAGS.api_paste_config
|
||||||
self.config_path = self._find_config(config_path)
|
self.config_path = utils.find_config(config_path)
|
||||||
|
|
||||||
def _find_config(self, config_path):
|
|
||||||
"""Find the paste configuration file using the given hint.
|
|
||||||
|
|
||||||
:param config_path: Full or relative path to the paste config.
|
|
||||||
:returns: Full path of the paste config, if it exists.
|
|
||||||
:raises: `nova.exception.PasteConfigNotFound`
|
|
||||||
|
|
||||||
"""
|
|
||||||
possible_locations = [
|
|
||||||
config_path,
|
|
||||||
os.path.join(FLAGS.state_path, "etc", "nova", config_path),
|
|
||||||
os.path.join(FLAGS.state_path, "etc", config_path),
|
|
||||||
os.path.join(FLAGS.state_path, config_path),
|
|
||||||
"/etc/nova/%s" % config_path,
|
|
||||||
]
|
|
||||||
|
|
||||||
for path in possible_locations:
|
|
||||||
if os.path.exists(path):
|
|
||||||
return os.path.abspath(path)
|
|
||||||
|
|
||||||
raise exception.PasteConfigNotFound(path=os.path.abspath(config_path))
|
|
||||||
|
|
||||||
def load_app(self, name):
|
def load_app(self, name):
|
||||||
"""Return the paste URLMap wrapped WSGI application.
|
"""Return the paste URLMap wrapped WSGI application.
|
||||||
|
|||||||
Reference in New Issue
Block a user