Frédéric Péters
7cef54cb70
split status-window and session-name parameters
2021-01-30 20:44:13 +01:00
Frédéric Péters
f0ab4feea3
add support for passing command args
2021-01-30 20:44:13 +01:00
Frédéric Péters
c2bf345bcb
force ssh pty allocation
2021-01-30 20:44:13 +01:00
Frédéric Péters
c28881c972
use full-upgrade
2021-01-30 20:44:13 +01:00
Frédéric Péters
a228a501c9
bump parallel jobs to 10
...
test results, eoptasks -k test /bin/true (52 servers)
* 5 jobs: 48 seconds
* 10 jobs: 29 seconds
* 20 jobs: 28 seconds
2021-01-30 20:44:13 +01:00
Frédéric Péters
493ad8f5e7
add hobo-agent.restart command
2021-01-30 20:44:13 +01:00
Frédéric Péters
a88d3e042f
fix moonlight progress order
2021-01-30 20:44:13 +01:00
Frédéric Péters
5e75af334f
add combo.reload special command
2021-01-30 20:44:13 +01:00
Frédéric Péters
1962287758
add examples
2021-01-30 20:44:13 +01:00
Frédéric Péters
61570f5008
add unmodified group name to keywords
2021-01-30 20:44:13 +01:00
Frédéric Péters
c536958fe7
add ignorelist
...
(so it's not necessary to keep local commits in the puppet repository to
disable servers such as villejuif-test)
2021-01-30 20:44:13 +01:00
Frédéric Péters
1342001811
add curses/emoji status screen
2021-01-30 20:44:13 +01:00
Frédéric Péters
47db1cc1c8
use an independent process for status window
2021-01-30 20:44:13 +01:00
Frédéric Péters
2eca6b4e1e
refactor into multiple functions
2021-01-30 20:44:13 +01:00
Frédéric Péters
ca1a9ec137
add moonlight progress indicator
...
(this keeps a window always open, so hacks to handle final serial
processes are removed)
2021-01-30 20:44:13 +01:00
Frédéric Péters
048ee86c08
add servername parts as keywords
...
This make it possible to have filters such as node1.dev or entrouvert.org
2021-01-30 20:44:13 +01:00
Frédéric Péters
b1ca82e646
add option to exclude keywords
...
eoptasks -k node1,node2,-database will give all node1/node2 servers
except database.node1 and database.node2.
2021-01-30 20:44:13 +01:00
Frédéric Péters
18549759d4
add flag to list selected servers
2021-01-30 20:44:13 +01:00
Frédéric Péters
f6f5b309be
add configuration file/do not hardcode my path
2021-01-30 20:44:13 +01:00
Frédéric Péters
f1e6ae9b49
randomize servers
2021-01-30 20:44:13 +01:00
Frédéric Péters
9df1dcc4ac
add collectstatic command
2021-01-30 20:44:13 +01:00
Frédéric Péters
818d28fbfe
add new script to run commands on servers
...
This script provides parallel remote execution of commands, while having
some special knownledge of servers that should *not* be handled in parallel.
It defers terminal-handling to tmux(1).
It has some targeting capacities using keywords. Commas for 'OR' and slashes
for 'AND', ex: ext/test,saas/test/passerelle will select all external test
servers + all passerelle servers on the SaaS.
It takes any shell command and has some builtin shortcuts such as apt.update
and apt.upgrade. (that's the whole lot, actually).
Regarding actual performance benefits, apt upgrade with no packages to
upgrade:
$ time eoptasks -k ext/test apt.upgrade
real 0m24,249s
user 0m0,140s
sys 0m0,025s
$ time eotasks -g ext_test apt.upgrade
real 6m9,956s
user 3m32,096s
sys 0m2,322s
2021-01-30 20:44:04 +01:00
Frédéric Péters
507dfa7001
license as GPL
2021-01-30 20:43:20 +01:00