diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-12-10 14:01:17 -0800 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-12-10 14:01:17 -0800 |
| commit | ce2d62f95cd9b62858c9b4ef37b418881ceaef07 (patch) | |
| tree | 98a6f9f15eb729e2e3248fb05a8dcf09637e24d3 /nova/utils.py | |
| parent | 0c6c7700299e225aee2c86fbe725c8e146b9f0d4 (diff) | |
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
Diffstat (limited to 'nova/utils.py')
| -rw-r--r-- | nova/utils.py | 23 |
1 files changed, 23 insertions, 0 deletions
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. |
