Use oslo-config-generator to sync config file
Make terracotta support oslo-config-generator. Change-Id: I68ce58f95dda5cc5fb19136f0d9109460885b8db
This commit is contained in:
parent
70fc4850d0
commit
441bb5560d
@ -36,3 +36,6 @@ console_scripts =
|
|||||||
terracotta-global-manager = terracotta.cmd.global_manager:main
|
terracotta-global-manager = terracotta.cmd.global_manager:main
|
||||||
terracotta-local-manager = terracotta.cmd.local_manager:main
|
terracotta-local-manager = terracotta.cmd.local_manager:main
|
||||||
terracotta-collector = terracotta.cmd.collector:main
|
terracotta-collector = terracotta.cmd.collector:main
|
||||||
|
|
||||||
|
oslo.config.opts =
|
||||||
|
terracotta.config = terracotta.config:_config_options
|
||||||
|
@ -30,6 +30,15 @@ launch_opt = cfg.ListOpt(
|
|||||||
'global-manager, local-manager, and local-collector.'
|
'global-manager, local-manager, and local-collector.'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
use_debugger = cfg.BoolOpt(
|
||||||
|
"use-debugger",
|
||||||
|
default=False,
|
||||||
|
help='Enables debugger. Note that using this option changes how the '
|
||||||
|
'eventlet library is used to support async IO. This could result '
|
||||||
|
'in failures that do not occur under normal operation. '
|
||||||
|
'Use at your own risk.'
|
||||||
|
)
|
||||||
|
|
||||||
default_opts = [
|
default_opts = [
|
||||||
cfg.StrOpt('global_manager_host', default='controller',
|
cfg.StrOpt('global_manager_host', default='controller',
|
||||||
help='The name of the host running the global manager'),
|
help='The name of the host running the global manager'),
|
||||||
@ -70,6 +79,8 @@ api_opts = [
|
|||||||
cfg.IntOpt('port', default=9090, help='Terracotta API server port')
|
cfg.IntOpt('port', default=9090, help='Terracotta API server port')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
_API_GROUP = 'api'
|
||||||
|
|
||||||
pecan_opts = [
|
pecan_opts = [
|
||||||
cfg.StrOpt('root', default='terracotta.api.'
|
cfg.StrOpt('root', default='terracotta.api.'
|
||||||
'controllers.root.RootController',
|
'controllers.root.RootController',
|
||||||
@ -85,14 +96,7 @@ pecan_opts = [
|
|||||||
help='Enables user authentication in pecan.')
|
help='Enables user authentication in pecan.')
|
||||||
]
|
]
|
||||||
|
|
||||||
use_debugger = cfg.BoolOpt(
|
_PECAN_GROUP = 'pecan'
|
||||||
"use-debugger",
|
|
||||||
default=False,
|
|
||||||
help='Enables debugger. Note that using this option changes how the '
|
|
||||||
'eventlet library is used to support async IO. This could result '
|
|
||||||
'in failures that do not occur under normal operation. '
|
|
||||||
'Use at your own risk.'
|
|
||||||
)
|
|
||||||
|
|
||||||
global_manager_opts = [
|
global_manager_opts = [
|
||||||
cfg.StrOpt('host', default='0.0.0.0',
|
cfg.StrOpt('host', default='0.0.0.0',
|
||||||
@ -140,6 +144,8 @@ global_manager_opts = [
|
|||||||
'passed to the specified VM placement algorithm factory')
|
'passed to the specified VM placement algorithm factory')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
_GLOBAL_GROUP = 'global_manager'
|
||||||
|
|
||||||
local_manager_opts = [
|
local_manager_opts = [
|
||||||
cfg.StrOpt('host', default='0.0.0.0',
|
cfg.StrOpt('host', default='0.0.0.0',
|
||||||
help='Name of the local_manager node. This can be an opaque '
|
help='Name of the local_manager node. This can be an opaque '
|
||||||
@ -189,6 +195,8 @@ local_manager_opts = [
|
|||||||
'passed to the specified VM selection algorithm factory')
|
'passed to the specified VM selection algorithm factory')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
_LOCAL_GROUP = 'local_manager'
|
||||||
|
|
||||||
collector_opts = [
|
collector_opts = [
|
||||||
cfg.FloatOpt('host_cpu_overload_threshold', default=0.8,
|
cfg.FloatOpt('host_cpu_overload_threshold', default=0.8,
|
||||||
help='The threshold on the overall (all cores) utilization '
|
help='The threshold on the overall (all cores) utilization '
|
||||||
@ -204,6 +212,8 @@ collector_opts = [
|
|||||||
help='The message topic that the collector listens on.'),
|
help='The message topic that the collector listens on.'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
_COLLECTOR_GROUP = 'collector'
|
||||||
|
|
||||||
database_opts = [
|
database_opts = [
|
||||||
cfg.StrOpt('sql_connection', default='mysql://terracotta:terracottapasswd@'
|
cfg.StrOpt('sql_connection', default='mysql://terracotta:terracottapasswd@'
|
||||||
'controller/terracotta',
|
'controller/terracotta',
|
||||||
@ -212,21 +222,22 @@ database_opts = [
|
|||||||
'supported by SQLAlchemy')
|
'supported by SQLAlchemy')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
db_cleaner_opts = [
|
db_cleaner_opts = [
|
||||||
cfg.StrOpt('log_directory', default='/var/log/terracotta',
|
cfg.StrOpt('log_directory', default='/var/log/terracotta',
|
||||||
help='db_cleaner log directory')
|
help='db_cleaner log directory')
|
||||||
]
|
]
|
||||||
|
|
||||||
CONF = cfg.CONF
|
_DATABASE_GROUP = 'database'
|
||||||
|
|
||||||
CONF.register_opts(pecan_opts, group='pecan')
|
CONF = cfg.CONF
|
||||||
CONF.register_opts(default_opts, group='DEFAULT')
|
CONF.register_opts(default_opts, group='DEFAULT')
|
||||||
CONF.register_opts(api_opts, group='api')
|
CONF.register_opts(api_opts, group=_API_GROUP)
|
||||||
CONF.register_opts(global_manager_opts, group='global_manager')
|
CONF.register_opts(pecan_opts, group=_PECAN_GROUP)
|
||||||
CONF.register_opts(local_manager_opts, group='local_manager')
|
CONF.register_opts(global_manager_opts, group=_GLOBAL_GROUP)
|
||||||
CONF.register_opts(collector_opts, group='collector')
|
CONF.register_opts(local_manager_opts, group=_LOCAL_GROUP)
|
||||||
CONF.register_opts(database_opts, group='database')
|
CONF.register_opts(collector_opts, group=_COLLECTOR_GROUP)
|
||||||
CONF.register_opts(db_cleaner_opts, group='db_cleaner')
|
CONF.register_opts(database_opts, group=_DATABASE_GROUP)
|
||||||
|
|
||||||
CONF.register_cli_opt(use_debugger)
|
CONF.register_cli_opt(use_debugger)
|
||||||
CONF.register_cli_opt(launch_opt)
|
CONF.register_cli_opt(launch_opt)
|
||||||
@ -241,3 +252,13 @@ def parse_args(args=None, usage=None, default_config_files=None):
|
|||||||
usage=usage,
|
usage=usage,
|
||||||
default_config_files=default_config_files
|
default_config_files=default_config_files
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _config_options():
|
||||||
|
return [(None, default_opts),
|
||||||
|
(_API_GROUP, api_opts),
|
||||||
|
(_PECAN_GROUP, pecan_opts),
|
||||||
|
(_GLOBAL_GROUP, global_manager_opts),
|
||||||
|
(_LOCAL_GROUP, local_manager_opts),
|
||||||
|
(_COLLECTOR_GROUP, collector_opts),
|
||||||
|
(_DATABASE_GROUP, database_opts)]
|
||||||
|
3
tox.ini
3
tox.ini
@ -17,6 +17,9 @@ whitelist_externals = rm
|
|||||||
[testenv:cover]
|
[testenv:cover]
|
||||||
commands = python setup.py testr --coverage --testr-args='{posargs}'
|
commands = python setup.py testr --coverage --testr-args='{posargs}'
|
||||||
|
|
||||||
|
[testenv:genconfig]
|
||||||
|
commands = oslo-config-generator --config-file=etc/terracotta-config-generator.conf
|
||||||
|
|
||||||
[testenv:linters]
|
[testenv:linters]
|
||||||
commands =
|
commands =
|
||||||
bash tools/flake8wrap.sh {posargs}
|
bash tools/flake8wrap.sh {posargs}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user