X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Fconfig.py;h=f114a2df75cb529effbff9d63ca47c4571c9b5ca;hb=5dd712d2c54e90dcdff9bcacef7a12cb817aad44;hp=a3fe098ef4d1fe65f261c7533f4ddf52b4f0657b;hpb=0cf0d31c313a366e3f272f830bdb4f2a7308e11f;p=sfa.git diff --git a/sfa/util/config.py b/sfa/util/config.py index a3fe098e..f114a2df 100644 --- a/sfa/util/config.py +++ b/sfa/util/config.py @@ -14,9 +14,6 @@ # Note that SFA does not access any of the PLC databases directly via # a mysql connection; All PLC databases are accessed via PLCAPI. -### $Id$ -### $URL$ - import os.path import traceback @@ -39,6 +36,7 @@ class Config: # path to configuration data self.config_path = os.path.dirname(config_file) + ### xxx todo implement defaults in default_config.xml # path to server data if not hasattr(self, 'SFA_DATA_DIR'): # default to /var/lib/sfa not specified in config @@ -49,26 +47,12 @@ class Config: # path to config data if not hasattr(self, 'SFA_CONFIG_DIR'): - # default to /var/lib/sfa not specified in config + # default to /etc/sfa not specified in config self.SFA_CONFIG_DIR="/etc/sfa" if not hasattr(self, 'SFA_REGISTRY_LEVEL1_AUTH'): self.SFA_REGISTRY_LEVEL1_AUTH=None - # define interface types - # this will determine which manager to use - if not hasattr(self, 'SFA_REGISTRY_TYPE'): - self.SFA_REGISTRY_TYPE='pl' - - if not hasattr(self, 'SFA_AGGREGATE_TYPE'): - self.SFA_AGGREGATE_TYPE='pl' - - if not hasattr(self, 'SFA_SM_TYPE'): - self.SFA_SM_TYPE='pl' - - if not hasattr(self, 'SFA_CM_TYPE'): - self.SFA_COMPONENT_TYPE='pl' - # create the data directory if it doesnt exist if not os.path.isdir(self.SFA_DATA_DIR): try: @@ -76,7 +60,7 @@ class Config: except: pass except IOError, e: - raise IOError, "Could not find the configuration file: %s" % config_file + raise IOError, "Could not find or load the configuration file: %s" % config_file def get_trustedroots_dir(self): return self.config_path + os.sep + 'trusted_roots' @@ -92,35 +76,30 @@ class Config: return (aggr_mgr_ip,aggr_mgr_port) - def get_aggregate_type(self): - if (hasattr(self,'SFA_AGGREGATE_TYPE')): - return self.SFA_AGGREGATE_TYPE + def get_interface_hrn(self): + if (hasattr(self,'SFA_INTERFACE_HRN')): + return self.SFA_INTERFACE_HRN else: - return "pl" + return "plc" def get_plc_dbinfo(self): return { - 'dbname' : self.SFA_PLC_DB_NAME, - 'address' : self.SFA_PLC_DB_HOST, - 'port' : self.SFA_PLC_DB_PORT, - 'user' : self.SFA_PLC_DB_USER, - 'password' : self.SFA_PLC_DB_PASSWORD + 'dbname' : self.SFA_DB_NAME, + 'address' : self.SFA_DB_HOST, + 'port' : self.SFA_DB_PORT, + 'user' : self.SFA_DB_USER, + 'password' : self.SFA_DB_PASSWORD } - ## - # SFA uses a PLCAPI connection to perform operations on the registry, - # such as creating and deleting slices. This connection requires an account - # on the PLC server with full administrator access. - # - # The Url parameter controls whether the connection uses PLCAPI directly (i.e. - # SFA is located on the same machine as PLC), or uses a XMLRPC connection - # to the PLC machine. If you wish to use the API directly, then remove the Url - # field from the dictionary. - - def get_plc_auth(self): - return { - 'AuthMethod': 'capability', - 'Username': self.SFA_PLC_USER, - 'AuthString': self.SFA_PLC_PASSWORD, - "Url": self.SFA_PLC_URL - } + # TODO: find a better place to put this method + def get_max_aggrMgr_info(self): + am_apiclient_path = '/usr/local/MAXGENI_AM_APIClient' + if (hasattr(self,'MAXGENI_AM_APICLIENT_PATH')): + am_client_path = self.MAXGENI_AM_APICLIENT_PATH + + am_url = 'https://geni.dragon.maxgigapop.net:8443/axis2/services/AggregateGENI' + if (hasattr(self,'MAXGENI_AM_URL')): + am_url = self.MAXGENI_AM_URL + + return (am_apiclient_path,am_url) +