eoptasks: add flag to list selected servers
This commit is contained in:
parent
969f9277be
commit
c7e9a8ce77
|
@ -58,8 +58,9 @@ for group in servergroups:
|
|||
servers.append(Server(servername, group))
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-l', '--list-servers', action='store_true')
|
||||
parser.add_argument('-k', dest='keywords', type=str)
|
||||
parser.add_argument('cmd', type=str)
|
||||
parser.add_argument('cmd', type=str, nargs='?', default=None)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
@ -73,9 +74,19 @@ if args.keywords:
|
|||
else:
|
||||
selected_servers = servers
|
||||
|
||||
if not selected_servers:
|
||||
if args.list_servers:
|
||||
for server in sorted(selected_servers, key=lambda x: x.name):
|
||||
print(server.name)
|
||||
sys.exit(0)
|
||||
|
||||
if not selected_servers:
|
||||
sys.stderr.write('No matching servers\n')
|
||||
sys.exit(1)
|
||||
|
||||
if not args.cmd:
|
||||
sys.stderr.write('Missing command\n')
|
||||
sys.exit(1)
|
||||
|
||||
cmd = {
|
||||
'apt.update': 'sudo apt update',
|
||||
'apt.upgrade': 'sudo apt update && sudo apt upgrade -y',
|
||||
|
|
Loading…
Reference in New Issue