X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Faggregate.py;h=9295e3f51477dce5fc3e74b32ccd5e59f8690cae;hb=3d7237fa0b5f2b4a60cb97c7fb3b6aecfd94558a;hp=45eff40b90c9ad5d24398273a34fabddc5aa753c;hpb=6bf71c2dd1f5e530f86479c65161e4ca41c5d8d3;p=sfa.git diff --git a/sfa/server/aggregate.py b/sfa/server/aggregate.py index 45eff40b..9295e3f5 100644 --- a/sfa/server/aggregate.py +++ b/sfa/server/aggregate.py @@ -8,10 +8,11 @@ import time import xmlrpclib from types import StringTypes, ListType -from sfa.util.geniserver import GeniServer -from sfa.util.geniclient import GeniClient +from sfa.util.server import SfaServer from sfa.util.storage import * from sfa.util.faults import * +import sfa.util.xmlrpcprotocol as xmlrpcprotocol +import sfa.util.soapprotocol as soapprotocol # GeniLight client support is optional try: @@ -20,7 +21,7 @@ except ImportError: GeniClientLight = None -class Aggregate(GeniServer): +class Aggregate(SfaServer): ## # Create a new aggregate object. @@ -30,11 +31,11 @@ class Aggregate(GeniServer): # @param key_file private key filename of registry # @param cert_file certificate filename containing public key (could be a GID file) def __init__(self, ip, port, key_file, cert_file): - GeniServer.__init__(self, ip, port, key_file, cert_file) + SfaServer.__init__(self, ip, port, key_file, cert_file) self.server.interface = 'aggregate' ## -# Aggregates is a dictionary of geniclient aggregate connections keyed on the aggregate hrn +# Aggregates is a dictionary of aggregate connections keyed on the aggregate hrn class Aggregates(dict): @@ -72,7 +73,7 @@ class Aggregates(dict): def connectAggregates(self): """ Get connection details for the trusted peer aggregates from file and - create an GeniClient connection to each. + create an connection to each. """ aggregates = self.aggregate_info['aggregates']['aggregate'] if isinstance(aggregates, dict): @@ -87,8 +88,8 @@ class Aggregates(dict): continue self.interfaces.append(aggregate) # check which client we should use - # geniclient is default - client_type = 'geniclient' + # sfa.util.xmlrpcprotocol is default + client_type = 'xmlrpcprotocol' if aggregate.has_key('client') and aggregate['client'] in ['geniclientlight']: client_type = 'geniclientlight' @@ -100,13 +101,14 @@ class Aggregates(dict): if client_type in ['geniclientlight'] and GeniClientLight: self[hrn] = GeniClientLight(url, self.api.key_file, self.api.cert_file) else: - self[hrn] = GeniClient(url, self.api.key_file, self.api.cert_file) + self[hrn] = xmlrpcprotocol.get_server(url, self.api.key_file, self.api.cert_file) # set up a connection to the local registry - # connect to registry using GeniClient address = self.api.config.SFA_AGGREGATE_HOST port = self.api.config.SFA_AGGREGATE_PORT url = 'http://%(address)s:%(port)s' % locals() - self[self.api.hrn] = GeniClient(url, self.api.key_file, self.api.cert_file) + local_aggregate = {'hrn': self.api.hrn, 'addr': address, 'port': port} + self.interfaces.append(local_aggregate) + self[self.api.hrn] = xmlrpcprotocol.get_server(url, self.api.key_file, self.api.cert_file)