From 470fa70f1433be526cc2abe2b65cc9ec9a593ff9 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Fri, 21 Feb 2014 14:49:15 +0100 Subject: [PATCH] =?UTF-8?q?[generate]=20Une=20fonction=20pour=20trigger=20?= =?UTF-8?q?generate=20sur=20un=20h=C3=B4te=20distant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lève une exception si une quelconque erreure arrive. --- gestion/gen_confs/generate.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gestion/gen_confs/generate.py b/gestion/gen_confs/generate.py index 033614bd..5709b7e7 100755 --- a/gestion/gen_confs/generate.py +++ b/gestion/gen_confs/generate.py @@ -15,7 +15,7 @@ arguments peuvent être founis pour une même option, les séparer par & """ import sys, signal, os, getopt - +import subprocess sys.path.append('/usr/scripts/gestion') from ldap_crans import crans_ldap, hostname @@ -33,6 +33,22 @@ signal.signal(signal.SIGINT, signal.SIG_IGN) # Pas de Ctrl-C db = crans_ldap() make_lock('auto_generate', 'Big lock', nowait=1) +def trigger(host): + if not 'adm.crans.org' in host: + host=host + '.adm.crans.org' + options = ['PasswordAuthentication=no', 'ConnectTimeout=1', 'VerifyHostKeyDNS=yes', + 'BatchMode=yes', 'ServerAliveInterval=5', 'ServerAliveCountMax=1'] + args = ["ssh", "-4", "-i", "/etc/crans/secrets/trigger-generate" ] + for opt in options: + args.append('-o') + args.append(opt) + args.extend(["rpcssh@%s" % host, "generate"]) + p=subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + out, err = p.communicate() + if err: + raise Exception(err) + return out + class base_reconfigure: try: sys.path.append('/etc/crans/')