summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Core.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Bcfg2/Server/Core.py')
-rw-r--r--src/lib/Bcfg2/Server/Core.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Core.py b/src/lib/Bcfg2/Server/Core.py
index 34e0d4889..7e0e33024 100644
--- a/src/lib/Bcfg2/Server/Core.py
+++ b/src/lib/Bcfg2/Server/Core.py
@@ -105,6 +105,23 @@ class BaseCore(object):
# load plugins
Bcfg2.settings.read_config(cfile=self.cfile, repo=self.datastore)
+ # verify our database schema
+ try:
+ from Bcfg2.Server.SchemaUpdater import update_database, UpdaterError
+ update_database()
+ except ImportError:
+ # assume django is not installed
+ pass
+ except UpdaterError:
+ self.logger.error("Failed to update database schema")
+ raise CoreInitError
+ except Exception:
+ inst = sys.exc_info()[1]
+ self.logger.error("Failed to update database schema")
+ self.logger.error(str(inst))
+ self.logger.error(str(type(inst)))
+ raise CoreInitError
+
if '' in setup['plugins']:
setup['plugins'].remove('')