
This change moves all of the configuration options previously defined in "nova/paths" to the new centralized "nova/conf" directory. A subsequent patch will then improve the help texts. As the helper functions to create specific directories are only used for the default values of other config options, they got moved too. The default value of the config option "pybasedir" gets determined by the directory which contains it. The old directory was "nova/" and new directory is "nova/conf/". That made it necessary to move one additional directory upwards with "../../" to preserve the correct default value. bp centralize-config-options-newton Change-Id: I65fc8d83da660e131e89ce5849e7535e969adcb2
76 lines
2.4 KiB
Python
76 lines
2.4 KiB
Python
# Copyright 2010 United States Government as represented by the
|
|
# Administrator of the National Aeronautics and Space Administration.
|
|
# All Rights Reserved.
|
|
# Copyright 2012 Red Hat, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import os
|
|
import sys
|
|
|
|
from oslo_config import cfg
|
|
|
|
path_opts = [
|
|
cfg.StrOpt('pybasedir',
|
|
default=os.path.abspath(os.path.join(os.path.dirname(__file__),
|
|
'../../')),
|
|
help='Directory where the nova python module is installed'),
|
|
cfg.StrOpt('bindir',
|
|
default=os.path.join(sys.prefix, 'local', 'bin'),
|
|
help='Directory where nova binaries are installed'),
|
|
cfg.StrOpt('state_path',
|
|
default='$pybasedir',
|
|
help="Top-level directory for maintaining nova's state"),
|
|
]
|
|
|
|
|
|
def basedir_def(*args):
|
|
"""Return an uninterpolated path relative to $pybasedir."""
|
|
return os.path.join('$pybasedir', *args)
|
|
|
|
|
|
def bindir_def(*args):
|
|
"""Return an uninterpolated path relative to $bindir."""
|
|
return os.path.join('$bindir', *args)
|
|
|
|
|
|
def state_path_def(*args):
|
|
"""Return an uninterpolated path relative to $state_path."""
|
|
return os.path.join('$state_path', *args)
|
|
|
|
|
|
# TODO(markus_z): This needs to be removed in a new patch. No one uses this.
|
|
def basedir_rel(*args):
|
|
"""Return a path relative to $pybasedir."""
|
|
return os.path.join(cfg.CONF.pybasedir, *args)
|
|
|
|
|
|
# TODO(markus_z): This needs to be removed in a new patch. No one uses this.
|
|
def bindir_rel(*args):
|
|
"""Return a path relative to $bindir."""
|
|
return os.path.join(cfg.CONF.bindir, *args)
|
|
|
|
|
|
# TODO(markus_z): This needs to be removed in a new patch. No one uses this.
|
|
def state_path_rel(*args):
|
|
"""Return a path relative to $state_path."""
|
|
return os.path.join(cfg.CONF.state_path, *args)
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_opts(path_opts)
|
|
|
|
|
|
def list_opts():
|
|
return {"DEFAULT": path_opts}
|