Commit Graph

231 Commits

Author SHA1 Message Date
Frédéric Péters 81c0ec3860 munin: add custom behaviour for new SaaS database (#30507) 2019-02-19 14:54:28 +01:00
Frédéric Péters e82fb8f632 doc: add support for images from mallard pages 2019-02-10 23:49:31 +01:00
Frédéric Péters 77b85b1d74 munin: don't hardcode machine directory 2019-02-10 16:13:56 +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 5916e4a986 doc: ignore page snapshots when looking for textcell 2019-01-07 15:28:02 +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
Frédéric Péters 09d6c854a3 grandlyon: add bijoe entries for production servers (#27564) 2018-11-06 09:42:48 +01:00
Frédéric Péters eb6491f3e8 grandlyon: force lazy field var into unicode when creating geojson 2018-10-30 08:58:23 +01:00
Frédéric Péters 65edfbbb0d grandlyon: ignore deleted formdefs when counting "+1"s 2018-10-29 20:30:20 +01:00
Frédéric Péters 7f77fc224c grandlyon: add wcs for SAU prod 2018-10-29 10:30:12 +01:00
Frédéric Péters 11d8e60f26 add "contribute to Publik" page (#27464) 2018-10-23 17:39:19 +02:00
Frédéric Péters 38b5ce52f1 munin: add script to count number of forms 2018-10-13 17:34:17 +02:00
Frédéric Péters 7f98c56239 grandlyon: complete prod recipes 2018-10-01 20:24:57 +02:00
Frédéric Péters 9bd02ea632 osm: grab tiles up to level 19 2018-07-09 07:06:30 +02:00
Frédéric Péters 3d6b62eac0 osm: add script to grab all tiles for an area 2018-07-08 23:43:47 +02:00
Frédéric Péters e8d4e1ba28 grandlyon: don't crash when previewing form 2018-06-18 09:43:47 +02:00
Frédéric Péters 3d84814fd5 grandlyon: move close demands computation to shared module 2018-06-07 11:34:23 +02:00
Frédéric Péters 8c47b080fa grandlyon: don't crash on form_objects not being available in preview 2018-06-06 13:35:32 +02:00
Frédéric Péters ded8b06699 grandlyon: generate geojson on the fly 2018-06-06 13:25:30 +02:00
Frédéric Péters ac52134db5 fortunes: soap 2018-05-22 16:07:28 +02:00
Frédéric Péters 21a8d5b7d9 from #20017 2018-05-22 11:29:00 +02:00
Frédéric Péters 1ad93a4958 grandlyon: mark sync-cut script as obsolete (...) 2018-05-14 15:10:18 +02:00