git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
really fixed the redundant logging issue this time.
[sfa.git]
/
sfa
/
server
/
interface.py
diff --git
a/sfa/server/interface.py
b/sfa/server/interface.py
index
6492e70
..
12a0e4f
100644
(file)
--- a/
sfa/server/interface.py
+++ b/
sfa/server/interface.py
@@
-1,18
+1,13
@@
-#
-### $Id: interface.py 17583 2010-04-06 15:01:08Z tmack $
-### $URL: https://svn.planet-lab.org/svn/sfa/trunk/sfa/server/interface.py $
-#
+import traceback
+import os.path
from sfa.util.faults import *
from sfa.util.faults import *
-from sfa.util.storage import *
-from sfa.util.namespace import *
-from sfa.trust.gid import GID
-from sfa.util.table import SfaTable
+from sfa.util.storage import XmlStorage
+from sfa.util.xrn import get_authority, hrn_to_urn
from sfa.util.record import SfaRecord
from sfa.util.record import SfaRecord
-import traceback
import sfa.util.xmlrpcprotocol as xmlrpcprotocol
import sfa.util.soapprotocol as soapprotocol
import sfa.util.xmlrpcprotocol as xmlrpcprotocol
import sfa.util.soapprotocol as soapprotocol
-
+from sfa.trust.gid import GID
# GeniLight client support is optional
try:
# GeniLight client support is optional
try:
@@
-32,7
+27,7
@@
class Interfaces(dict):
1) Makes sure a record exist in the local registry for the each
fedeated peer
1) Makes sure a record exist in the local registry for the each
fedeated peer
- 2) Attepts to fetch and install trusted gids
+ 2) Atte
m
pts to fetch and install trusted gids
3) Provides connections (xmlrpc or soap) to federated peers
"""
3) Provides connections (xmlrpc or soap) to federated peers
"""
@@
-62,8
+57,12
@@
class Interfaces(dict):
interfaces = [self.interfaces]
# set the url and urn
for interface in interfaces:
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']
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')
interface['url'] = url
interface['urn'] = hrn_to_urn(hrn, 'authority')
@@
-137,8
+136,7
@@
class Interfaces(dict):
except:
message = "interface: %s\tunable to install trusted gid for %s" % \
(self.api.interface, new_hrn)
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()
# reload the trusted certs list
self.api.auth.load_trusted_certs()
@@
-150,6
+148,8
@@
class Interfaces(dict):
defined in the config file (registries.xml). Removes old records from
the db.
"""
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
if not gids:
return
@@
-189,9
+189,8
@@
class Interfaces(dict):
connections = {}
required_fields = self.default_fields.keys()
for interface in self.interfaces.values():
connections = {}
required_fields = self.default_fields.keys()
for interface in self.interfaces.values():
- # make sure the required fields are present and not null
-
url = interface['url']
url = interface['url']
+# sfa_logger().debug("Interfaces.get_connections - looping on neighbour %s"%url)
# check which client we should use
# sfa.util.xmlrpcprotocol is default
client_type = 'xmlrpcprotocol'
# check which client we should use
# sfa.util.xmlrpcprotocol is default
client_type = 'xmlrpcprotocol'