[Et-mgmt-commits-list] [SCM] virt-factory branch, master now at bff94fba953ef0b3f9c2bea56909f9016ff7796b

Michael DeHaan mdehaan at redhat.com
Thu May 3 21:28:05 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  bff94fba953ef0b3f9c2bea56909f9016ff7796b (commit)
      from  e80b6ee6223c51da81cdba2c5606c79d01bbb9f9 (commit)

- Log -----------------------------------------------------------------
commit bff94fba953ef0b3f9c2bea56909f9016ff7796b
Author: Michael DeHaan <mdehaan at mdehaan.rdu.redhat.com>
Date:   Thu May 3 17:29:22 2007 -0400

    This is ongoing work to move the startup scripts to Postgres.
    
    It turns out that the "upgrade init" scripts we have earlier need root,
    which doesn't currently work in the DB as we have to be sudo'd to postgres
    to get the scripts to run.
    
    We can probably fix this by either (A) tweaking postgres or (B) making
    the upgrade init scripts just use SQL and not have dependencies on the
    server modules which need root.
-----------------------------------------------------------------------

Diffstat:
 misc/{create.py => create_old.py}                  |    0 
 {service/db => misc}/schema/populate.sql           |    0 
 {service/db => misc}/schema/schema.sql             |   30 ++++++++++++
 .../schema/upgrade/bootstrap-upgrade.sql           |    4 ++
 {service/db => misc}/schema/upgrade/upgrades.conf  |    0 
 misc/vf_create_db.sh                               |   49 ++++++++++++++++++++
 6 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/misc/create.py b/misc/create_old.py
similarity index 100%
rename from misc/create.py
rename to misc/create_old.py
diff --git a/service/db/schema/populate.sql b/misc/schema/populate.sql
similarity index 100%
copy from service/db/schema/populate.sql
copy to misc/schema/populate.sql
diff --git a/service/db/schema/schema.sql b/misc/schema/schema.sql
similarity index 79%
copy from service/db/schema/schema.sql
copy to misc/schema/schema.sql
index 821b226..cfbce5b 100755
--- a/service/db/schema/schema.sql
+++ b/misc/schema/schema.sql
@@ -1,3 +1,11 @@
+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,
@@ -8,6 +16,8 @@ CREATE TABLE tasks (
    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,
@@ -19,6 +29,8 @@ CREATE TABLE users (
    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,
@@ -32,6 +44,8 @@ CREATE TABLE events (
    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,
@@ -44,6 +58,8 @@ CREATE TABLE distributions (
    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,
@@ -58,6 +74,8 @@ CREATE TABLE profiles (
    puppet_classes     TEXT
 );
 
+GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE profiles TO virtfactory;
+
 CREATE TABLE deployments (
    id                  INTEGER PRIMARY KEY,
    hostname            VARCHAR(255),
@@ -73,6 +91,8 @@ CREATE TABLE deployments (
    is_locked           INTEGER
 );
 
+GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE deployments TO virtfactory;
+
 CREATE TABLE machines (
    id                 INTEGER PRIMARY KEY,
    hostname           VARCHAR(255),
@@ -93,6 +113,8 @@ CREATE TABLE machines (
    is_locked          INTEGER
 );
 
+GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE machines TO virtfactory;
+
 CREATE TABLE regtokens (
    id                 INTEGER PRIMARY KEY,
    token              VARCHAR(255),
@@ -100,11 +122,15 @@ CREATE TABLE regtokens (
    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,
@@ -115,6 +141,8 @@ CREATE TABLE schema_versions (
   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),
@@ -123,3 +151,5 @@ create table upgrade_log_messages (
   message	      VARCHAR(4000)
 );
 
+GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE upgrade_log_messages TO virtfactory;
+
diff --git a/service/db/schema/upgrade/bootstrap-upgrade.sql b/misc/schema/upgrade/bootstrap-upgrade.sql
similarity index 76%
copy from service/db/schema/upgrade/bootstrap-upgrade.sql
copy to misc/schema/upgrade/bootstrap-upgrade.sql
index a438f20..9670f59 100644
--- a/service/db/schema/upgrade/bootstrap-upgrade.sql
+++ b/misc/schema/upgrade/bootstrap-upgrade.sql
@@ -7,6 +7,8 @@ CREATE TABLE schema_versions (
   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),
@@ -15,3 +17,5 @@ create table upgrade_log_messages (
   message             VARCHAR(4000)
 );
 
+GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE upgrade_log_messages TO virtfactory;
+
diff --git a/service/db/schema/upgrade/upgrades.conf b/misc/schema/upgrade/upgrades.conf
similarity index 100%
copy from service/db/schema/upgrade/upgrades.conf
copy to misc/schema/upgrade/upgrades.conf
diff --git a/misc/vf_create_db.sh b/misc/vf_create_db.sh
new file mode 100644
index 0000000..68fc385
--- /dev/null
+++ b/misc/vf_create_db.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+
+import subprocess
+import random
+
+######################################
+# CONFIG SECTION
+
+# 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"
+
+######################################
+
+def createdb():
+    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()
+
+    sf = open(SCHEMA_FILE, "r")
+    data = sf.read() % { "password" : password }
+    __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)
+    p.communicate()
+   
+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()
+    initialize_upgrade_path()
+    populate()
+
+
+

hooks/update
---
Git Source Code Management System
hooks/update refs/heads/master \
  e80b6ee6223c51da81cdba2c5606c79d01bbb9f9 \
  bff94fba953ef0b3f9c2bea56909f9016ff7796b




More information about the Et-mgmt-commits-list mailing list