Author: jfthomps Date: Wed Oct 19 17:09:41 2016 New Revision: 1765685 URL: http://svn.apache.org/viewvc?rev=1765685&view=rev Log: VCL-277 - Add support for images to join Active Directory domains VCL-867 - Active Directory Authentication for Windows VM's
vcl.sql: -added definition of addomain table -put backticks around field names for connectlog table (unrelated to this JIRA) -added definition of imageaddomain table -added addomain entry to resourcetype table -added 'All AD Domains' entry to resourcegroup table -added entries for administer and manageGroup for 'All AD Domains' group to resourcepriv table -added addomainAdmin entry to userprivtype table -added entries to give admin user and adminUsers group addomainAdmin privilege at admin node in userpriv table update-vcl.sql: -added definition of addomain table -put backticks around field names for connectlog table (unrelated to this JIRA) -added definition of imageaddomain table -added insert for addomain entry to resourcetype table -added insert for 'All AD Domains' entry to resourcegroup table -added inserts for entries for administer and manageGroup for 'All AD Domains' group to resourcepriv table -added insert for addomainAdmin entry to userprivtype table -added inserts for entries to give admin user and adminUsers group addomainAdmin privilege at admin node in userpriv table Modified: vcl/trunk/mysql/update-vcl.sql vcl/trunk/mysql/vcl.sql Modified: vcl/trunk/mysql/update-vcl.sql URL: http://svn.apache.org/viewvc/vcl/trunk/mysql/update-vcl.sql?rev=1765685&r1=1765684&r2=1765685&view=diff ============================================================================== --- vcl/trunk/mysql/update-vcl.sql (original) +++ vcl/trunk/mysql/update-vcl.sql Wed Oct 19 17:09:41 2016 @@ -865,6 +865,27 @@ ALTER TABLE `computerloadlog` CHANGE `lo -- -------------------------------------------------------- -- +-- Table structure for table `addomain` +-- + +CREATE TABLE IF NOT EXISTS `addomain` ( + `id` tinyint(3) unsigned NOT NULL auto_increment, + `name` varchar(30) NOT NULL default '', + `ownerid` mediumint(8) unsigned NOT NULL, + `domainDNSName` varchar(70) NOT NULL default '', + `domainNetBIOSName` varchar(15) default NULL, + `username` varchar(64) default NULL, + `password` varchar(256) default NULL, + `dnsServers` varchar(512) default NULL, + `domainControllers` varchar(512) NOT NULL, + `logindescription` text, + PRIMARY KEY (`id`), + UNIQUE KEY `domainDNSName` (`domainDNSName`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- -- Table structure for table `connectmethod` -- @@ -924,12 +945,12 @@ CREATE TABLE IF NOT EXISTS `connectmetho -- CREATE TABLE IF NOT EXISTS connectlog ( - id int(10) unsigned NOT NULL AUTO_INCREMENT, - logid int(10) unsigned NOT NULL, - reservationid mediumint(8) unsigned NOT NULL, - userid mediumint(8) unsigned DEFAULT NULL, - remoteIP varchar(39) NOT NULL, - verified tinyint(1) NOT NULL, + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `logid` int(10) unsigned NOT NULL, + `reservationid` mediumint(8) unsigned NOT NULL, + `userid` mediumint(8) unsigned DEFAULT NULL, + `remoteIP` varchar(39) NOT NULL, + `verified` tinyint(1) NOT NULL, `timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (id), UNIQUE KEY reservationid_2 (reservationid,userid,remoteIP), @@ -966,6 +987,19 @@ CALL AddIndexIfNotExists('image', 'based -- -------------------------------------------------------- -- +-- Table structure for table `imageaddomain` +-- + +CREATE TABLE IF NOT EXISTS `imageaddomain` ( + `imageid` smallint(5) unsigned NOT NULL, + `addomainid` tinyint(3) unsigned NOT NULL, + `baseOU` varchar(512) default NULL, + PRIMARY KEY (`imageid`,`addomainid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- -- Table structure for table `imagemeta` -- @@ -1822,6 +1856,7 @@ CALL AddConnectMethodMapIfNotExists('iRA -- INSERT IGNORE INTO resourcetype (id, name) VALUES (17, 'serverprofile'); +INSERT IGNORE INTO resourcetype (name) VALUES ('addomain'); -- -------------------------------------------------------- @@ -1830,6 +1865,7 @@ INSERT IGNORE INTO resourcetype (id, nam -- INSERT IGNORE INTO resourcegroup (name, ownerusergroupid, resourcetypeid) VALUES ('all profiles', 3, 17); +INSERT IGNORE INTO resourcegroup (name, ownerusergroupid, resourcetypeid) VALUES ('All AD Domains', COALESCE((SELECT id FROM usergroup WHERE name = 'adminUsers'), 3), (SELECT id FROM resourcetype WHERE name = 'addomain')); -- -------------------------------------------------------- @@ -1848,7 +1884,9 @@ INSERT IGNORE INTO resourcepriv (resourc INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'available' FROM resourcegroup, privnode WHERE resourcegroup.name = 'allVMimages' AND resourcegroup.resourcetypeid = 13 AND privnode.name = 'admin' AND privnode.parent = 3; INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'administer' FROM resourcegroup, privnode WHERE resourcegroup.name = 'allVMimages' AND resourcegroup.resourcetypeid = 13 AND privnode.name = 'admin' AND privnode.parent = 3; INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'manageGroup' FROM resourcegroup, privnode WHERE resourcegroup.name = 'allVMimages' AND resourcegroup.resourcetypeid = 13 AND privnode.name = 'admin' AND privnode.parent = 3; -INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'manageMapping' FROM resourcegroup, privnode WHERE resourcegroup.name = 'allVMimages' AND resourcegroup.resourcetypeid =137 AND privnode.name = 'admin' AND privnode.parent = 3; +INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'manageMapping' FROM resourcegroup, privnode WHERE resourcegroup.name = 'allVMimages' AND resourcegroup.resourcetypeid = 13 AND privnode.name = 'admin' AND privnode.parent = 3; +INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'administer' FROM resourcegroup, privnode WHERE resourcegroup.name = 'All AD Domains' AND resourcegroup.resourcetypeid = (SELECT id FROM resourcetype WHERE name = 'addomain') AND privnode.name = 'admin' AND privnode.parent = 3; +INSERT IGNORE INTO resourcepriv (resourcegroupid, privnodeid, `type`) SELECT resourcegroup.id, privnode.id, 'manageGroup' FROM resourcegroup, privnode WHERE resourcegroup.name = 'All AD Domains' AND resourcegroup.resourcetypeid = (SELECT id FROM resourcetype WHERE name = 'addomain') AND privnode.name = 'admin' AND privnode.parent = 3; -- -------------------------------------------------------- @@ -1933,6 +1971,7 @@ INSERT IGNORE usergrouppriv (usergroupid INSERT IGNORE INTO userprivtype (id, name) VALUES (8, 'serverCheckOut'); INSERT IGNORE INTO userprivtype (id, name) VALUES (9, 'serverProfileAdmin'); +INSERT IGNORE INTO userprivtype (name) VALUES ('addomainAdmin'); -- -------------------------------------------------------- @@ -1942,8 +1981,10 @@ INSERT IGNORE INTO userprivtype (id, nam INSERT IGNORE userpriv (userid, privnodeid, userprivtypeid) SELECT user.id, privnode.id, userprivtype.id FROM user, privnode, userprivtype WHERE user.unityid = 'admin' AND user.affiliationid = (SELECT id FROM affiliation WHERE name = 'Local') AND privnode.name = 'admin' AND privnode.parent = 3 AND userprivtype.name = 'serverCheckOut'; INSERT IGNORE userpriv (userid, privnodeid, userprivtypeid) SELECT user.id, privnode.id, userprivtype.id FROM user, privnode, userprivtype WHERE user.unityid = 'admin' AND user.affiliationid = (SELECT id FROM affiliation WHERE name = 'Local') AND privnode.name = 'admin' AND privnode.parent = 3 AND userprivtype.name = 'serverProfileAdmin'; +INSERT IGNORE userpriv (userid, privnodeid, userprivtypeid) SELECT user.id, privnode.id, userprivtype.id FROM user, privnode, userprivtype WHERE user.unityid = 'admin' AND user.affiliationid = (SELECT id FROM affiliation WHERE name = 'Local') AND privnode.name = 'admin' AND privnode.parent = 3 AND userprivtype.name = 'addomainAdmin'; 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'; +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 = 'addomainAdmin'; -- -------------------------------------------------------- Modified: vcl/trunk/mysql/vcl.sql URL: http://svn.apache.org/viewvc/vcl/trunk/mysql/vcl.sql?rev=1765685&r1=1765684&r2=1765685&view=diff ============================================================================== --- vcl/trunk/mysql/vcl.sql (original) +++ vcl/trunk/mysql/vcl.sql Wed Oct 19 17:09:41 2016 @@ -27,6 +27,25 @@ SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -------------------------------------------------------- +-- Table structure for table `addomain` + +CREATE TABLE IF NOT EXISTS `addomain` ( + `id` tinyint(3) unsigned NOT NULL auto_increment, + `name` varchar(30) NOT NULL default '', + `ownerid` mediumint(8) unsigned NOT NULL, + `domainDNSName` varchar(70) NOT NULL default '', + `domainNetBIOSName` varchar(15) default NULL, + `username` varchar(64) default NULL, + `password` varchar(256) default NULL, + `dnsServers` varchar(512) default NULL, + `domainControllers` varchar(512) NOT NULL, + `logindescription` text, + PRIMARY KEY (`id`), + UNIQUE KEY `domainDNSName` (`domainDNSName`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + -- -- Table structure for table `adminlevel` -- @@ -309,12 +328,12 @@ CREATE TABLE IF NOT EXISTS `computerload -- CREATE TABLE IF NOT EXISTS connectlog ( - id int(10) unsigned NOT NULL AUTO_INCREMENT, - logid int(10) unsigned NOT NULL, - reservationid mediumint(8) unsigned NOT NULL, - userid mediumint(8) unsigned DEFAULT NULL, - remoteIP varchar(39) NOT NULL, - verified tinyint(1) NOT NULL, + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `logid` int(10) unsigned NOT NULL, + `reservationid` mediumint(8) unsigned NOT NULL, + `userid` mediumint(8) unsigned DEFAULT NULL, + `remoteIP` varchar(39) NOT NULL, + `verified` tinyint(1) NOT NULL, `timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (id), UNIQUE KEY reservationid_1 (reservationid,userid,remoteIP), @@ -458,6 +477,19 @@ CREATE TABLE IF NOT EXISTS `image` ( -- -------------------------------------------------------- -- +-- Table structure for table `imageaddomain` +-- + +CREATE TABLE IF NOT EXISTS `imageaddomain` ( + `imageid` smallint(5) unsigned NOT NULL, + `addomainid` tinyint(3) unsigned NOT NULL, + `baseOU` varchar(512) default NULL, + PRIMARY KEY (`imageid`,`addomainid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +-- -------------------------------------------------------- + +-- -- Table structure for table `imagemeta` -- @@ -1875,6 +1907,7 @@ INSERT IGNORE provisioningOSinstalltype -- INSERT IGNORE INTO `resourcetype` (`id`, `name`) VALUES +(18, 'addomain'), (12, 'computer'), (13, 'image'), (16, 'managementnode'), @@ -1902,7 +1935,8 @@ INSERT IGNORE INTO `resourcegroup` (`id` (8, 'newimages', 4, 12), (9, 'newvmimages', 4, 12), (10, 'allVMimages', 4, 13), -(11, 'all profiles', 3, 17); +(11, 'all profiles', 3, 17), +(12, 'All AD Domains', 3, 18); -- -- Dumping data for table `resourcegroupmembers` @@ -1957,7 +1991,9 @@ INSERT IGNORE INTO `resourcepriv` (`id`, (29, 11, 4, 'available'), (30, 11, 4, 'administer'), (31, 11, 4, 'manageGroup'), -(32, 11, 4, 'manageMapping'); +(32, 11, 4, 'manageMapping'), +(33, 12, 4, 'administer'), +(34, 12, 4, 'manageGroup'); -- -- Dumping data for table `schedule` @@ -2097,6 +2133,7 @@ INSERT IGNORE INTO `usergrouppriv` (`use -- INSERT IGNORE INTO `userprivtype` (`id`, `name`) VALUES +(14, 'addomainAdmin'), (1, 'block'), (2, 'cascade'), (4, 'computerAdmin'), @@ -2128,6 +2165,7 @@ INSERT IGNORE INTO `userpriv` (`id`, `us (12, NULL, 3, 3, 11), (18, NULL, 3, 3, 12), (15, NULL, 3, 3, 13), +(25, NULL, 3, 3, 14), (1, 1, NULL, 3, 2), (6, 1, NULL, 3, 3), (2, 1, NULL, 3, 4), @@ -2139,7 +2177,8 @@ INSERT IGNORE INTO `userpriv` (`id`, `us (4, 1, NULL, 3, 10), (9, 1, NULL, 3, 11), (5, 1, NULL, 3, 12), -(10, 1, NULL, 3, 13); +(10, 1, NULL, 3, 13), +(26, 1, NULL, 3, 14); -- -- Dumping data for table `variable`