9b95aa0a35
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
78 lines
2.0 KiB
Python
78 lines
2.0 KiB
Python
#!/usr/bin/env python
|
|
#
|
|
# Copyright (c) 2017 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
|
|
"""
|
|
System Inventory Puppet Utility.
|
|
"""
|
|
|
|
import sys
|
|
|
|
from oslo_config import cfg
|
|
|
|
from sysinv.common import service
|
|
from sysinv.db import api
|
|
from sysinv.puppet import puppet
|
|
|
|
CONF = cfg.CONF
|
|
|
|
|
|
def create_static_config_action(path):
|
|
operator = puppet.PuppetOperator(path=path)
|
|
operator.create_static_config()
|
|
operator.create_secure_config()
|
|
|
|
|
|
def create_system_config_action(path):
|
|
dbapi = api.get_instance()
|
|
operator = puppet.PuppetOperator(dbapi=dbapi, path=path)
|
|
operator.update_system_config()
|
|
operator.update_secure_system_config()
|
|
|
|
|
|
def create_host_config_action(path, hostname=None):
|
|
dbapi = api.get_instance()
|
|
operator = puppet.PuppetOperator(dbapi=dbapi, path=path)
|
|
|
|
if hostname:
|
|
host = dbapi.ihost_get_by_hostname(hostname)
|
|
operator.update_host_config(host)
|
|
else:
|
|
hosts = dbapi.ihost_get_list()
|
|
for host in hosts:
|
|
operator.update_host_config(host)
|
|
|
|
|
|
def add_action_parsers(subparsers):
|
|
parser = subparsers.add_parser('create-static-config')
|
|
parser.set_defaults(func=create_static_config_action)
|
|
parser.add_argument('path', nargs='?')
|
|
|
|
parser = subparsers.add_parser('create-system-config')
|
|
parser.set_defaults(func=create_system_config_action)
|
|
parser.add_argument('path', nargs='?')
|
|
|
|
parser = subparsers.add_parser('create-host-config')
|
|
parser.set_defaults(func=create_host_config_action)
|
|
parser.add_argument('path', nargs='?')
|
|
parser.add_argument('hostname', nargs='?')
|
|
|
|
|
|
CONF.register_cli_opt(
|
|
cfg.SubCommandOpt('action',
|
|
title='actions',
|
|
help='Perform the puppet operation',
|
|
handler=add_action_parsers))
|
|
|
|
|
|
def main():
|
|
service.prepare_service(sys.argv)
|
|
if CONF.action.name == 'create-host-config':
|
|
CONF.action.func(CONF.action.path, CONF.action.hostname)
|
|
else:
|
|
CONF.action.func(CONF.action.path)
|