From ce2d62f95cd9b62858c9b4ef37b418881ceaef07 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Sat, 10 Dec 2011 14:01:17 -0800 Subject: 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 --- nova/utils.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'nova/utils.py') diff --git a/nova/utils.py b/nova/utils.py index e79d57622..adf45debd 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -77,6 +77,29 @@ def import_object(import_str): 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): """Sends a vpn negotiation packet and returns the server session. -- cgit