X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Faggregate.py;h=90fcaf49276965f5e60cc823dbd12b445e5f62ce;hb=394178168c700cc719ca5d584138d0db02f7d4dd;hp=1a96e157f41ff57fd48387f0a131c9b94dfe59c6;hpb=07f6cd9b68e5cab4e4e01a3132dc493a39907db9;p=sfa.git diff --git a/sfa/server/aggregate.py b/sfa/server/aggregate.py index 1a96e157..90fcaf49 100644 --- a/sfa/server/aggregate.py +++ b/sfa/server/aggregate.py @@ -1,8 +1,9 @@ -from sfa.util.faults import * -from sfa.util.server import SfaServer +from sfa.server.sfaserver import SfaServer from sfa.util.xrn import hrn_to_urn -from sfa.server.interface import Interfaces +from sfa.server.interface import Interfaces, Interface +from sfa.util.config import Config +# this truly is a server-side object class Aggregate(SfaServer): ## @@ -15,26 +16,21 @@ class Aggregate(SfaServer): def __init__(self, ip, port, key_file, cert_file): SfaServer.__init__(self, ip, port, key_file, cert_file,'aggregate') -## +# # Aggregates is a dictionary of aggregate connections keyed on the aggregate hrn - +# as such it's more of a client-side thing for aggregate servers to reach their peers +# class Aggregates(Interfaces): default_dict = {'aggregates': {'aggregate': [Interfaces.default_fields]}} - def __init__(self, api, conf_file = "/etc/sfa/aggregates.xml"): - Interfaces.__init__(self, api, conf_file) + def __init__(self, conf_file = "/etc/sfa/aggregates.xml"): + Interfaces.__init__(self, conf_file) + sfa_config = Config() # set up a connection to the local aggregate - if self.api.config.SFA_AGGREGATE_ENABLED: - address = self.api.config.SFA_AGGREGATE_HOST - port = self.api.config.SFA_AGGREGATE_PORT - url = 'http://%(address)s:%(port)s' % locals() - local_aggregate = {'hrn': self.api.hrn, - 'urn': hrn_to_urn(self.api.hrn, 'authority'), - 'addr': address, - 'port': port, - 'url': url} - self.interfaces[self.api.hrn] = local_aggregate - - # get connections - self.update(self.get_connections()) + if sfa_config.SFA_AGGREGATE_ENABLED: + addr = sfa_config.SFA_AGGREGATE_HOST + port = sfa_config.SFA_AGGREGATE_PORT + hrn = sfa_config.SFA_INTERFACE_HRN + interface = Interface(hrn, addr, port) + self[hrn] = interface