diff options
Diffstat (limited to 'python_moonclient/python_moonclient/scripts.py')
-rw-r--r-- | python_moonclient/python_moonclient/scripts.py | 74 |
1 files changed, 73 insertions, 1 deletions
diff --git a/python_moonclient/python_moonclient/scripts.py b/python_moonclient/python_moonclient/scripts.py index c880e497..74ed47fc 100644 --- a/python_moonclient/python_moonclient/scripts.py +++ b/python_moonclient/python_moonclient/scripts.py @@ -1,6 +1,6 @@ import logging from importlib.machinery import SourceFileLoader -from . import parse, models, policies, pdp, authz +from . import parse, models, policies, pdp, authz, slaves logger = logging.getLogger("moonclient.scripts") @@ -161,3 +161,75 @@ def map_pdp_to_project(): logger.info("Mapping: {}=>{}".format(args.filename[0], args.filename[1])) # TODO: check if pdp_id and keystone_project_id exist pdp.map_to_keystone(pdp_id=args.filename[0], keystone_project_id=args.filename[1]) + + +def get_slaves(): + requests_log = logging.getLogger("requests.packages.urllib3") + requests_log.setLevel(logging.WARNING) + requests_log.propagate = True + + args = parse.parse() + consul_host = args.consul_host + consul_port = args.consul_port + + models.init(consul_host, consul_port) + policies.init(consul_host, consul_port) + pdp.init(consul_host, consul_port) + slaves.init(consul_host, consul_port) + + for value in slaves.get_slaves().get('slaves', dict()): + if value['configured']: + print(" {} (configured)".format(value['name'])) + else: + print(" {} (not configured)".format(value['name'])) + + +def set_slave(): + requests_log = logging.getLogger("requests.packages.urllib3") + requests_log.setLevel(logging.WARNING) + requests_log.propagate = True + + args = parse.parse() + consul_host = args.consul_host + consul_port = args.consul_port + + models.init(consul_host, consul_port) + policies.init(consul_host, consul_port) + pdp.init(consul_host, consul_port) + slaves.init(consul_host, consul_port) + + slave_name = "kubernetes-admin@kubernetes" + if args.filename: + slave_name = args.filename + for value in slaves.set_slave(slave_name).get('slaves', dict()): + if value['configured']: + print(" {} (configured)".format(value['name'])) + else: + print(" {} (not configured)".format(value['name'])) + + +def delete_slave(): + requests_log = logging.getLogger("requests.packages.urllib3") + requests_log.setLevel(logging.WARNING) + requests_log.propagate = True + + args = parse.parse() + consul_host = args.consul_host + consul_port = args.consul_port + + models.init(consul_host, consul_port) + policies.init(consul_host, consul_port) + pdp.init(consul_host, consul_port) + slaves.init(consul_host, consul_port) + + slave_name = "kubernetes-admin@kubernetes" + if args.filename: + slave_name = args.filename + for value in slaves.delete_slave(slave_name).get('slaves', dict()): + if value['configured']: + print(" {} (configured)".format(value['name'])) + else: + print(" {} (not configured)".format(value['name'])) + + + |