From 1e518eb7966a347343d009b4e92182c457394955 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Sat, 2 May 2009 22:59:21 +0000 Subject: [PATCH] changed default location of aggregates.xml file to /etc/geni/ --- geni/aggregate.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/geni/aggregate.py b/geni/aggregate.py index 5bc8e76e..33fd3abf 100644 --- a/geni/aggregate.py +++ b/geni/aggregate.py @@ -36,14 +36,32 @@ class Aggregates(dict): required_fields = ['hrn', 'addr', 'port'] - def __init__(self, api): + def __init__(self, api, file = "/etc/geni/aggregates.xml"): dict.__init__(self, {}) self.api = api - aggregates_file = self.api.server_basedir + os.sep + 'aggregates.xml' + + # create default connection dict connection_dict = {} for field in self.required_fields: connection_dict[field] = '' - self.aggregate_info = XmlStorage(aggregates_file, {'aggregates': {'aggregate': [connection_dict]}}) + + # get possible config file locations + loaded = False + path = os.path.dirname(os.path.abspath(__file__)) + filename = file.split(os.sep)[-1] + alt_file = path + os.sep + filename + files = [file, alt_file] + + for f in files: + try: + if os.path.isfile(f): + self.aggregate_info = XmlStorage(f, {'aggregates': {'aggregate': [connection_dict]}}) + loaded = True + except: pass + + # if file is missing, just recreate it in the right place + if not loaded: + self.aggregate_info = XmlStorage(file, {'aggregates': {'aggregate': [connection_dict]}}) self.aggregate_info.load() self.connectAggregates() -- 2.43.0