From 36608afb5ac702aa1c792d9a6107bb03903241a6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Mon, 3 May 2010 11:18:49 +0000 Subject: [PATCH] add --debug option to see xml-rpc dialog. --- sfa/client/sfi.py | 17 ++++++++++------- sfa/util/xmlrpcprotocol.py | 4 ++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index ce1f649b..c1207acf 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -224,6 +224,9 @@ class Sfi: parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, help="verbose mode") + parser.add_option("-D", "--debug", + action="store_true", dest="debug", default=False, + help="Debug (xml-rpc) protocol messages") parser.add_option("-p", "--protocol", dest="protocol", default="xmlrpc", help="RPC protocol (xmlrpc or soap)") @@ -303,8 +306,8 @@ class Sfi: self.cert_file = cert_file self.cert = Certificate(filename=cert_file) # Establish connection to server(s) - self.registry = xmlrpcprotocol.get_server(reg_url, key_file, cert_file) - self.slicemgr = xmlrpcprotocol.get_server(sm_url, key_file, cert_file) + self.registry = xmlrpcprotocol.get_server(reg_url, key_file, cert_file, self.options.debug) + self.slicemgr = xmlrpcprotocol.get_server(sm_url, key_file, cert_file, self.options.debug) return # @@ -516,7 +519,7 @@ class Sfi: record = records[0] cm_port = "12346" url = "https://%s:%s" % (record['hostname'], cm_port) - return xmlrpcprotocol.get_server(url, self.key_file, self.cert_file) + return xmlrpcprotocol.get_server(url, self.key_file, self.cert_file, self.options.debug) # # Following functions implement the commands @@ -749,7 +752,7 @@ class Sfi: raise Exception, "No such aggregate %s" % agg_hrn aggregate = aggregates[0] url = "http://%s:%s" % (aggregate['addr'], aggregate['port']) - server = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file) + server = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file, self.options.debug) if args: cred = self.get_slice_cred(args[0]).save_to_string(save_parents=True) hrn = args[0] @@ -782,7 +785,7 @@ class Sfi: raise Exception, "No such aggregate %s" % opts.aggregate aggregate = aggregates[0] url = "http://%s:%s" % (aggregate['addr'], aggregate['port']) - server = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file) + server = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file, self.options.debug) return server.create_slice(slice_cred, slice_hrn, rspec) # get a ticket for the specified slice @@ -799,7 +802,7 @@ class Sfi: raise Exception, "No such aggregate %s" % opts.aggregate aggregate = aggregates[0] url = "http://%s:%s" % (aggregate['addr'], aggregate['port']) - server = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file) + server = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file, self.options.debug) ticket_string = server.get_ticket(slice_cred, slice_hrn, rspec) file = os.path.join(self.options.sfi_dir, get_leaf(slice_hrn) + ".ticket") print "writing ticket to ", file @@ -832,7 +835,7 @@ class Sfi: cm_port = "12346" url = "https://%(hostname)s:%(cm_port)s" % locals() print "Calling redeem_ticket at %(url)s " % locals(), - cm = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file) + cm = xmlrpcprotocol.get_server(url, self.key_file, self.cert_file, self.options.debug) cm.redeem_ticket(slice_cred, ticket.save_to_string(save_parents=True)) print "Success" except socket.gaierror: diff --git a/sfa/util/xmlrpcprotocol.py b/sfa/util/xmlrpcprotocol.py index be44f082..11a4317d 100644 --- a/sfa/util/xmlrpcprotocol.py +++ b/sfa/util/xmlrpcprotocol.py @@ -45,10 +45,10 @@ class XMLRPCTransport(xmlrpclib.Transport): parser = xmlrpclib.ExpatParser(unmarshaller) return parser, unmarshaller -def get_server(url, key_file, cert_file): +def get_server(url, key_file, cert_file, debug=False): transport = XMLRPCTransport() transport.key_file = key_file transport.cert_file = cert_file - return xmlrpclib.ServerProxy(url, transport, allow_none=True) + return xmlrpclib.ServerProxy(url, transport, allow_none=True, verbose=debug) -- 2.43.0