1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
import logging
from cliff.lister import Lister
from cliff.command import Command
from python_moonclient.core import models, policies, pdp, slaves
from python_moonclient.cli.parser import Parser
LOGGER = logging.getLogger("moonclient.cli.slaves")
class SlavesUtils:
def __init__(self):
pass
@staticmethod
def get_slave_name(slaves, parsed_name):
_slaves = slaves.get_slaves()
for _slave_value in _slaves['slaves']:
if _slave_value['name'] == parsed_name:
LOGGER.info("Found {}".format(_slave_value['name']))
return _slave_value['name']
return None
class Slaves(Lister):
"""show the list of slaves"""
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
Parser.add_common_options(parser)
return parser
def take_action(self, parsed_args):
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.WARNING)
requests_log.propagate = True
consul_host = parsed_args.consul_host
consul_port = parsed_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)
return (('Name', 'Configured'),
((value['name'], value['configured']) for value in
slaves.get_slaves().get('slaves', dict()))
)
class SetSlave(Command):
"""update an existing slave to a configured state"""
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
Parser.add_common_options(parser)
Parser.add_name_argument(parser)
return parser
def take_action(self, parsed_args):
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.WARNING)
requests_log.propagate = True
consul_host = parsed_args.consul_host
consul_port = parsed_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_input_name = parsed_args.name
if parsed_args.name is None:
slave_input_name = "kubernetes-admin@kubernetes"
slaves.set_slave(slave_input_name)
# if slave_name is None:
# slave_name = "kubernetes-admin@kubernetes"
# if parsed_args.name:
# slave_name = parsed_args.name
print(" {} (configured=True)".format(slave_input_name))
# 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']))#
class DeleteSlave(Command):
"""update an existing slave to a unconfigured state"""
def get_parser(self, prog_name):
parser = super().get_parser(prog_name)
Parser.add_common_options(parser)
Parser.add_name_argument(parser)
return parser
def take_action(self, parsed_args):
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.WARNING)
requests_log.propagate = True
consul_host = parsed_args.consul_host
consul_port = parsed_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_input_name = parsed_args.name
if parsed_args.name is None:
slave_input_name = "kubernetes-admin@kubernetes"
slaves.delete_slave(slave_input_name)
print(" {} (configured=False)".format(slave_input_name))
|