From 65dd3cb043758daa1df964c6b5e22a6cbe8734d7 Mon Sep 17 00:00:00 2001 From: Pradeep Kilambi Date: Wed, 8 Nov 2017 13:04:09 -0500 Subject: [PATCH] Add support to generate a sample undercloud.conf This is needed to kick off undercloud install with --use-heat option. This includes new config options to configure containerized undercloud along with existing instack options. Change-Id: Ibebaf068018a790afdb599e4e6fbc79d3b2a57dc Partially-implements: blueprint heat-undercloud --- config-generator/undercloud.conf | 3 +++ setup.cfg | 3 +++ tox.ini | 3 +++ tripleoclient/v1/undercloud_config.py | 5 +++++ 4 files changed, 14 insertions(+) create mode 100644 config-generator/undercloud.conf diff --git a/config-generator/undercloud.conf b/config-generator/undercloud.conf new file mode 100644 index 000000000..af79e55d2 --- /dev/null +++ b/config-generator/undercloud.conf @@ -0,0 +1,3 @@ +[DEFAULT] +output_file = undercloud.conf.sample +namespace = undercloud_config diff --git a/setup.cfg b/setup.cfg index 9961e2f5d..02fa62a2d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -99,3 +99,6 @@ openstack.tripleoclient.v1 = undercloud_deploy = tripleoclient.v1.undercloud_deploy:DeployUndercloud undercloud_install = tripleoclient.v1.undercloud:InstallUndercloud undercloud_upgrade = tripleoclient.v1.undercloud:UpgradeUndercloud + +oslo.config.opts = + undercloud_config = tripleoclient.v1.undercloud_config:list_opts diff --git a/tox.ini b/tox.ini index 6efb9ecda..075686ef1 100644 --- a/tox.ini +++ b/tox.ini @@ -52,5 +52,8 @@ show-source = True builtins = _ exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,releasenotes +[testenv:genconfig] +commands = oslo-config-generator --config-file config-generator/undercloud.conf + [testenv:releasenotes] commands = bash -c tools/releasenotes_tox.sh diff --git a/tripleoclient/v1/undercloud_config.py b/tripleoclient/v1/undercloud_config.py index a067da34b..32e429200 100644 --- a/tripleoclient/v1/undercloud_config.py +++ b/tripleoclient/v1/undercloud_config.py @@ -15,6 +15,7 @@ """Plugin action implementation""" +import copy import logging import netaddr import os @@ -358,6 +359,10 @@ CONF.register_opts(_opts) LOG = logging.getLogger(__name__ + ".undercloud_config") +def list_opts(): + return [(None, copy.deepcopy(_opts))] + + def _load_config(): conf_params = [] if os.path.isfile(PATHS.CONF_PATH):