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`