Author: arkurth
Date: Tue Apr 10 15:11:24 2012
New Revision: 1311778

URL: http://svn.apache.org/viewvc?rev=1311778&view=rev
Log:
VCL-566
Added imagetype definition to SQL files.  Added image.imagetypeid, 
vmprofile.repositoryimagetypeid, and vmprofile.datastoreimagetypeid columns.

VCL-545
Added a sample vmprofile entry for KVM to vcl.sql.

VCL-418
Set theme name to 'default' for Local and Global affiliations.

Other
Changed image and imagerevision IDs for noimage to 1.

Modified:
    incubator/vcl/trunk/mysql/phpmyadmin.sql
    incubator/vcl/trunk/mysql/update-vcl.sql
    incubator/vcl/trunk/mysql/vcl.sql

Modified: incubator/vcl/trunk/mysql/phpmyadmin.sql
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/mysql/phpmyadmin.sql?rev=1311778&r1=1311777&r2=1311778&view=diff
==============================================================================
--- incubator/vcl/trunk/mysql/phpmyadmin.sql (original)
+++ incubator/vcl/trunk/mysql/phpmyadmin.sql Tue Apr 10 15:11:24 2012
@@ -36,13 +36,15 @@ display" value for a table:
 -- Database: `phpmyadmin`
 --
 
+use `phpmyadmin`;
+
 -- --------------------------------------------------------
 
 --
 -- Dumping data for table `pma_table_info`
 --
 
-INSERT INTO `pma_table_info` (`db_name`, `table_name`, `display_field`) VALUES
+INSERT IGNORE INTO `pma_table_info` (`db_name`, `table_name`, `display_field`) 
VALUES
 ('vcl', 'IMtype', 'name'),
 ('vcl', 'OS', 'prettyname'),
 ('vcl', 'OSinstalltype', 'name'),
