--- ea/sub_pycurl.py 2012/08/30 12:48:07 9
+++ ea/sub_pycurl.py 2012/08/31 10:40:38 10
@@ -1,110 +1,110 @@
-#
-# BonFIRE Virtual Clusters on Federated Clouds Demonstration Kit
-#
-# Copyright (c) Fundacion Centro Tecnologico de Supercomputacion de Galicia 2012
-#
-# License GPL Version 3
-#
-# The research leading to these results has received funding from
-# the European Community's Seventh Frameqork Programme (FP7/2007-2013)
-# under agreement number 257386
-#
-# This software is provided with ABSOLUTELY NO WARRANTY
-#
-import httplib2
-import simplejson
-
-
-
-class sub:
- """Envia trabajos. Input: usr, passwd, json, theurl
- Output: Lista de trabajos enviados"""
-
- def _init_(self, user, passwd):
- self.user = user
- self.passwd = passwd
-
-
- def submit(self, theurl, exp):
- """Envia el trabajo descrito en json. Input: exp, user, passwd"""
-
- h = httplib2.Http(disable_ssl_certificate_validation=True)
- h.add_credentials(self.user, self.passwd)
- jsondata = simplejson.dumps(exp)
- resp, content = h.request(theurl,
- 'POST',
- jsondata,
- headers={'Content-Type': 'application/json'})
- return content
-
- def submit_xml(self, theurl, name, instance, disk, net, loc):
- """Add un compute nuevo al experimento definido en xml. Input: compute_xml, user, passwd"""
-
- h = httplib2.Http(disable_ssl_certificate_validation=True)
- h.add_credentials(self.user, self.passwd)
- xmldata ='\
-\
- '+name+'\
- '+instance+'\
- \
- \
- \
- \
- \
- \
- \
- '
- resp, content = h.request(theurl,
- 'POST',
- xmldata,
- headers={'Content-Type': 'application/vnd.bonfire+xml','Accept':'*/*'})
- #print resp, content, jsondata
- return content
-
-
- def log(self, url_log):
- """Obtiene info de la url de log que se obtiene en submit. Input: url_log, user, passwd"""
-
- h = httplib2.Http(disable_ssl_certificate_validation=True)
- h.add_credentials(self.user, self.passwd)
- resp, content = h.request(url_log,
- 'GET',
- headers={'Content-Type': 'application/xml'})
- out='bad'
- while out == 'bad':
- try:
- content = simplejson.loads(content)
- except (simplejson.decoder.JSONDecodeError, ValueError):
- print 'No valid Json response from '+url_log, content
- resp, content = h.request(url_log,
- 'GET',
- headers={'Content-Type': 'application/xml'})
- else:
- out='good'
-
- return content
-
-
-
-
- def computes(self, url_log):
- """Obtiene info de los computes del experimento. Input: url_log"""
-
- h = httplib2.Http(disable_ssl_certificate_validation=True)
- h.add_credentials(self.user, self.passwd)
- resp, content = h.request(url_log,
- 'GET',
- headers={'Accept':'*/*'})
- return content
-
-
- def delete(self, url_del):
- """Borra el trabajo descrito en json. Input: url_del, user, passwd"""
-
- h = httplib2.Http(disable_ssl_certificate_validation=True)
- h.add_credentials(self.user, self.passwd)
- resp, content = h.request(url_del,
- 'DELETE',
- headers={'Content-Type': 'application/xml'})
- return content
-
+#
+# BonFIRE Virtual Clusters on Federated Clouds Demonstration Kit
+#
+# Copyright (c) Fundacion Centro Tecnologico de Supercomputacion de Galicia 2012
+#
+# License GPL Version 3
+#
+# The research leading to these results has received funding from
+# the European Community's Seventh Framework Programme (FP7/2007-2013)
+# under agreement number 257386
+#
+# This software is provided with ABSOLUTELY NO WARRANTY
+#
+import httplib2
+import simplejson
+
+
+
+class sub:
+ """Envia trabajos. Input: usr, passwd, json, theurl
+ Output: Lista de trabajos enviados"""
+
+ def _init_(self, user, passwd):
+ self.user = user
+ self.passwd = passwd
+
+
+ def submit(self, theurl, exp):
+ """Envia el trabajo descrito en json. Input: exp, user, passwd"""
+
+ h = httplib2.Http(disable_ssl_certificate_validation=True)
+ h.add_credentials(self.user, self.passwd)
+ jsondata = simplejson.dumps(exp)
+ resp, content = h.request(theurl,
+ 'POST',
+ jsondata,
+ headers={'Content-Type': 'application/json'})
+ return content
+
+ def submit_xml(self, theurl, name, instance, disk, net, loc):
+ """Add un compute nuevo al experimento definido en xml. Input: compute_xml, user, passwd"""
+
+ h = httplib2.Http(disable_ssl_certificate_validation=True)
+ h.add_credentials(self.user, self.passwd)
+ xmldata ='\
+\
+ '+name+'\
+ '+instance+'\
+ \
+ \
+ \
+ \
+ \
+ \
+ \
+ '
+ resp, content = h.request(theurl,
+ 'POST',
+ xmldata,
+ headers={'Content-Type': 'application/vnd.bonfire+xml','Accept':'*/*'})
+ #print resp, content, jsondata
+ return content
+
+
+ def log(self, url_log):
+ """Obtiene info de la url de log que se obtiene en submit. Input: url_log, user, passwd"""
+
+ h = httplib2.Http(disable_ssl_certificate_validation=True)
+ h.add_credentials(self.user, self.passwd)
+ resp, content = h.request(url_log,
+ 'GET',
+ headers={'Content-Type': 'application/xml'})
+ out='bad'
+ while out == 'bad':
+ try:
+ content = simplejson.loads(content)
+ except (simplejson.decoder.JSONDecodeError, ValueError):
+ print 'No valid Json response from '+url_log, content
+ resp, content = h.request(url_log,
+ 'GET',
+ headers={'Content-Type': 'application/xml'})
+ else:
+ out='good'
+
+ return content
+
+
+
+
+ def computes(self, url_log):
+ """Obtiene info de los computes del experimento. Input: url_log"""
+
+ h = httplib2.Http(disable_ssl_certificate_validation=True)
+ h.add_credentials(self.user, self.passwd)
+ resp, content = h.request(url_log,
+ 'GET',
+ headers={'Accept':'*/*'})
+ return content
+
+
+ def delete(self, url_del):
+ """Borra el trabajo descrito en json. Input: url_del, user, passwd"""
+
+ h = httplib2.Http(disable_ssl_certificate_validation=True)
+ h.add_credentials(self.user, self.passwd)
+ resp, content = h.request(url_del,
+ 'DELETE',
+ headers={'Content-Type': 'application/xml'})
+ return content
+