eoptasks: add flag to list selected servers

This commit is contained in:
Frédéric Péters 2018-12-12 18:52:31 +01:00
parent 969f9277be
commit c7e9a8ce77
1 changed files with 13 additions and 2 deletions

View File

@ -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',