X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fsfa_component_setup.py;h=f75f1ca728ab8e5709e18aef09765ed480e3fd72;hb=f58accad0a467774fa451ef690147d0b93671f44;hp=954ff6d09a771dd472c86178f82f6aa2e2bcf3dc;hpb=7e37315fd8f26d2e9376c26e83d9c2aff0482541;p=sfa.git diff --git a/sfa/server/sfa_component_setup.py b/sfa/server/sfa_component_setup.py index 954ff6d0..f75f1ca7 100755 --- a/sfa/server/sfa_component_setup.py +++ b/sfa/server/sfa_component_setup.py @@ -6,14 +6,16 @@ from optparse import OptionParser from sfa.util.faults import ConnectionKeyGIDMismatch from sfa.util.config import Config -import sfa.util.xmlrpcprotocol as xmlrpcprotocol -from sfa.util.plxrn import hrn_to_pl_slicename, slicename_to_hrn from sfa.trust.certificate import Keypair, Certificate from sfa.trust.credential import Credential from sfa.trust.gid import GID from sfa.trust.hierarchy import Hierarchy +from sfa.client.sfaserverproxy import SfaServerProxy + +from sfa.planetlab.plxrn import hrn_to_pl_slicename, slicename_to_hrn + KEYDIR = "/var/lib/sfa/" CONFDIR = "/etc/sfa/" @@ -28,7 +30,7 @@ def handle_gid_mismatch_exception(f): return wrapper -def get_server(url=None, port=None, keyfile=None, certfile=None,verbose=False): +def server_proxy(url=None, port=None, keyfile=None, certfile=None,verbose=False): """ returns an xmlrpc connection to the service a the specified address @@ -48,7 +50,7 @@ def get_server(url=None, port=None, keyfile=None, certfile=None,verbose=False): if verbose: print "Contacting registry at: %(url)s" % locals() - server = xmlrpcprotocol.get_server(url, keyfile, certfile) + server = SfaServerProxy(url, keyfile, certfile) return server @@ -78,9 +80,9 @@ def clean_key_cred(): os.unlink(f) # install the new key pair - # get_credential will take care of generating the new keypair + # GetCredential will take care of generating the new keypair # and credential - get_credential() + GetCredential() def get_node_key(registry=None, verbose=False): @@ -97,8 +99,8 @@ def get_node_key(registry=None, verbose=False): cert.sign() cert.save_to_file(certfile) - registry = get_server(url = registry, keyfile=keyfile, certfile=certfile) - registry.get_key() + registry = server_proxy(url = registry, keyfile=keyfile, certfile=certfile) + registry.get_key_from_incoming_ip() def create_server_keypair(keyfile=None, certfile=None, hrn="component", verbose=False): """ @@ -113,7 +115,7 @@ def create_server_keypair(keyfile=None, certfile=None, hrn="component", verbose= cert.save_to_file(certfile, save_parents=True) @handle_gid_mismatch_exception -def get_credential(registry=None, force=False, verbose=False): +def GetCredential(registry=None, force=False, verbose=False): config = Config() hierarchy = Hierarchy() key_dir= hierarchy.basedir @@ -145,7 +147,7 @@ def get_credential(registry=None, force=False, verbose=False): create_server_keypair(keyfile, certfile, hrn, verbose) # get credential from registry - registry = get_server(url=registry, keyfile=keyfile, certfile=certfile) + registry = server_proxy(url=registry, keyfile=keyfile, certfile=certfile) cert = Certificate(filename=certfile) cert_str = cert.save_to_string(save_parents=True) cred = registry.GetSelfCredential(cert_str, 'node', hrn) @@ -169,10 +171,10 @@ def get_trusted_certs(registry=None, verbose=False): node_gid = GID(filename=node_gid_file) hrn = node_gid.get_hrn() # get credential - cred = get_credential(registry=registry, verbose=verbose) + cred = GetCredential(registry=registry, verbose=verbose) # make sure server key cert pair exists create_server_keypair(keyfile=keyfile, certfile=certfile, hrn=hrn, verbose=verbose) - registry = get_server(url=registry, keyfile=keyfile, certfile=certfile) + registry = server_proxy(url=registry, keyfile=keyfile, certfile=certfile) # get the trusted certs and save them in the right place if verbose: print "Getting trusted certs from registry" @@ -214,17 +216,18 @@ def get_gids(registry=None, verbose=False): hrn = node_gid.get_hrn() interface_hrn = config.SFA_INTERFACE_HRN # get credential - cred = get_credential(registry=registry, verbose=verbose) + cred = GetCredential(registry=registry, verbose=verbose) # make sure server key cert pair exists create_server_keypair(keyfile=keyfile, certfile=certfile, hrn=hrn, verbose=verbose) - registry = get_server(url=registry, keyfile=keyfile, certfile=certfile) + registry = server_proxy(url=registry, keyfile=keyfile, certfile=certfile) if verbose: print "Getting current slices on this node" # get a list of slices on this node - from sfa.plc.plcsfaapi import PlcComponentApi - api = PlcComponentApi() - xids_tuple = api.nodemanager.GetXIDs() + from sfa.generic import Generic + generic=Generic.the_flavour() + api = generic.make_api(interface='component') + xids_tuple = api.driver.nodemanager.GetXIDs() slices = eval(xids_tuple[1]) slicenames = slices.keys()