[Et-mgmt-commits-list] [SCM] virt-factory branch, master now at c2ffdad1f2722489d2f7690207dc7d540c265ac2
Michael DeHaan
mdehaan at redhat.com
Mon Jun 4 16:57:08 UTC 2007
Hello,
This is an automated email from the git hooks/update script, it was
generated because a ref change was pushed to the repository.
Updating branch, master,
via c2ffdad1f2722489d2f7690207dc7d540c265ac2 (commit)
via b04ce6ff67d0d959bf90718902ff3028158d6333 (commit)
from 4187c349f94df36c83f3096be22dc5efef2f494f (commit)
- Log -----------------------------------------------------------------
commit c2ffdad1f2722489d2f7690207dc7d540c265ac2
Author: Michael DeHaan <mdehaan at mdehaan.rdu.redhat.com>
Date: Mon Jun 4 12:58:17 2007 -0400
Replaces the sqlite db setup scripts with postgres scripts, which run under
the postgres user account. Further, the directory /etc/virt-factory/db is
now defattr'd to postgres, and stores a file /etc/virt-factory/db/access
which holds a randomized DB password -- unique to all virt-factory
installs. Any script wanting DB access will need to read this file.
vf_upgrade_db needs to be modified to match accordingly, as does the server
app itself.
commit b04ce6ff67d0d959bf90718902ff3028158d6333
Author: Michael DeHaan <mdehaan at mdehaan.rdu.redhat.com>
Date: Mon Jun 4 12:27:18 2007 -0400
Fix makefile typo.
-----------------------------------------------------------------------
Diffstat:
misc/create_old.py | 55 -------
misc/schema/schema.sql | 155 --------------------
misc/schema/upgrade/bootstrap-upgrade.sql | 21 ---
misc/schema/upgrade/upgrades.conf | 4 -
register/po/messages.pot | 2 +-
service/Makefile | 2 +-
.../db/schema/obsolete}/populate.sql | 0
service/db/schema/{ => obsolete}/schema.sql | 0
service/db/schema/populate.sql | 16 --
misc/vf_create_db.sh => service/db/vf_create_db | 19 ++-
service/db/vf_create_db.sh | 5 -
service/init-scripts/virt-factory-server | 6 +-
service/setup.py | 2 +-
service/virt-factory-server.spec | 10 +-
14 files changed, 21 insertions(+), 276 deletions(-)
diff --git a/misc/create_old.py b/misc/create_old.py
deleted file mode 100755
index 1fccfd6..0000000
--- a/misc/create_old.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/python
-
-import subprocess
-import random
-
-PW_FILE="/etc/virt-factory/dbaccess" # must be chown postgres, chmod 550
-
-DATABASE='vfdb'
-
-CREATE_SCHEMA_SQL = """
- CREATE SCHEMA %(DATABASE)s;
- CREATE TABLE demo (foo text, bar text);
-"""
-
-CREATE_USER_SQL = """
- DELETE ROLE %(username)s;
- CREATE ROLE %(username)s LOGIN PASSWORD '%(password)s'
- NOINHERIT
- VALID UNTIL 'infinity';
-
- ALTER ROLE %(username)s SET search_path=%(DATABASE)s,public;
-
- GRANT usage ON SCHEMA %(DATABASE)s TO %(username)s;
- GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE demo TO %(username)s;
-"""
-
-def adduser(username,password):
- dvr = open("/dev/urandom","r")
- r = random.Random(dvr.read(255))
- dvr.close()
- password = "".join([ chr(x) for x in r.sample(range(ord('a'),ord('z')),10) ])
- pwf = open(PW_FILE, "w+")
- pwf.write(password)
- pwf.close()
- data = CREATE_USER_SQL % {
- "username" : username,
- "password" : password,
- "DATABASE" : DATABASE
- }
- __runsql(data)
-
-def createdb():
- data = CREATE_SCHEMA_SQL % { "DATABASE" : DATABASE }
- __runsql(data)
-
-def __runsql(data):
- print data
- p = subprocess.Popen("psql --dbname %s" % (DATABASE), shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- (stdout, stderr) = p.communicate(data)
-
-if __name__ == "__main__":
- createdb()
- adduser("foosball","foosball")
-
-
diff --git a/misc/schema/schema.sql b/misc/schema/schema.sql
deleted file mode 100755
index cfbce5b..0000000
--- a/misc/schema/schema.sql
+++ /dev/null
@@ -1,155 +0,0 @@
-CREATE SCHEMA virtfactory;
-
-CREATE ROLE virtfactory LOGIN PASSWORD '%(password)s'
-NOINHERIT
-VALID UNTIL 'infinity';
-
-ALTER ROLE virtfactory SET search_path=virtfactory,public;
-
-CREATE TABLE tasks (
- id INTEGER PRIMARY KEY,
- user_id INTEGER NOT NULL,
- action_type INTEGER NOT NULL,
- machine_id INTEGER NOT NULL,
- deployment_id INTEGER NOT NULL,
- state INTEGER NOT NULL,
- time REAL NOT NULL
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE tasks TO virtfactory;
-
-CREATE TABLE users (
- id INTEGER PRIMARY KEY,
- username VARCHAR (255) UNIQUE NOT NULL,
- password VARCHAR (255) NOT NULL,
- first VARCHAR (255) NOT NULL,
- middle VARCHAR (255),
- last VARCHAR (255) NOT NULL,
- description VARCHAR (255),
- email VARCHAR (255) NOT NULL
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE users TO virtfactory;
-
-CREATE TABLE events (
- id INTEGER PRIMARY KEY,
- time INTEGER NOT NULL,
- user_id INTEGER NOT NULL,
- machine_id INTEGER,
- deployment_id INTEGER,
- profile_id INTEGER,
- severity INTEGER NOT NULL,
- category VARCHAR (255) NOT NULL,
- action VARCHAR (255) NOT NULL,
- user_comment VARCHAR (255)
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE events TO virtfactory;
-
-CREATE TABLE distributions (
- id INTEGER PRIMARY KEY,
- kernel VARCHAR(255) NOT NULL,
- initrd VARCHAR(255) NOT NULL,
- options VARCHAR(255),
- kickstart VARCHAR(255),
- name VARCHAR(255) UNIQUE,
- architecture INTEGER NOT NULL,
- kernel_options VARCHAR(255),
- kickstart_metadata VARCHAR(255)
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE distributions TO virtfactory;
-
-CREATE TABLE profiles (
- id INTEGER PRIMARY KEY,
- name VARCHAR (255) UNIQUE,
- version VARCHAR (255) NOT NULL,
- distribution_id INTEGER NOT NULL,
- virt_storage_size INTEGER,
- virt_ram INTEGER,
- kickstart_metadata VARCHAR(255),
- kernel_options VARCHAR(255),
- valid_targets INTEGER NOT NULL,
- is_container INTEGER NOT NULL,
- puppet_classes TEXT
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE profiles TO virtfactory;
-
-CREATE TABLE deployments (
- id INTEGER PRIMARY KEY,
- hostname VARCHAR(255),
- ip_address VARCHAR(255),
- registration_token VARCHAR(255),
- mac_address VARCHAR(255),
- machine_id INTEGER NOT NULL,
- profile_id INTEGER NOT NULL,
- state INTEGER NOT NULL,
- display_name VARCHAR(255) NOT NULL,
- puppet_node_diff TEXT,
- netboot_enabled INTEGER,
- is_locked INTEGER
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE deployments TO virtfactory;
-
-CREATE TABLE machines (
- id INTEGER PRIMARY KEY,
- hostname VARCHAR(255),
- ip_address VARCHAR(255),
- registration_token VARCHAR(255),
- architecture INTEGER,
- processor_speed INTEGER,
- processor_count INTEGER,
- memory INTEGER,
- kernel_options VARCHAR(255),
- kickstart_metadata VARCHAR(255),
- list_group VARCHAR(255),
- mac_address VARCHAR(255),
- is_container INTEGER,
- profile_id INTEGER NOT NULL,
- puppet_node_diff TEXT,
- netboot_enabled INTEGER,
- is_locked INTEGER
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE machines TO virtfactory;
-
-CREATE TABLE regtokens (
- id INTEGER PRIMARY KEY,
- token VARCHAR(255),
- profile_id INTEGER,
- uses_remaining INTEGER
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE regtokens TO virtfactory;
-
-CREATE TABLE sessions (
- session_token VARCHAR(255) UNIQUE NOT NULL,
- user_id INTEGER NOT NULL,
- session_timestamp REAL NOT NULL
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE sessions TO virtfactory;
-
-CREATE TABLE schema_versions (
- id INTEGER PRIMARY KEY,
- version INTEGER,
- git_tag VARCHAR(100),
- install_timestamp REAL NOT NULL,
- status VARCHAR(20) NOT NULL,
- notes VARCHAR(4000)
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE schema_versions TO virtfactory;
-
-create table upgrade_log_messages (
- id INTEGER PRIMARY KEY,
- action VARCHAR(50),
- message_type VARCHAR(50), --info, warning, error
- message_timestamp REAL NOT NULL,
- message VARCHAR(4000)
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE upgrade_log_messages TO virtfactory;
-
diff --git a/misc/schema/upgrade/bootstrap-upgrade.sql b/misc/schema/upgrade/bootstrap-upgrade.sql
deleted file mode 100644
index 9670f59..0000000
--- a/misc/schema/upgrade/bootstrap-upgrade.sql
+++ /dev/null
@@ -1,21 +0,0 @@
-CREATE TABLE schema_versions (
- id INTEGER PRIMARY KEY,
- version INTEGER,
- git_tag VARCHAR(100),
- install_timestamp REAL NOT NULL,
- status VARCHAR(20) NOT NULL,
- notes VARCHAR(4000)
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE schema_versions TO virtfactory;
-
-create table upgrade_log_messages (
- id INTEGER PRIMARY KEY,
- action VARCHAR(50),
- message_type VARCHAR(50), --info, warning, error
- message_timestamp REAL NOT NULL,
- message VARCHAR(4000)
-);
-
-GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE upgrade_log_messages TO virtfactory;
-
diff --git a/misc/schema/upgrade/upgrades.conf b/misc/schema/upgrade/upgrades.conf
deleted file mode 100644
index e13eba3..0000000
--- a/misc/schema/upgrade/upgrades.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[upgrade.0001]
-git_tag=db-initial-upgrade
-notes=Initial upgrade creates the required tables for the upgrade infrastructure
-files=bootstrap-upgrade.sql
diff --git a/register/po/messages.pot b/register/po/messages.pot
index b59726a..07e6415 100644
--- a/register/po/messages.pot
+++ b/register/po/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: virt-factory-register 0.0.3-1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-01 13:39-0400\n"
+"POT-Creation-Date: 2007-06-04 12:25-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
diff --git a/service/Makefile b/service/Makefile
index 8e4c063..9715431 100755
--- a/service/Makefile
+++ b/service/Makefile
@@ -38,7 +38,7 @@ build: clean
install: build messages
python setup.py install -f
-sdist: clean message
+sdist: clean messages
python setup.py sdist
# this is just for testing purposes, dont use this
diff --git a/misc/schema/populate.sql b/service/db/schema/obsolete/populate.sql
similarity index 100%
rename from misc/schema/populate.sql
rename to service/db/schema/obsolete/populate.sql
diff --git a/service/db/schema/schema.sql b/service/db/schema/obsolete/schema.sql
similarity index 100%
rename from service/db/schema/schema.sql
rename to service/db/schema/obsolete/schema.sql
diff --git a/service/db/schema/populate.sql b/service/db/schema/populate.sql
deleted file mode 100755
index 48a261c..0000000
--- a/service/db/schema/populate.sql
+++ /dev/null
@@ -1,16 +0,0 @@
-INSERT INTO users VALUES (-1, "system", "locked", "?", "?", "?", "?", "?");
-
-INSERT INTO users VALUES (1, "admin", "fedora", "?", "?", "?", "?", "?");
-
-INSERT INTO distributions VALUES (-1, "*Unassigned*", "", "", "", "", 0, "", "");
-
-INSERT INTO profiles VALUES(-1, "*Unassigned*", "0.00", 1, 0, 0, "", "", -1, -1, "");
-
-INSERT INTO machines VALUES(-1, "*Unassigned*", "", "*NoSuchToken*", 0, 0, 0, 0, "", "", "", "", 0, -1, "", 0, 0);
-
-INSERT INTO regtokens VALUES(-1, "*Unassigned*", -1, NULL);
-
-INSERT INTO deployments VALUES(-1, "*Unassigned*", "", "*NoSuchToken*", "", -1, -1, -1, "__NULL__", "", 0, 0);
-
-
-
diff --git a/misc/vf_create_db.sh b/service/db/vf_create_db
similarity index 68%
rename from misc/vf_create_db.sh
rename to service/db/vf_create_db
index 68fc385..c0e4b8e 100644
--- a/misc/vf_create_db.sh
+++ b/service/db/vf_create_db
@@ -8,9 +8,9 @@ import random
# must be chown postgres, chmod 550
DATABASE = "virtfactory"
-PW_FILE = "/etc/virt-factory/dbaccess"
-SCHEMA_FILE = "/var/lib/virt-factory/db_schema/schema.sql"
-POPULATE_FILE = "/var/lib/virt-factory/db_schema/populate.sql"
+PW_FILE = "/etc/virt-factory/db/dbaccess"
+#SCHEMA_FILE = "/var/lib/virt-factory/db_schema/schema.sql"
+#POPULATE_FILE = "/var/lib/virt-factory/db_schema/populate.sql"
######################################
@@ -23,13 +23,14 @@ def createdb():
pwf.write(password)
pwf.close()
- sf = open(SCHEMA_FILE, "r")
- data = sf.read() % { "password" : password }
+ #sf = open(SCHEMA_FILE, "r")
+ #data = sf.read() % { "password" : password }
+ data = "" # no initial schema, use SQLalchemy
__runsql(data)
-def populate():
- data = open(POPULATE_FILE, "r")
- __runsql(data)
+#def populate():
+# data = open(POPULATE_FILE, "r")
+# __runsql(data)
def initialize_upgrade_path():
p = subprocess.Popen("/usr/bin/vf_upgrade_db --initialize", shell=True)
@@ -43,7 +44,7 @@ def __runsql(data):
if __name__ == "__main__":
createdb()
initialize_upgrade_path()
- populate()
+ # populate() -- let sqlalchemy do this
diff --git a/service/db/vf_create_db.sh b/service/db/vf_create_db.sh
deleted file mode 100644
index 42a3008..0000000
--- a/service/db/vf_create_db.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-/usr/bin/sqlite3 /var/lib/virt-factory/primary_db < /usr/share/virt-factory/db_schema/schema.sql
-/usr/bin/vf_upgrade_db --initialize
-/usr/bin/sqlite3 /var/lib/virt-factory/primary_db < /usr/share/virt-factory/db_schema/populate.sql
diff --git a/service/init-scripts/virt-factory-server b/service/init-scripts/virt-factory-server
index 991ac7f..00cb273 100755
--- a/service/init-scripts/virt-factory-server
+++ b/service/init-scripts/virt-factory-server
@@ -23,7 +23,11 @@ start() {
echo
return 1
fi
-
+ if test -f /var/lib/virt-factory/primary_db ; then
+ sudo -u postgres /usr/bin/vf_upgrade_db
+ else
+ sudo -u postgres /usr/bin/vf_create_db
+ fi
/usr/bin/vf_server --daemon
/usr/bin/vf_taskatron --daemon
RETVAL=$?
diff --git a/service/setup.py b/service/setup.py
index 9bc13d4..3b9d904 100644
--- a/service/setup.py
+++ b/service/setup.py
@@ -40,7 +40,7 @@ if __name__ == "__main__":
"scripts/vf_config_firewall",
"scripts/vf_remove_firewall_rules",
"scripts/vf_gen_profile_stub",
- "db/vf_create_db.sh"],
+ "db/vf_create_db"],
package_dir = {"%s" % NAME: "",
"%s/server" % NAME: "server",
"%s/server/modules" % NAME: "modules/",
diff --git a/service/virt-factory-server.spec b/service/virt-factory-server.spec
index c62ff1b..a696220 100644
--- a/service/virt-factory-server.spec
+++ b/service/virt-factory-server.spec
@@ -42,7 +42,7 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
%{_bindir}/vf_taskatron
%{_bindir}/vf_import
%{_bindir}/vf_get_puppet_node
-%{_bindir}/vf_create_db.sh
+%{_bindir}/vf_create_db
%{_bindir}/vf_nodecomm
%{_bindir}/vf_upgrade_db
%{_bindir}/vf_config_firewall
@@ -80,16 +80,12 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
/usr/share/virt-factory/profile-template/vf-profile-template.spec
/usr/share/virt-factory/profile-template/init.pp
%dir /var/log/virt-factory
-
+%defattr(2770,postgres,postgres)
+%dir /etc/virt-factory/db
%post
/bin/cp /usr/share/virt-factory/puppet-config/puppetmaster /etc/sysconfig
/bin/cp /usr/share/virt-factory/puppet-config/puppetd.conf /etc/puppet
-#if [ -f /var/lib/virt-factory/primary_db ]; then
-# /usr/bin/vf_upgrade_db
-#else
-# /usr/bin/vf_create_db.sh
-#fi
/sbin/chkconfig --add virt-factory-server
exit 0
hooks/update
---
Git Source Code Management System
hooks/update refs/heads/master \
4187c349f94df36c83f3096be22dc5efef2f494f \
c2ffdad1f2722489d2f7690207dc7d540c265ac2
More information about the Et-mgmt-commits-list
mailing list