Generate ansible.cfg for UC/standalone deployments
Add CLI command that allows to generate and manually
customize the default ansible configuration used with
UC/standalone deployments. Use the config generator
from tripleo common ansible actions for that.
If there is no pre-created user's ansible.cfg in
--output-dir, generate the default one with as a part of
the deployment command.
NOTE: This is a queens only version that does not include the user cli
option as it's not implemented in Queens.
Closes-Bug: #1883600
Change-Id: I695916e9271392127635834078e57655857182f1
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
(cherry picked from commit a9dd33a8c1
)
This commit is contained in:
parent
dc91fc4175
commit
a310a3d53c
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
``tripleo config generate ansible`` generates the default ``ansible.cfg``
|
||||||
|
in the given ``--output-dir`` (defaults to `$HOME`).
|
||||||
|
|
||||||
|
.. note:: Do not confuse the generated config with ``~/.ansible.cfg``.
|
||||||
|
The latter takes the lower precedence.
|
||||||
|
|
||||||
|
You may want to customize the generated config so it will be used
|
||||||
|
with all undercloud and standalone deployments.
|
||||||
|
|
||||||
|
.. note:: Overcloud deployments use Mistral workflows to configure ansible
|
||||||
|
for its own use, but the basic configuration it takes looks very
|
||||||
|
similar.
|
|
@ -57,6 +57,7 @@ openstack.cli.extension =
|
||||||
tripleoclient = tripleoclient.plugin
|
tripleoclient = tripleoclient.plugin
|
||||||
|
|
||||||
openstack.tripleoclient.v1 =
|
openstack.tripleoclient.v1 =
|
||||||
|
tripleo_config_generate_ansible = tripleoclient.v1.tripleo_config:GenerateAnsibleConfig
|
||||||
overcloud_netenv_validate = tripleoclient.v1.overcloud_netenv_validate:ValidateOvercloudNetenv
|
overcloud_netenv_validate = tripleoclient.v1.overcloud_netenv_validate:ValidateOvercloudNetenv
|
||||||
overcloud_config_download = tripleoclient.v1.overcloud_config:DownloadConfig
|
overcloud_config_download = tripleoclient.v1.overcloud_config:DownloadConfig
|
||||||
overcloud_container_image_upload = tripleoclient.v1.container_image:UploadImage
|
overcloud_container_image_upload = tripleoclient.v1.container_image:UploadImage
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Copyright 2018 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.
|
||||||
|
#
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from cliff import command
|
||||||
|
from osc_lib.i18n import _
|
||||||
|
|
||||||
|
# For ansible.cfg generation
|
||||||
|
from tripleo_common.actions import ansible
|
||||||
|
|
||||||
|
|
||||||
|
class GenerateAnsibleConfig(command.Command):
|
||||||
|
"""Generate the default ansible.cfg for deployments."""
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__ + ".GenerateAnsibleConfig")
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description=self.get_description(),
|
||||||
|
prog=prog_name,
|
||||||
|
add_help=False
|
||||||
|
)
|
||||||
|
parser.add_argument('--output-dir',
|
||||||
|
dest='output_dir',
|
||||||
|
help=_("Directory to output ansible.cfg and "
|
||||||
|
"ansible.log files."),
|
||||||
|
default='.')
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
self.log.debug("take_action(%s)" % parsed_args)
|
||||||
|
ansible.write_default_ansible_cfg(parsed_args.output_dir)
|
Loading…
Reference in New Issue