# 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
# 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'
-
- if not hasattr(self, 'SFA_MAX_SLICE_RENEW'):
- self.SFA_MAX_SLICE_RENEW=60
-
# create the data directory if it doesnt exist
if not os.path.isdir(self.SFA_DATA_DIR):
try:
return (aggr_mgr_ip,aggr_mgr_port)
- def get_aggregate_type(self):
- if (hasattr(self,'SFA_AGGREGATE_TYPE')):
- return self.SFA_AGGREGATE_TYPE
- else:
- return "pl"
-
def get_interface_hrn(self):
if (hasattr(self,'SFA_INTERFACE_HRN')):
return self.SFA_INTERFACE_HRN
else:
return "plc"
- def get_plc_dbinfo(self):
- return {
- '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
- }
-
# TODO: find a better place to put this method
def get_max_aggrMgr_info(self):
am_apiclient_path = '/usr/local/MAXGENI_AM_APIClient'
return (am_apiclient_path,am_url)
- ##
- # 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
- }