summaryrefslogtreecommitdiffstats
path: root/src/lib/Server
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server')
-rw-r--r--src/lib/Server/Admin/Snapshots.py5
-rw-r--r--src/lib/Server/Core.py4
-rw-r--r--src/lib/Server/Plugins/Snapshots.py2
-rw-r--r--src/lib/Server/Snapshots/__init__.py8
4 files changed, 11 insertions, 8 deletions
diff --git a/src/lib/Server/Admin/Snapshots.py b/src/lib/Server/Admin/Snapshots.py
index a68dec30d..004de0ddb 100644
--- a/src/lib/Server/Admin/Snapshots.py
+++ b/src/lib/Server/Admin/Snapshots.py
@@ -23,7 +23,8 @@ class Snapshots(Bcfg2.Server.Admin.Mode):
def __init__(self, configfile):
Bcfg2.Server.Admin.Mode.__init__(self, configfile)
#self.session = Bcfg2.Server.Snapshots.setup_session(debug=True)
- self.session = Bcfg2.Server.Snapshots.setup_session()
+ self.session = Bcfg2.Server.Snapshots.setup_session(configfile)
+ self.cfile = configfile
def __call__(self, args):
Bcfg2.Server.Admin.Mode.__call__(self, args)
@@ -59,7 +60,7 @@ class Snapshots(Bcfg2.Server.Admin.Mode):
raise SystemExit(1)
elif args[0] == 'init':
# Initialize the Snapshots database
- dbpath = Bcfg2.Server.Snapshots.db_from_config()
+ dbpath = Bcfg2.Server.Snapshots.db_from_config(self.cfile)
engine = sqlalchemy.create_engine(dbpath, echo=True)
metadata = Base.metadata
metadata.create_all(engine)
diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py
index efb6f10a3..712c87c8e 100644
--- a/src/lib/Server/Core.py
+++ b/src/lib/Server/Core.py
@@ -36,7 +36,8 @@ class Core(Component):
name = 'bcfg2-server'
implementation = 'bcfg2-server'
- def __init__(self, repo, plugins, password, encoding, ca=None,
+ def __init__(self, repo, plugins, password, encoding,
+ cfile='/etc/bcfg2.conf', ca=None,
filemonitor='default', start_fam_thread=False):
Component.__init__(self)
self.datastore = repo
@@ -51,6 +52,7 @@ class Core(Component):
raise CoreInitError, "failed to instantiate fam driver (used %s)" % \
filemonitor
self.pubspace = {}
+ self.cfile = cfile
self.cron = {}
self.plugins = {}
self.revision = '-1'
diff --git a/src/lib/Server/Plugins/Snapshots.py b/src/lib/Server/Plugins/Snapshots.py
index 5ee1e6d62..a4489ae95 100644
--- a/src/lib/Server/Plugins/Snapshots.py
+++ b/src/lib/Server/Plugins/Snapshots.py
@@ -65,7 +65,7 @@ class Snapshots(Bcfg2.Server.Plugin.Statistics,
def __init__(self, core, datastore):
Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore)
Bcfg2.Server.Plugin.Statistics.__init__(self)
- self.session = Bcfg2.Server.Snapshots.setup_session()
+ self.session = Bcfg2.Server.Snapshots.setup_session(core.cfile)
self.work_queue = Queue.Queue()
self.loader = threading.Thread(target=self.load_snapshot)
self.loader.start()
diff --git a/src/lib/Server/Snapshots/__init__.py b/src/lib/Server/Snapshots/__init__.py
index c13dee42e..6018377cb 100644
--- a/src/lib/Server/Snapshots/__init__.py
+++ b/src/lib/Server/Snapshots/__init__.py
@@ -5,9 +5,9 @@ import sqlalchemy.orm
import ConfigParser
-def db_from_config(fname='/etc/bcfg2.conf'):
+def db_from_config(cfile):
cp = ConfigParser.ConfigParser()
- cp.read([fname])
+ cp.read([cfile])
driver = cp.get('snapshots', 'driver')
if driver == 'sqlite':
path = cp.get('snapshots', 'database')
@@ -22,8 +22,8 @@ def db_from_config(fname='/etc/bcfg2.conf'):
raise Exception, "unsupported db driver %s" % driver
-def setup_session(debug=False):
- engine = sqlalchemy.create_engine(db_from_config(),
+def setup_session(cfile, debug=False):
+ engine = sqlalchemy.create_engine(db_from_config(cfile),
echo=debug)
Session = sqlalchemy.orm.sessionmaker()
Session.configure(bind=engine)