Enable automatic sample config generation

- Added an entry_point for oslo config generator
- Added a script to enumerate config options
- Added a tox target to invoke config generator

Change-Id: I16a2e622db18f8ac4deeecc17e87bb2b5edf3826
This commit is contained in:
Abhishek Chanda 2014-11-24 12:23:11 -08:00
parent 330ffea017
commit a71f6c7d10
3 changed files with 41 additions and 0 deletions

30
magnum/opts.py Normal file
View File

@ -0,0 +1,30 @@
# Copyright 2014
# The Cloudscaling Group, 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 itertools
import magnum.api.app
import magnum.api.auth
import magnum.backend.config
import magnum.conductor.config
def list_opts():
return [
('DEFAULT',
itertools.chain(magnum.api.app.API_SERVICE_OPTS,
magnum.api.auth.AUTH_OPTS,)),
('conductor', magnum.conductor.config.SERVICE_OPTS),
]

View File

@ -49,5 +49,8 @@ console_scripts =
magnum-conductor = magnum.cmd.conductor:main
magnum-backend = magnum.cmd.backend:main
oslo.config.opts =
magnum = magnum.opts:list_opts
[wheel]
universal = 1

View File

@ -24,6 +24,14 @@ commands = python setup.py testr --coverage --testr-args='{posargs}'
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:genconfig]
commands =
oslo-config-generator --output-file etc/magnum/magnum.conf.sample \
--namespace magnum \
--namespace oslo.db \
--namespace oslo.messaging \
--namespace keystonemiddleware.auth_token
[flake8]
# H803 skipped on purpose per list discussion.
# E125 is deliberately excluded. See https://github.com/jcrocholl/pep8/issues/126