commit e19c4869edadce35dee246ccb582fafb4e0d0310 Author: Arturo Filastò art@fuffa.org Date: Thu Nov 22 18:31:31 2012 +0100
Add fabfile for automatic deployment of ooni-probe to remote sites --- fabfile.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..119d669 --- /dev/null +++ b/fabfile.py @@ -0,0 +1,55 @@ +#-*- coding: utf-8 -*- +# +# :authors: Arturo Filastò, Isis Lovecruft +# :license: see included LICENSE file +import os +import sys +import xmlrpclib + +from fabric.api import run, cd, sudo + +api_auth = {} +# Set these values +api_auth['Username'] = "you@example.com" +api_auth['AuthString'] = "your_password" +slice_name = "your_slice_name" + +### Do not change this +api_auth['AuthMethod'] = "password" + +def search_node(nfilter="*.cert.org.cn"): + api_server = xmlrpclib.ServerProxy('https://www.planet-lab.org/PLCAPI/') + if api_server.AuthCheck(api_auth): + print "We are authenticated" + else: + print "We are not authenticated" + node_filter = {'hostname': nfilter} + return_fields = ['hostname', 'site_id'] + all_nodes = api_server.GetNodes(api_auth, node_filter, return_fields) + print all_nodes + +def add_node(nodeid): + node_id = int(nodeid) + api_server = xmlrpclib.ServerProxy('https://www.planet-lab.org/PLCAPI/') + node_filter = {'node_id': node_id} + return_fields = ['hostname', 'site_id'] + nodes = api_server.GetNodes(api_auth, node_filter, return_fields) + print 'Adding nodes %s' % nodes + api_server.AddNode(api_auth, node_id, slice_name) + +def deployooniprobe(distro="debian"): + """ + This is used to deploy ooni-probe on debian based systems. + """ + run("git clone https://git.torproject.org/ooni-probe.git ooni-probe") + cd("ooni-probe") + if distro == "debian": + sudo("apt-get install git-core python python-pip python-dev") + else: + print "The selected distro is not supported" + print "The following commands may fail" + run("virtualenv env") + run("source env/bin/activate") + run("pip install https://hg.secdev.org/scapy/archive/tip.zip") + run("pip install -r requirements.txt") +
tor-commits@lists.torproject.org