Add commands to generate and save overcloud service configuration
Adds these commands: kayobe overcloud service configuration generate kayobe overcloud service configuration save The former generates configuration for kolla-ansible, the latter copies kolla-ansible configuration from the overcloud hosts to the ansible control host.
This commit is contained in:
parent
b83bb6ed09
commit
de32048646
@ -494,6 +494,69 @@ class OvercloudHostUpgrade(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin,
|
|||||||
self.run_kayobe_playbooks(parsed_args, playbooks)
|
self.run_kayobe_playbooks(parsed_args, playbooks)
|
||||||
|
|
||||||
|
|
||||||
|
class OvercloudServiceConfigurationGenerate(KayobeAnsibleMixin,
|
||||||
|
KollaAnsibleMixin, VaultMixin,
|
||||||
|
Command):
|
||||||
|
"""Generate the overcloud service configuration files."""
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(OvercloudServiceConfigurationGenerate,
|
||||||
|
self).get_parser(prog_name)
|
||||||
|
group = parser.add_argument_group("Service Configuration")
|
||||||
|
group.add_argument("--node-config-dir",
|
||||||
|
help="the directory to store the config files on "
|
||||||
|
"the remote node (default /etc/kolla)")
|
||||||
|
group.add_argument("--skip-prechecks", action='store_true',
|
||||||
|
help="skip the kolla-ansible prechecks command")
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
self.app.LOG.debug("Generating overcloud service configuration")
|
||||||
|
|
||||||
|
# First prepare configuration.
|
||||||
|
playbooks = _build_playbook_list("kolla-ansible")
|
||||||
|
self.run_kayobe_playbooks(parsed_args, playbooks, tags="config")
|
||||||
|
|
||||||
|
playbooks = _build_playbook_list("kolla-openstack", "swift-setup")
|
||||||
|
self.run_kayobe_playbooks(parsed_args, playbooks)
|
||||||
|
|
||||||
|
# Run kolla-ansible prechecks before deployment.
|
||||||
|
if not parsed_args.skip_prechecks:
|
||||||
|
self.run_kolla_ansible_overcloud(parsed_args, "prechecks")
|
||||||
|
|
||||||
|
# Generate the configuration.
|
||||||
|
extra_vars = {}
|
||||||
|
if parsed_args.node_config_dir:
|
||||||
|
# When generating configuration, kolla-ansible sets {{ project }}
|
||||||
|
# to the name of the container being configured.
|
||||||
|
extra_vars["node_config_directory"] = os.path.join(
|
||||||
|
parsed_args.node_config_dir, "{{ project }}")
|
||||||
|
self.run_kolla_ansible_overcloud(parsed_args, "genconfig")
|
||||||
|
|
||||||
|
|
||||||
|
class OvercloudServiceConfigurationSave(KayobeAnsibleMixin, VaultMixin,
|
||||||
|
Command):
|
||||||
|
"""Gather and save the overcloud service configuration files."""
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(OvercloudServiceConfigurationSave, self).get_parser(
|
||||||
|
prog_name)
|
||||||
|
group = parser.add_argument_group("Service configuration")
|
||||||
|
group.add_argument("--output-dir",
|
||||||
|
help="path to a directory in which to save "
|
||||||
|
"configuration")
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
self.app.LOG.debug("Saving overcloud service configuration")
|
||||||
|
playbooks = _build_playbook_list("overcloud-service-config-save")
|
||||||
|
extra_vars = {}
|
||||||
|
if parsed_args.output_dir:
|
||||||
|
extra_vars["config_save_path"] = parsed_args.output_dir
|
||||||
|
self.run_kayobe_playbooks(parsed_args, playbooks,
|
||||||
|
extra_vars=extra_vars)
|
||||||
|
|
||||||
|
|
||||||
class OvercloudServiceDeploy(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin,
|
class OvercloudServiceDeploy(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin,
|
||||||
Command):
|
Command):
|
||||||
"""Deploy the overcloud services."""
|
"""Deploy the overcloud services."""
|
||||||
|
2
setup.py
2
setup.py
@ -67,6 +67,8 @@ setup(
|
|||||||
'overcloud_inventory_discover = kayobe.cli.commands:OvercloudInventoryDiscover',
|
'overcloud_inventory_discover = kayobe.cli.commands:OvercloudInventoryDiscover',
|
||||||
'overcloud_post_configure = kayobe.cli.commands:OvercloudPostConfigure',
|
'overcloud_post_configure = kayobe.cli.commands:OvercloudPostConfigure',
|
||||||
'overcloud_provision = kayobe.cli.commands:OvercloudProvision',
|
'overcloud_provision = kayobe.cli.commands:OvercloudProvision',
|
||||||
|
'overcloud_service_configuration save = kayobe.cli.commands:OvercloudServiceConfigurationSave',
|
||||||
|
'overcloud_service_configuration generate = kayobe.cli.commands:OvercloudServiceConfigurationGenerate',
|
||||||
'overcloud_service_deploy = kayobe.cli.commands:OvercloudServiceDeploy',
|
'overcloud_service_deploy = kayobe.cli.commands:OvercloudServiceDeploy',
|
||||||
'overcloud_service_destroy = kayobe.cli.commands:OvercloudServiceDestroy',
|
'overcloud_service_destroy = kayobe.cli.commands:OvercloudServiceDestroy',
|
||||||
'overcloud_service_reconfigure = kayobe.cli.commands:OvercloudServiceReconfigure',
|
'overcloud_service_reconfigure = kayobe.cli.commands:OvercloudServiceReconfigure',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user