From a343d169d032d24d41e94816c26bd001d752fcf3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Mon, 14 Dec 2009 11:26:27 +0000 Subject: [PATCH] - add db versioning. - reuse function in monitor.functions in monitor-server.init --- Monitor.spec | 10 ++++--- monitor-server.init | 9 +++--- monitor/database/info/__init__.py | 1 + monitor/database/info/version.py | 12 ++++++++ monitor/monitor_version.py | 4 +++ setup.py | 48 +++++++++++++++---------------- 6 files changed, 51 insertions(+), 33 deletions(-) create mode 100644 monitor/database/info/version.py create mode 100644 monitor/monitor_version.py diff --git a/Monitor.spec b/Monitor.spec index ec6a5ac..92a8c10 100644 --- a/Monitor.spec +++ b/Monitor.spec @@ -5,7 +5,7 @@ %define url $URL: svn+ssh://svn.planet-lab.org/svn/monitor/trunk/monitor.spec $ %define name monitor -%define version 3.0 +%define version %(python -c "import sys; sys.path.append('$RPM_SOURCE_DIR')import setup; print setup.monitor_version") %define taglevel 25 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} @@ -145,15 +145,17 @@ install -d $RPM_BUILD_ROOT/%{python_sitearch}/ export PYTHONPATH=$PYTHONPATH:$RPM_BUILD_ROOT/%{python_sitearch}/ # pack monitor's dependencies in RPM to make it easier to deploy. -easy_install --build-directory /var/tmp -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg -easy_install --build-directory /var/tmp -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz -easy_install --build-directory /var/tmp -UZ Elixir +easy_install --build-directory /var/tmp -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ http://files.turbogears.org/eggs/TurboGears-1.0.7-py2.5.egg +easy_install --build-directory /var/tmp -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.5.3.tar.gz +easy_install --build-directory /var/tmp -d $RPM_BUILD_ROOT/%{python_sitearch}/ -UZ Elixir rm -rf $RPM_BUILD_ROOT/%{python_sitearch}/site.py* install -D -m 644 monitor.functions $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor.functions install -D -m 755 monitor-server.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/monitor install -D -m 755 zabbix/monitor-zabbix.init $RPM_BUILD_ROOT/%{_sysconfdir}/plc.d/zabbix +install -D -m 644 monitor_version.py $RPM_BUILD_ROOT/usr/share/%{name}/ + echo " * Installing core scripts" rsync -a --exclude www --exclude archive-pdb --exclude .svn --exclude CVS \ ./ $RPM_BUILD_ROOT/usr/share/%{name}/ diff --git a/monitor-server.init b/monitor-server.init index aed298c..32d1209 100644 --- a/monitor-server.init +++ b/monitor-server.init @@ -75,10 +75,11 @@ function check_gadget_config () done } -function check_monitor_schema_and_data() +function check_monitor_schema_and_data_init() { - # NOTE: call create_all() to setup the database from the info model. - python -c "from monitor.database.info.model import *; from elixir import create_all; create_all()" + # from monitor.functions + check_monitor_schema_and_data + $MONITORPATH/config.d/init-bootman-sequence.py } @@ -247,7 +248,7 @@ case "$1" in dialog "$MESSAGE" fi - check_monitor_schema_and_data + check_monitor_schema_and_data_init # create /etc/httpd/conf.d/monitorweb.conf create_httpd_conf diff --git a/monitor/database/info/__init__.py b/monitor/database/info/__init__.py index 03a1b74..bab03f5 100644 --- a/monitor/database/info/__init__.py +++ b/monitor/database/info/__init__.py @@ -45,4 +45,5 @@ from monitor.database.info.action import * from monitor.database.info.findbad import * from monitor.database.info.history import * from monitor.database.info.plc import * +from monitor.database.info.version import * setup_all() diff --git a/monitor/database/info/version.py b/monitor/database/info/version.py new file mode 100644 index 0000000..38d5ea7 --- /dev/null +++ b/monitor/database/info/version.py @@ -0,0 +1,12 @@ +from elixir import Entity, Field +from elixir import Integer + +from monitor.monitor_version import monitor_version + +major_version = int(monitor_version.split('.')[0]) +minor_version = int(monitor_version.split('.')[-1]) + +class DBVersion(Entity): + major = Field(Integer, required=True, default=major_version) + minor = Field(Integer, required=True, default=minor_version) + diff --git a/monitor/monitor_version.py b/monitor/monitor_version.py new file mode 100644 index 0000000..e55af94 --- /dev/null +++ b/monitor/monitor_version.py @@ -0,0 +1,4 @@ + +monitor_version="3.0" + +pcucontrol_version=monitor_version diff --git a/setup.py b/setup.py index 6dd7d31..a9744ee 100644 --- a/setup.py +++ b/setup.py @@ -2,46 +2,44 @@ from distutils.core import setup -packages=[ 'monitor', - 'monitor.database', - 'monitor.Rpyc', - 'monitor.database.zabbixapi', - 'monitor.database.info', - 'monitor.sources', - 'monitor.util', - 'monitor.wrapper' ] +from monitor.monitor_version import * + +packages=['monitor', + 'monitor.database', + 'monitor.Rpyc', + 'monitor.database.zabbixapi', + 'monitor.database.info', + 'monitor.sources', + 'monitor.util', + 'monitor.wrapper'] print packages setup(name='MonitorModule', - version='2.0', + version=monitor_version, description='Monitor Utility Module', author='Stephen Soltesz', author_email='soltesz@cs.princeton.edu', url='http://www.planet-lab.org', - packages=packages, -) + packages=packages) packages=['pcucontrol', - 'pcucontrol.util', - 'pcucontrol.transports', - 'pcucontrol.transports.ssh', - 'pcucontrol.transports.pyssh', - 'pcucontrol.models', - 'pcucontrol.models.hpilo', - 'pcucontrol.models.hpilo.iloxml', - 'pcucontrol.models.intelamt', - 'pcucontrol.models.intelamt', - - ] + 'pcucontrol.util', + 'pcucontrol.transports', + 'pcucontrol.transports.ssh', + 'pcucontrol.transports.pyssh', + 'pcucontrol.models', + 'pcucontrol.models.hpilo', + 'pcucontrol.models.hpilo.iloxml', + 'pcucontrol.models.intelamt', + 'pcucontrol.models.intelamt'] # TODO: add data dir for intelamt and hpilo stuff print packages setup(name='PCUControlModule', - version='2.0', + version=pcucontrol_version, description='PCU Control Module', author='Stephen Soltesz', author_email='soltesz@cs.princeton.edu', url='http://www.planet-lab.org', - packages=packages, -) + packages=packages) -- 2.47.0