Frédéric Péters
f419cbd69c
eoptasks: add 1st fqdn part without trailing digits as keyword
2020-12-30 12:14:02 +01:00
Christophe Siraut
3f2f478631
eoptasks: use servers.yaml instead of deprecated servergroups.yaml
2020-12-30 12:05:52 +01:00
Frédéric Péters
7870ac5e27
eoptasks: allow specifying multiple suffixes to be stripped
2020-09-09 08:43:15 +02:00
Frédéric Péters
c8a9add309
eoptasks: add stripsuffix configuration option
2020-07-31 22:26:21 +02:00
Frédéric Péters
d173265f5c
eoptasks: include welco in restart.all/collectstatic commands
2020-07-16 08:32:49 +02:00
Frédéric Péters
ab26266cff
eoptasks: add -x to exclude hosts based on regex match
2020-06-26 16:41:52 +02:00
Frédéric Péters
44b299c31d
eoptasks: add passerelle/wcs restart command shortcuts
2020-06-16 07:49:46 +02:00
Frédéric Péters
1afcd6aee1
eoptasks: reread supervisor config before restarting hobo-agent
2020-05-15 11:21:36 +02:00
Frédéric Péters
1ef2002cd2
eoptasks: add puppet.update shortcut
2019-12-02 11:29:46 +01:00
Frédéric Péters
58569f6d89
eoptasks: use safe loading of yaml inventory
2019-08-10 13:33:07 +02:00
Frédéric Péters
f9fadc9752
eoptasks: add memcached.restart
2019-03-26 16:53:49 +01:00
Frédéric Péters
8707b0009f
eoptasks: add shortcut to restart all services
...
(useful after a new hobo version, for example)
2019-02-06 15:20:22 +01:00
Frédéric Péters
b75877298b
eoptasks: do not start if already running in tmux
2019-01-09 17:56:24 +01:00
Frédéric Péters
cdc4dbc666
eoptasks: remove all digits to get cluster name
2019-01-08 21:42:17 +01:00
Frédéric Péters
5e506bcbd4
eoptasks: do not try disabling ssh connection sharing
...
Whatever the command line options connection sharing configured in
~/.ssh/config stays somehow active, and cause errors.
Ansible has custom code to detect the situation and automatically
restart a SSH connection (see AnsibleControlPersistBrokenPipeError usage
in lib/ansible/plugins/connection/ssh.py, also relevant is bug#16731).
The only reliable fix is thus to change ~/.ssh/config to limit
connection sharing to apply to some hosts only.
2019-01-08 13:36:48 +01:00
Frédéric Péters
2c7c3b798a
eoptasks: add support for a --noinput flag
2019-01-05 14:37:17 +01:00
Frédéric Péters
c15bfacd64
eoptasks: disable connection sharing as it proved unreliable
2019-01-05 14:21:46 +01:00
Frédéric Péters
ba350c8200
eoptasks: offer choices when a command fails
2019-01-02 17:07:46 +01:00
Frédéric Péters
311e4e6983
eoptasks: execute actual ssh command in a fork, to get return code
2018-12-31 16:37:09 +01:00
Frédéric Péters
a8ea335101
eoptasks: split status-window and session-name parameters
2018-12-31 15:25:37 +01:00
Frédéric Péters
a4ed044178
eoptasks: add support for passing command args
2018-12-29 21:07:08 +01:00
Frédéric Péters
8437c5ea49
eoptasks: force ssh pty allocation
2018-12-29 17:13:11 +01:00
Frédéric Péters
b67857677e
eoptasks: use full-upgrade
2018-12-28 11:56:22 +01:00
Frédéric Péters
27cafbd86f
eoptasks: 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
2018-12-23 17:14:09 +01:00
Frédéric Péters
c8cbc26089
eoptasks: add hobo-agent.restart command
2018-12-23 11:18:05 +01:00
Frédéric Péters
ba67056f79
eoptasks: fix moonlight progress order
2018-12-23 00:47:36 +01:00
Frédéric Péters
ef4a3e84f2
eoptasks: add combo.reload special command
2018-12-22 18:36:09 +01:00
Frédéric Péters
7c7760ac92
eoptasks: add examples
2018-12-22 17:01:00 +01:00
Frédéric Péters
c64fe7b859
eoptasks: add unmodified group name to keywords
2018-12-22 17:01:00 +01:00
Frédéric Péters
a0b137de9c
eoptasks: add ignorelist
...
(so it's not necessary to keep local commits in the puppet repository to
disable servers such as villejuif-test)
2018-12-22 17:01:00 +01:00
Frédéric Péters
47ba6bced9
eoptasks: add curses/emoji status screen
2018-12-22 17:01:00 +01:00
Frédéric Péters
f9ad3962f5
eoptasks: use an independent process for status window
2018-12-22 10:42:38 +01:00
Frédéric Péters
a312e6e3c4
eoptasks: refactor into multiple functions
2018-12-22 10:35:04 +01:00
Frédéric Péters
1f70d4830c
eoptasks: add moonlight progress indicator
...
(this keeps a window always open, so hacks to handle final serial
processes are removed)
2018-12-21 15:15:53 +01:00
Frédéric Péters
5bc48833dd
eoptasks: add servername parts as keywords
...
This make it possible to have filters such as node1.dev or entrouvert.org
2018-12-14 18:48:48 +01:00
Frédéric Péters
8cff0bc39e
eoptasks: add option to exclude keywords
...
eoptasks -k node1,node2,-database will give all node1/node2 servers
except database.node1 and database.node2.
2018-12-12 19:53:35 +01:00
Frédéric Péters
c7e9a8ce77
eoptasks: add flag to list selected servers
2018-12-12 18:52:31 +01:00
Frédéric Péters
969f9277be
eoptasks: add configuration file/do not hardcode my path
2018-12-12 08:28:44 +01:00
Frédéric Péters
7e808fb2ae
eoptasks: randomize servers
2018-12-10 16:30:56 +01:00
Frédéric Péters
ac4fda99be
eoptasks: add collectstatic command
2018-12-09 15:18:37 +01:00
Frédéric Péters
18d50be4a8
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
2018-12-09 14:12:56 +01:00