X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Finterface.py;h=e923057fa2a66df4ff6d0679e40da72a21c89d0a;hb=6559e50c0e0a3f278183d8b829b8fc21f0f04c8b;hp=6492e70c93b40c662c6c4368796e338a77a2e730;hpb=95aaadd69f701b9cc39e8a8484f9dbd755636ccc;p=sfa.git diff --git a/sfa/server/interface.py b/sfa/server/interface.py index 6492e70c..e923057f 100644 --- a/sfa/server/interface.py +++ b/sfa/server/interface.py @@ -5,15 +5,13 @@ from sfa.util.faults import * from sfa.util.storage import * -from sfa.util.namespace import * +from sfa.util.xrn import get_authority, hrn_to_urn from sfa.trust.gid import GID -from sfa.util.table import SfaTable from sfa.util.record import SfaRecord import traceback import sfa.util.xmlrpcprotocol as xmlrpcprotocol import sfa.util.soapprotocol as soapprotocol - # GeniLight client support is optional try: from egeni.geniLight_client import * @@ -62,8 +60,12 @@ class Interfaces(dict): interfaces = [self.interfaces] # set the url and urn for interface in interfaces: + # port is appended onto the domain, before the path. Should look like: + # http://domain:port/path hrn, address, port = interface['hrn'], interface['addr'], interface['port'] - url = 'http://%(address)s:%(port)s' % locals() + address_parts = address.split('/') + address_parts[0] = address_parts[0] + ":" + str(port) + url = "http://%s" % "/".join(address_parts) interface['url'] = url interface['urn'] = hrn_to_urn(hrn, 'authority') @@ -137,8 +139,7 @@ class Interfaces(dict): except: message = "interface: %s\tunable to install trusted gid for %s" % \ (self.api.interface, new_hrn) - self.api.logger.info(message) - traceback.print_exc() + self.api.logger.log_exc(message) # reload the trusted certs list self.api.auth.load_trusted_certs() @@ -150,6 +151,8 @@ class Interfaces(dict): defined in the config file (registries.xml). Removes old records from the db. """ + # import SfaTable here so this module can be loaded by ComponentAPI + from sfa.util.table import SfaTable if not gids: return