@@ -56,6 +58,7 @@ INSERT INTO `pma_table_info` (`db_name`,
 ('vcl', 'computerloadstate', 'loadstatename'),
 ('vcl', 'image', 'prettyname'),
 ('vcl', 'imagerevision', 'imagename'),
+('vcl', 'imagetype', 'name'),
 ('vcl', 'localauth', 'userid'),
 ('vcl', 'managementnode', 'hostname'),
 ('vcl', 'module', 'prettyname'),

Modified: incubator/vcl/trunk/mysql/update-vcl.sql
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/mysql/update-vcl.sql?rev=1311778&r1=1311777&r2=1311778&view=diff
==============================================================================
--- incubator/vcl/trunk/mysql/update-vcl.sql (original)
+++ incubator/vcl/trunk/mysql/update-vcl.sql Tue Apr 10 15:11:24 2012
@@ -21,6 +21,50 @@
 
 DELIMITER $$
 
+-- --------------------------------------------------------
+
+/*
+Procedure   : AddOrRenameColumn
+Parameters  : tableName, oldColumnName, newColumnName, columnDefinition
+Description : If oldColumnName already exists in the table, it is renamed to
+              newColumnName and its definition is updated. If it doesn't exist,
+              a new column is added.
+*/
+
+DROP PROCEDURE IF EXISTS `AddOrRenameColumn`$$
+CREATE PROCEDURE `AddOrRenameColumn`(
+  IN tableName tinytext,
+  IN oldColumnName tinytext,
+  IN newColumnName tinytext,
+  IN columnDefinition text
+)
+BEGIN
+  IF EXISTS (
+    SELECT * FROM information_schema.COLUMNS WHERE
+    TABLE_SCHEMA=Database()
+    AND TABLE_NAME=tableName
+    AND COLUMN_NAME=oldColumnName
+  )
+  THEN
+    SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' CHANGE ', oldColumnName , ' ', newColumnName, ' ', 
columnDefinition);
+  ELSEIF EXISTS (
+    SELECT * FROM information_schema.COLUMNS WHERE
+    TABLE_SCHEMA=Database()
+    AND TABLE_NAME=tableName
+    AND COLUMN_NAME=newColumnName
+  )
+  THEN
+    SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' CHANGE ', newColumnName , ' ', newColumnName, ' ', 
columnDefinition);
+  ELSE
+    SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' ADD COLUMN ', newColumnName, ' ', columnDefinition);
+  END IF;
+  
+  PREPARE statement_string FROM @statement_array;
+  EXECUTE statement_string;
+END$$
+
+-- --------------------------------------------------------
+
 /*
 Procedure   : AddColumnIfNotExists
 Parameters  : tableName, columnName, columnDefinition
@@ -269,14 +313,11 @@ BEGIN
     AND REFERENCED_COLUMN_NAME=referencedColumnName
   )
   THEN
-    IF constraintType = 'update'
-    THEN
+    IF constraintType = 'update' THEN
       SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' ADD FOREIGN KEY (', columnName, ') REFERENCES `', Database(), 
'`.', referencedTableName, ' (', referencedColumnName, ') ON UPDATE ', 
constraintAction);
-    ELSEIF constraintType = 'delete'
-    THEN
+    ELSEIF constraintType = 'delete' THEN
       SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' ADD FOREIGN KEY (', columnName, ') REFERENCES `', Database(), 
'`.', referencedTableName, ' (', referencedColumnName, ') ON DELETE ', 
constraintAction);
-    ELSEIF constraintType = 'both'
-    THEN
+    ELSEIF constraintType = 'both' THEN
       SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' ADD FOREIGN KEY (', columnName, ') REFERENCES `', Database(), 
'`.', referencedTableName, ' (', referencedColumnName, ') ON DELETE ', 
constraintAction, ' ON UPDATE ', constraintAction);
     ELSE
       SET @statement_array = CONCAT('ALTER TABLE `', Database(), '`.', 
tableName, ' ADD FOREIGN KEY (', columnName, ') REFERENCES `', Database(), 
'`.', referencedTableName, ' (', referencedColumnName, ')');
@@ -475,6 +516,8 @@ CREATE TABLE IF NOT EXISTS `connectmetho
 
 -- change minram to mediumint
 ALTER TABLE `image` CHANGE `minram` `minram` MEDIUMINT UNSIGNED NOT NULL 
DEFAULT '0';
+CALL AddColumnIfNotExists('image', 'imagetypeid', "smallint(5) unsigned NOT 
NULL default '1' AFTER ownerid");
+CALL AddIndexIfNotExists('image', 'imagetypeid');
 
 -- --------------------------------------------------------
 
@@ -487,6 +530,19 @@ CALL AddColumnIfNotExists('imagerevision
 -- --------------------------------------------------------
 
 --
+-- Table structure for table `imagetype`
+--
+
+CREATE TABLE IF NOT EXISTS `imagetype` (
+  `id` smallint(5) unsigned NOT NULL auto_increment,
+  `name` varchar(16) NOT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
 -- Table structure for table `loginlog`
 --
  
@@ -572,7 +628,9 @@ CALL AddColumnIfNotExists('reservation',
 CREATE TABLE IF NOT EXISTS `reservationaccounts` (
   `reservationid` mediumint(8) unsigned NOT NULL,
   `userid` mediumint(8) unsigned NOT NULL,
-  `password` varchar(50) default NULL
+  `password` varchar(50) default NULL,
+  UNIQUE KEY `reservationid` (`reservationid`,`userid`),
+  KEY `userid` (`userid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -702,7 +760,8 @@ CALL AddColumnIfNotExists('request', 'ch
 CREATE TABLE IF NOT EXISTS `usergrouppriv` (
   `usergroupid` smallint(5) unsigned NOT NULL,
   `userprivtypeid` tinyint(3) unsigned NOT NULL,
-  UNIQUE KEY `usergroupid` (`usergroupid`,`userprivtypeid`)
+  UNIQUE KEY `usergroupid` (`usergroupid`,`userprivtypeid`),
+  KEY `userprivtypeid` (`userprivtypeid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -738,12 +797,17 @@ CALL DropColumnIfExists('vmprofile', 'vi
 
 CALL AddColumnIfNotExists('vmprofile', 'resourcepath', "varchar(256) default 
NULL AFTER imageid");
 CALL AddColumnIfNotExists('vmprofile', 'repositorypath', "varchar(128) default 
NULL AFTER resourcepath");
+CALL AddColumnIfNotExists('vmprofile', 'repositoryimagetypeid', "smallint(5) 
unsigned NOT NULL default '1' AFTER repositorypath");
+CALL AddColumnIfNotExists('vmprofile', 'datastoreimagetypeid', "smallint(5) 
unsigned NOT NULL default '1' AFTER datastorepath");
 CALL AddColumnIfNotExists('vmprofile', 'virtualswitch2', "varchar(80) NULL 
default NULL AFTER `virtualswitch1`");
 CALL AddColumnIfNotExists('vmprofile', 'virtualswitch3', "varchar(80) NULL 
default NULL AFTER `virtualswitch2`");
-CALL AddColumnIfNotExists('vmprofile', 'vmware_mac_eth0_generated', 
"tinyint(1) NOT NULL default '0'");
-CALL AddColumnIfNotExists('vmprofile', 'vmware_mac_eth1_generated', 
"tinyint(1) NOT NULL default '0'");
+
+CALL AddOrRenameColumn('vmprofile', 'vmware_mac_eth0_generated', 
'eth0generated', "tinyint(1) unsigned NOT NULL default '0'");
+CALL AddOrRenameColumn('vmprofile', 'vmware_mac_eth1_generated', 
'eth1generated', "tinyint(1) unsigned NOT NULL default '0'");
 
 CALL AddUniqueIndex('vmprofile', 'profilename');
+CALL AddIndexIfNotExists('vmprofile', 'repositoryimagetypeid');
+CALL AddIndexIfNotExists('vmprofile', 'datastoreimagetypeid');
 
 -- --------------------------------------------------------
 
@@ -791,6 +855,36 @@ UPDATE `computer` SET `imagerevisionid` 
 -- --------------------------------------------------------
 
 -- 
+-- Inserts for table `imagetype`
+-- 
+
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('none');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('partimage');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('partimage-ng');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('lab');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('kickstart');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('vmdk');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('qcow2');
+INSERT IGNORE INTO `imagetype` (`name`) VALUES ('vdi');
+
+-- --------------------------------------------------------
+
+-- 
+-- Inserts for table `image`
+-- 
+
+UPDATE image SET image.imagetypeid = (SELECT `id` FROM `imagetype` WHERE 
`name` = 'none') WHERE image.name = 'noimage';
+UPDATE image, OS SET image.imagetypeid = (SELECT `id` FROM `imagetype` WHERE 
`name` = 'vmdk') WHERE image.imagetypeid = 0 AND image.OSid = OS.id AND 
OS.installtype LIKE '%vmware%';
+UPDATE image, OS SET image.imagetypeid = (SELECT `id` FROM `imagetype` WHERE 
`name` = 'partimage') WHERE image.imagetypeid = 0 AND image.OSid = OS.id AND 
OS.installtype LIKE '%partimage%';
+UPDATE image, OS SET image.imagetypeid = (SELECT `id` FROM `imagetype` WHERE 
`name` = 'kickstart') WHERE image.imagetypeid = 0 AND image.OSid = OS.id AND 
OS.installtype LIKE '%kickstart%';
+UPDATE image, OS SET image.imagetypeid = (SELECT `id` FROM `imagetype` WHERE 
`name` = 'vdi') WHERE image.imagetypeid = 0 AND image.OSid = OS.id AND 
OS.installtype LIKE '%vbox%';
+UPDATE image, OS, module SET image.imagetypeid = (SELECT `id` FROM `imagetype` 
WHERE `name` = 'lab') WHERE image.imagetypeid = 0 AND image.OSid = OS.id AND 
OS.moduleid = module.id AND module.perlpackage LIKE '%lab%';
+UPDATE image, OS, module SET image.imagetypeid = (SELECT `id` FROM `imagetype` 
WHERE `name` = 'vmdk') WHERE image.imagetypeid = 0 AND image.OSid = OS.id AND 
OS.moduleid = module.id AND module.perlpackage REGEXP 'vmware|esx';
+UPDATE image SET image.imagetypeid = (SELECT `id` FROM `imagetype` WHERE 
`name` = 'none') WHERE image.imagetypeid = 0;
+
+-- --------------------------------------------------------
+
+-- 
 -- Inserts for table `module`
 -- 
 
@@ -819,16 +913,16 @@ INSERT IGNORE INTO `OStype` (`name`) VAL
 -- Inserts for table `OS`
 -- 
 
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('win7', 'Windows 7', 'windows', 'partimage', 
'image', (SELECT `id` FROM `module` WHERE `name` LIKE 'os_win7'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwarewin7', 'VMware Windows 7', 'windows', 
'vmware', 'vmware_images', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_win7'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwarelinux', 'VMware Generic Linux', 
'linux', 'vmware', 'vmware_images', (SELECT `id` FROM `module` WHERE `name` 
LIKE 'os_linux'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwarewin2003', 'VMware Windows 2003 
Server', 'windows', 'vmware', 'vmware_images', (SELECT `id` FROM `module` WHERE 
`name` LIKE 'os_win2003'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('esxi4.1', 'VMware ESXi 4.1', 'linux', 
'kickstart', 'esxi4.1', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_esxi'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('win7', 'Windows 7 (Bare Metal)', 'windows', 
'partimage', 'image', (SELECT `id` FROM `module` WHERE `name` LIKE 'os_win7'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwarewin7', 'Windows 7 (VMware)', 
'windows', 'vmware', 'vmware_images', (SELECT `id` FROM `module` WHERE `name` 
LIKE 'os_win7'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwarelinux', 'Generic Linux (VMware)', 
'linux', 'vmware', 'vmware_images', (SELECT `id` FROM `module` WHERE `name` 
LIKE 'os_linux'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwarewin2003', 'Windows 2003 Server 
(VMware)', 'windows', 'vmware', 'vmware_images', (SELECT `id` FROM `module` 
WHERE `name` LIKE 'os_win2003'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('esxi4.1', 'VMware ESXi 4.1 (Kickstart)', 
'linux', 'kickstart', 'esxi4.1', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_esxi'));
 INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('vmwareosx', 'OSX Snow Leopard (VMware)', 
'osx', 'vmware', 'vmware_images', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_osx'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('rhel6', 'Red Hat Enterprise Level 6', 
'linux', 'kickstart', 'rhel6', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_linux'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('rh6image', 'Red Hat 6 image', 'linux', 
'partimage', 'image', (SELECT `id` FROM `module` WHERE `name` LIKE 'os_linux'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('fedora16', 'Fedora 16', 'linux', 
'kickstart', 'fedora16', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_linux'));
-INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('fedoraimage', 'Fedora 16 image', 'linux', 
'partimage', 'image', (SELECT `id` FROM `module` WHERE `name` LIKE 'os_linux'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('rhel6', 'Red Hat Enterprise 6 (Kickstart)', 
'linux', 'kickstart', 'rhel6', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_linux'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('rh6image', 'Red Hat Enterprise 6 (Bare 
Metal)', 'linux', 'partimage', 'image', (SELECT `id` FROM `module` WHERE `name` 
LIKE 'os_linux'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('fedora16', 'Fedora 16 (Kickstart)', 'linux', 
'kickstart', 'fedora16', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_linux'));
+INSERT IGNORE INTO `OS` (`name`, `prettyname`, `type`, `installtype`, 
`sourcepath`, `moduleid`) VALUES ('fedoraimage', 'Fedora 16 (Bare Metal)', 
'linux', 'partimage', 'image', (SELECT `id` FROM `module` WHERE `name` LIKE 
'os_linux'));
 
 -- --------------------------------------------------------
 
@@ -887,7 +981,7 @@ CALL AddConnectMethodMapIfNotExists('RDP
 CALL AddConnectMethodMapIfNotExists('iRAPP RDP', 'osx', 0, 0, 0, 1);
 CALL AddConnectMethodMapIfNotExists('ssh', 'linux', 0, 0, 0, 2);
 CALL AddConnectMethodMapIfNotExists('ssh', 'unix', 0, 0, 0, 2);
-CALL AddConnectMethodMapIfNotExists('RDP', 'linux', 0, 0, 0, 2);
+CALL AddConnectMethodMapIfNotExists('RDP', 'windows', 0, 0, 0, 2);
 CALL AddConnectMethodMapIfNotExists('iRAPP RDP', 'osx', 0, 0, 0, 2);
 
 -- --------------------------------------------------------
@@ -909,6 +1003,25 @@ INSERT IGNORE INTO state (id, name) VALU
 -- --------------------------------------------------------
 
 -- 
+-- Inserts for table `usergroup`
+--
+
+UPDATE IGNORE `usergroup` SET `overlapResCount` = '50' WHERE 
`usergroup`.`name` = 'adminUsers' AND `usergroup`.`overlapResCount` = 0;
+
+-- --------------------------------------------------------
+
+-- 
+-- Inserts for table `usergroupmembers`
+--
+
+INSERT IGNORE INTO `usergroupmembers` (`userid`, `usergroupid`) VALUES
+((SELECT `id` FROM `user` WHERE `unityid` = 'admin' AND `affiliationid` = 
(SELECT `id` FROM `affiliation` WHERE `name` = 'Local')), (SELECT `id` FROM 
`usergroup` WHERE `name` = 'adminUsers' AND `affiliationid` = (SELECT `id` FROM 
`affiliation` WHERE `name` = 'Local'))),
+((SELECT `id` FROM `user` WHERE `unityid` = 'admin' AND `affiliationid` = 
(SELECT `id` FROM `affiliation` WHERE `name` = 'Local')), (SELECT `id` FROM 
`usergroup` WHERE `name` = 'manageNewImages' AND `affiliationid` = (SELECT `id` 
FROM `affiliation` WHERE `name` = 'Local'))),
+((SELECT `id` FROM `user` WHERE `unityid` = 'admin' AND `affiliationid` = 
(SELECT `id` FROM `affiliation` WHERE `name` = 'Local')), (SELECT `id` FROM 
`usergroup` WHERE `name` = 'Specify End Time' AND `affiliationid` = (SELECT 
`id` FROM `affiliation` WHERE `name` = 'Local')));
+
+-- --------------------------------------------------------
+
+-- 
 -- Inserts for table `usergroupprivtype`
 --
 
@@ -955,6 +1068,16 @@ INSERT IGNORE INTO userprivtype (id, nam
 INSERT IGNORE userpriv (usergroupid, privnodeid, userprivtypeid) SELECT 
usergroup.id, privnode.id, userprivtype.id FROM usergroup, privnode, 
userprivtype WHERE usergroup.name = 'adminUsers' AND usergroup.affiliationid = 
(SELECT id FROM affiliation WHERE name = 'Local') AND privnode.name = 'admin' 
AND privnode.parent = 3 AND userprivtype.name = 'serverCheckOut';
 INSERT IGNORE userpriv (usergroupid, privnodeid, userprivtypeid) SELECT 
usergroup.id, privnode.id, userprivtype.id FROM usergroup, privnode, 
userprivtype WHERE usergroup.name = 'adminUsers' AND usergroup.affiliationid = 
(SELECT id FROM affiliation WHERE name = 'Local') AND privnode.name = 'admin' 
AND privnode.parent = 3 AND userprivtype.name = 'serverProfileAdmin';
 
+
+-- --------------------------------------------------------
+
+-- 
+-- Inserts for table `vmprofile`
+--
+
+UPDATE vmprofile SET vmprofile.repositoryimagetypeid = (SELECT `id` FROM 
`imagetype` WHERE `name` = 'none') WHERE vmprofile.repositoryimagetypeid = 0;
+UPDATE vmprofile SET vmprofile.datastoreimagetypeid = (SELECT `id` FROM 
`imagetype` WHERE `name` = 'none') WHERE vmprofile.datastoreimagetypeid = 0;
+
 -- --------------------------------------------------------
 
 --
@@ -977,6 +1100,14 @@ CALL AddConstraintIfNotExists('connectme
 -- --------------------------------------------------------
 
 --
+-- Constraints for table `image`
+--
+
+CALL AddConstraintIfNotExists('image', 'imagetypeid', 'imagetype', 'id', 
'update', 'CASCADE');
+
+-- --------------------------------------------------------
+
+--
 -- Constraints for table `provisioningOSinstalltype`
 --
  
@@ -1016,6 +1147,15 @@ CALL AddConstraintIfNotExists('serverreq
 -- --------------------------------------------------------
 
 --
+-- Constraints for table `usergrouppriv`
+--
+
+CALL AddConstraintIfNotExists('usergrouppriv', 'usergroupid', 'usergroup', 
'id', 'both', 'CASCADE');
+CALL AddConstraintIfNotExists('usergrouppriv', 'userprivtypeid', 
'usergroupprivtype', 'id', 'both', 'CASCADE');
+
+-- --------------------------------------------------------
+
+--
 -- Constraints for table `vmhost`
 --
  
@@ -1025,6 +1165,15 @@ CALL AddConstraintIfNotExists('vmhost', 
 -- --------------------------------------------------------
 
 --
+-- Constraints for table `vmprofile`
+--
+
+CALL AddConstraintIfNotExists('vmprofile', 'repositoryimagetypeid', 
'imagetype', 'id', 'update', 'CASCADE');
+CALL AddConstraintIfNotExists('vmprofile', 'datastoreimagetypeid', 
'imagetype', 'id', 'update', 'CASCADE');
+
+-- --------------------------------------------------------
+
+--
 -- Constraints for table `winKMS`
 --
 
@@ -1058,3 +1207,6 @@ DROP PROCEDURE IF EXISTS `AddIndexIfNotE
 DROP PROCEDURE IF EXISTS `AddUniqueIndex`;
 DROP PROCEDURE IF EXISTS `AddConstraintIfNotExists`;
 DROP PROCEDURE IF EXISTS `AddConnectMethodMapIfNotExists`;
+DROP PROCEDURE IF EXISTS `AddOrRenameColumn`;
+DROP PROCEDURE IF EXISTS `DropExistingConstraints`;
+DROP PROCEDURE IF EXISTS `DropExistingIndices`;
\ No newline at end of file

Modified: incubator/vcl/trunk/mysql/vcl.sql
URL: 
http://svn.apache.org/viewvc/incubator/vcl/trunk/mysql/vcl.sql?rev=1311778&r1=1311777&r2=1311778&view=diff
==============================================================================
--- incubator/vcl/trunk/mysql/vcl.sql (original)
+++ incubator/vcl/trunk/mysql/vcl.sql Tue Apr 10 15:11:24 2012
@@ -196,9 +196,9 @@ CREATE TABLE IF NOT EXISTS `computer` (
   `ownerid` mediumint(8) unsigned default '1',
   `platformid` tinyint(3) unsigned NOT NULL default '0',
   `scheduleid` tinyint(3) unsigned default NULL,
-  `currentimageid` smallint(5) unsigned NOT NULL default '4',
-  `nextimageid` smallint(5) unsigned NOT NULL default '4',
-  `imagerevisionid` mediumint(8) unsigned NOT NULL default '4',
+  `currentimageid` smallint(5) unsigned NOT NULL default '1',
+  `nextimageid` smallint(5) unsigned NOT NULL default '1',
+  `imagerevisionid` mediumint(8) unsigned NOT NULL default '1',
   `RAM` mediumint(8) unsigned NOT NULL default '0',
   `procnumber` tinyint(5) unsigned NOT NULL default '1',
   `procspeed` smallint(5) unsigned NOT NULL default '0',
@@ -374,6 +374,7 @@ CREATE TABLE IF NOT EXISTS `image` (
   `name` varchar(70) NOT NULL default '',
   `prettyname` varchar(60) NOT NULL default '',
   `ownerid` mediumint(8) unsigned default '1',
+  `imagetypeid` smallint(5) unsigned NOT NULL default '1',
   `platformid` tinyint(3) unsigned NOT NULL default '0',
   `OSid` tinyint(3) unsigned NOT NULL default '0',
   `imagemetaid` smallint(5) unsigned default NULL,
@@ -400,7 +401,8 @@ CREATE TABLE IF NOT EXISTS `image` (
   KEY `ownerid` (`ownerid`),
   KEY `platformid` (`platformid`),
   KEY `OSid` (`OSid`),
-  KEY `imagemetaid` (`imagemetaid`)
+  KEY `imagemetaid` (`imagemetaid`),
+  KEY `imagetypeid` (`imagetypeid`)
 ) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -448,6 +450,19 @@ CREATE TABLE IF NOT EXISTS `imagerevisio
 
 -- --------------------------------------------------------
 
+--
+-- Table structure for table `imagetype`
+--
+
+CREATE TABLE IF NOT EXISTS `imagetype` (
+  `id` smallint(5) unsigned NOT NULL auto_increment,
+  `name` varchar(16) NOT NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `name` (`name`)
+) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
 -- 
 -- Table structure for table `IMtype`
 -- 
@@ -757,7 +772,9 @@ CREATE TABLE IF NOT EXISTS `reservation`
 CREATE TABLE IF NOT EXISTS `reservationaccounts` (
   `reservationid` mediumint(8) unsigned NOT NULL,
   `userid` mediumint(8) unsigned NOT NULL,
-  `password` varchar(50) default NULL
+  `password` varchar(50) default NULL,
+  UNIQUE KEY `reservationid` (`reservationid`,`userid`),
+  KEY `userid` (`userid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -983,15 +1000,15 @@ CREATE TABLE IF NOT EXISTS `state` (
 --
 
 CREATE TABLE `statgraphcache` (
-         `graphtype` enum('totalres','concurres','concurblade','concurvm') NOT 
NULL,
-         `statdate` date NOT NULL,
-         `affiliationid` mediumint(8) unsigned NOT NULL,
-         `value` mediumint(8) unsigned NOT NULL,
-         `provisioningid` smallint(5) unsigned NOT NULL,
-         KEY `graphtype` (`graphtype`),
-         KEY `statdate` (`statdate`),
-         KEY `affiliationid` (`affiliationid`),
-         KEY `provisioningid` (`provisioningid`)
+  `graphtype` enum('totalres','concurres','concurblade','concurvm') NOT NULL,
+  `statdate` date NOT NULL,
+  `affiliationid` mediumint(8) unsigned NOT NULL,
+  `value` mediumint(8) unsigned NOT NULL,
+  `provisioningid` smallint(5) unsigned NOT NULL,
+  KEY `graphtype` (`graphtype`),
+  KEY `statdate` (`statdate`),
+  KEY `affiliationid` (`affiliationid`),
+  KEY `provisioningid` (`provisioningid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -1112,7 +1129,8 @@ CREATE TABLE IF NOT EXISTS `usergroupmem
 CREATE TABLE IF NOT EXISTS `usergrouppriv` (
   `usergroupid` smallint(5) unsigned NOT NULL,
   `userprivtypeid` tinyint(3) unsigned NOT NULL,
-  UNIQUE KEY `usergroupid` (`usergroupid`,`userprivtypeid`)
+  UNIQUE KEY `usergroupid` (`usergroupid`,`userprivtypeid`),
+  KEY `userprivtypeid` (`userprivtypeid`)
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -1207,7 +1225,9 @@ CREATE TABLE IF NOT EXISTS `vmprofile` (
   `imageid` smallint(5) unsigned NOT NULL,
   `resourcepath` varchar(256) default NULL,
   `repositorypath` varchar(128) default NULL,
+  `repositoryimagetypeid` smallint(5) unsigned NOT NULL default '1',
   `datastorepath` varchar(128) NOT NULL,
+  `datastoreimagetypeid` smallint(5) unsigned NOT NULL default '1',
   `vmpath` varchar(128) default NULL,
   `virtualswitch0` varchar(80) NOT NULL default 'VMnet0',
   `virtualswitch1` varchar(80) NOT NULL default 'VMnet2',
@@ -1216,11 +1236,13 @@ CREATE TABLE IF NOT EXISTS `vmprofile` (
   `vmdisk` enum('localdisk','networkdisk') NOT NULL default 'localdisk',
   `username` varchar(80) NULL default NULL,
   `password` varchar(256) NULL default NULL,
-  `vmware_mac_eth0_generated` tinyint(1) NOT NULL default '0',
-  `vmware_mac_eth1_generated` tinyint(1) NOT NULL default '0',
+  `eth0generated` tinyint(1) unsigned NOT NULL default '0',
+  `eth1generated` tinyint(1) unsigned NOT NULL default '0',
   PRIMARY KEY  (`id`),
   UNIQUE KEY `profilename` (`profilename`),
-  KEY `imageid` (`imageid`)
+  KEY `imageid` (`imageid`),
+  KEY `repositoryimagetypeid` (`repositoryimagetypeid`),
+  KEY `datastoreimagetypeid` (`datastoreimagetypeid`)
 ) ENGINE=InnoDB  DEFAULT CHARSET=latin1;
 
 -- --------------------------------------------------------
@@ -1294,8 +1316,8 @@ INSERT INTO `adminlevel` (`id`, `name`) 
 -- 
 
 INSERT INTO `affiliation` (`id`, `name`, `dataUpdateText`, `theme`) VALUES 
-(1, 'Local', ''),
-(2, 'Global', '');
+(1, 'Local', '', 'default'),
+(2, 'Global', '', 'default');
 
 -- 
 -- Dumping data for table `computerloadflow`
@@ -1413,15 +1435,29 @@ INSERT INTO `documentation` (`name`, `ti
 -- Dumping data for table `image`
 -- 
 
-INSERT INTO `image` (`id`, `name`, `prettyname`, `ownerid`, `platformid`, 
`OSid`, `imagemetaid`, `minram`, `minprocnumber`, `minprocspeed`, `minnetwork`, 
`maxconcurrent`, `reloadtime`, `deleted`, `test`, `lastupdate`, `forcheckout`, 
`maxinitialtime`, `project`, `size`) VALUES 
-(4, 'noimage', 'No Image', 1, 1, 2, NULL, 0, 1, 0, 10, NULL, 0, 0, 0, NULL, 0, 
0, 'vcl', 1450);
+INSERT INTO `image` (`id`, `name`, `prettyname`, `ownerid`, `imagetypeid`, 
`platformid`, `OSid`, `imagemetaid`, `minram`, `minprocnumber`, `minprocspeed`, 
`minnetwork`, `maxconcurrent`, `reloadtime`, `deleted`, `test`, `lastupdate`, 
`forcheckout`, `maxinitialtime`, `project`, `size`) VALUES 
+(1, 'noimage', 'No Image', 1, 1, 1, 2, NULL, 0, 1, 0, 10, NULL, 0, 0, 0, NULL, 
0, 0, 'vcl', 1450);
 
 -- 
 -- Dumping data for table `imagerevision`
 -- 
 
 INSERT INTO `imagerevision` (`id`, `imageid`, `revision`, `userid`, 
`datecreated`, `deleted`, `production`, `comments`, `imagename`) VALUES 
-(4, 4, 0, 1, '1980-01-01 00:00:00', 0, 1, NULL, 'noimage');
+(1, 1, 0, 1, '1980-01-01 00:00:00', 0, 1, NULL, 'noimage');
+
+--
+-- Dumping data for table `imagetype`
+--
+
+INSERT INTO `imagetype` (`id`, `name`) VALUES
+(1, 'none'),
+(2, 'partimage'),
+(3, 'partimage-ng'),
+(4, 'lab'),
+(5, 'kickstart'),
+(6, 'vmdk'),
+(7, 'qcow2'),
+(8, 'vdi');
 
 -- 
 -- Dumping data for table `IMtype`
@@ -1510,10 +1546,10 @@ INSERT INTO `OS` (`id`, `name`, `prettyn
 (37, 'vmwarewin2003', 'Windows 2003 Server (VMware)', 'windows', 'vmware', 
'vmware_images', 13),
 (38, 'esxi4.1', 'VMware ESXi 4.1', 'linux', 'kickstart', 'esxi4.1', 25),
 (39, 'vmwareosx', 'OSX Snow Leopard (VMware)', 'osx', 'vmware', 
'vmware_images', 26),
-(40, 'rhel6', 'Red Hat Enterprise Lev 6', 'linux', 'kickstart', 'rhel6', 5),
-(41, 'rh6image', 'Red Hat Enterprise 6 image', 'linux', 'partimage', 'image', 
5),
-(42, 'fedora16', 'Fedora 16 kickstart', 'linux', 'kickstart', 'fedora16', 5),
-(43, 'fedoraimage', 'Fedora 16 image', 'linux', 'partimage', 'image', 5);
+(40, 'rhel6', 'Red Hat Enterprise 6 (Kickstart)', 'linux', 'kickstart', 
'rhel6', 5),
+(41, 'rh6image', 'Red Hat Enterprise 6 (Bare Metal)', 'linux', 'partimage', 
'image', 5),
+(42, 'fedora16', 'Fedora 16 (Kickstart)', 'linux', 'kickstart', 'fedora16', 5),
+(43, 'fedoraimage', 'Fedora 16 (Bare Metal)', 'linux', 'partimage', 'image', 
5);
 
 -- 
 -- Dumping data for table `OSinstalltype`
@@ -1826,13 +1862,12 @@ INSERT INTO `variable` (`id`, `name`, `s
 -- Dumping data for table `vmprofile`
 -- 
 
-INSERT INTO `vmprofile` (`id`, `profilename`, `imageid`, `resourcepath`, 
`repositorypath`, `datastorepath`, `vmpath`, `virtualswitch0`, 
`virtualswitch1`, `vmdisk`) VALUES
-(1, 'VMware Server 1.x - local storage', 4, NULL, NULL, 
'/var/lib/vmware/Virtual Machines', NULL, 'VMnet0', 'VMnet2', 'localdisk'),
-(2, 'VMware Server 2.x - local storage', 4, NULL, NULL, 
'/var/lib/vmware/Virtual Machines', NULL, 'Bridged', 'Bridged (2)', 
'localdisk'),
-(3, 'VMware Server 2.x - network storage', 4, NULL, NULL, 
'/vmfs/volumes/nfs-datastore', '/var/lib/vmware/Virtual Machines', 'Bridged', 
'Bridged (2)', 'networkdisk'),
-(4, 'VMware ESX - local storage', 4, NULL, NULL, 
'/vmfs/volumes/local-datastore', NULL, 'Private', 'Public', 'localdisk'),
-(5, 'VMware ESX - network storage', 4, NULL, NULL, 
'/vmfs/volumes/nfs-datastore', NULL, 'Private', 'Public', 'networkdisk'),
-(6, 'VMware ESX - local & network storage', 4, NULL, NULL, 
'/vmfs/volumes/nfs-datastore1', '/vmfs/volumes/local-datastore', 'Private', 
'Public', 'networkdisk');
+INSERT INTO `vmprofile` (`profilename`, `imageid`, `resourcepath`, 
`repositorypath`, `repositoryimagetypeid`, `datastorepath`, 
`datastoreimagetypeid`, `vmpath`, `virtualswitch0`, `virtualswitch1`, `vmdisk`, 
`username`, `password`) VALUES
+('VMware ESXi - local storage', (SELECT `id` FROM `image` WHERE `name` = 
'noimage'), NULL, NULL, (SELECT `id` FROM `imagetype` WHERE `name` = 'none'), 
'datastore1', (SELECT `id` FROM `imagetype` WHERE `name` = 'vmdk'), 
'datastore1', 'Private', 'Public', 'localdisk', NULL, NULL),
+('VMware ESXi - network storage', (SELECT `id` FROM `image` WHERE `name` = 
'noimage'), NULL, NULL, (SELECT `id` FROM `imagetype` WHERE `name` = 'none'), 
'nfs-datastore', (SELECT `id` FROM `imagetype` WHERE `name` = 'vmdk'), 
'nfs-datastore', 'Private', 'Public', 'networkdisk', NULL, NULL),
+('VMware ESXi - local & network storage', (SELECT `id` FROM `image` WHERE 
`name` = 'noimage'), NULL, NULL, (SELECT `id` FROM `imagetype` WHERE `name` = 
'none'), 'nfs-datastore', (SELECT `id` FROM `imagetype` WHERE `name` = 'vmdk'), 
'datastore1', 'Private', 'Public', 'networkdisk', NULL, NULL),
+('VMware vCenter', (SELECT `id` FROM `image` WHERE `name` = 'noimage'), 
'/DatacenterName/ClusterName/ResourcePoolName', 'repo-datastore', (SELECT `id` 
FROM `imagetype` WHERE `name` = 'vmdk'), 'nfs-datastore', (SELECT `id` FROM 
`imagetype` WHERE `name` = 'vmdk'), 'datastore1', 'Private', 'Public', 
'networkdisk', 'vcenter-admin', 'vcenter-password'),
+('KVM - local storage', (SELECT `id` FROM `image` WHERE `name` = 'noimage'), 
NULL, NULL, (SELECT `id` FROM `imagetype` WHERE `name` = 'qcow2'), 
'/var/lib/libvirt/images', (SELECT `id` FROM `imagetype` WHERE `name` = 
'qcow2'), '/var/lib/libvirt/images', 'br0', 'br1', 'localdisk', NULL, NULL);
 
 -- 
 -- Dumping data for table `vmtype`
@@ -1923,7 +1958,8 @@ ALTER TABLE `continuations`
 ALTER TABLE `image`
   ADD CONSTRAINT `image_ibfk_1` FOREIGN KEY (`ownerid`) REFERENCES `user` 
(`id`) ON DELETE SET NULL ON UPDATE CASCADE,
   ADD CONSTRAINT `image_ibfk_6` FOREIGN KEY (`platformid`) REFERENCES 
`platform` (`id`) ON UPDATE CASCADE,
-  ADD CONSTRAINT `image_ibfk_7` FOREIGN KEY (`OSid`) REFERENCES `OS` (`id`) ON 
UPDATE CASCADE;
+  ADD CONSTRAINT `image_ibfk_7` FOREIGN KEY (`OSid`) REFERENCES `OS` (`id`) ON 
UPDATE CASCADE,
+  ADD CONSTRAINT `image_ibfk_8` FOREIGN KEY (`imagetypeid`) REFERENCES 
`imagetype` (`id`) ON UPDATE CASCADE;
 
 -- 
 -- Constraints for table `imagerevision`
@@ -2088,6 +2124,13 @@ ALTER TABLE `usergroupmembers`
   ADD CONSTRAINT `usergroupmembers_ibfk_1` FOREIGN KEY (`userid`) REFERENCES 
`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
   ADD CONSTRAINT `usergroupmembers_ibfk_2` FOREIGN KEY (`usergroupid`) 
REFERENCES `usergroup` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
 
+--
+-- Constraints for table `usergrouppriv`
+--
+ALTER TABLE `usergrouppriv`
+  ADD CONSTRAINT `usergrouppriv_ibfk_2` FOREIGN KEY (`userprivtypeid`) 
REFERENCES `usergroupprivtype` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  ADD CONSTRAINT `usergrouppriv_ibfk_1` FOREIGN KEY (`usergroupid`) REFERENCES 
`usergroup` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
 -- 
 -- Constraints for table `userpriv`
 -- 
@@ -2108,7 +2151,9 @@ ALTER TABLE `vmhost`
 -- Constraints for table `vmprofile`
 --
 ALTER TABLE `vmprofile`
-  ADD CONSTRAINT `vmprofile_ibfk_1` FOREIGN KEY (`imageid`) REFERENCES `image` 
(`id`) ON UPDATE CASCADE;
+  ADD CONSTRAINT `vmprofile_ibfk_1` FOREIGN KEY (`imageid`) REFERENCES `image` 
(`id`) ON UPDATE CASCADE,
+  ADD CONSTRAINT `vmprofile_ibfk_3` FOREIGN KEY (`repositoryimagetypeid`) 
REFERENCES `imagetype` (`id`) ON UPDATE CASCADE,
+  ADD CONSTRAINT `vmprofile_ibfk_4` FOREIGN KEY (`datastoreimagetypeid`) 
REFERENCES `imagetype` (`id`) ON UPDATE CASCADE;
 
 --
 -- Constraints for table `winKMS`


Reply via email to