diff --git a/sql/database-create-old.sql b/sql/database-create-old.sql index 0b10b590a7836f7d48a6599aeac1bea67efbe835..2591acc6df0bf736a14b1d8d3df085ceb385b908 100644 --- a/sql/database-create-old.sql +++ b/sql/database-create-old.sql @@ -228,9 +228,11 @@ CREATE TABLE `comments` ( DROP TABLE IF EXISTS `current_reloads`; CREATE TABLE `current_reloads` ( `node_id` varchar(32) NOT NULL default '', + `idx` smallint(5) unsigned NOT NULL default '0', `image_id` int(8) unsigned NOT NULL default '0', `mustwipe` tinyint(4) NOT NULL default '0', - PRIMARY KEY (`node_id`) + `prepare` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`node_id`,`idx`) ) TYPE=MyISAM; -- diff --git a/sql/database-create.sql b/sql/database-create.sql index eb92bf77c4d71aaf2ff2ce9a3bb515b67e7fbfcb..7644b3f17fa61009add4aca5ca09cdd9b68c19da 100644 --- a/sql/database-create.sql +++ b/sql/database-create.sql @@ -228,9 +228,11 @@ CREATE TABLE `comments` ( DROP TABLE IF EXISTS `current_reloads`; CREATE TABLE `current_reloads` ( `node_id` varchar(32) NOT NULL default '', + `idx` smallint(5) unsigned NOT NULL default '0', `image_id` int(8) unsigned NOT NULL default '0', `mustwipe` tinyint(4) NOT NULL default '0', - PRIMARY KEY (`node_id`) + `prepare` tinyint(4) NOT NULL default '0', + PRIMARY KEY (`node_id`,`idx`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- diff --git a/sql/database-fill.sql b/sql/database-fill.sql index 44a0bedfe3b50c2a461e58eba2798f7b7dd6511b..2dac1eecfcfa93813a2c1db9f5e22391182edf2b 100644 --- a/sql/database-fill.sql +++ b/sql/database-fill.sql @@ -524,6 +524,8 @@ REPLACE INTO state_transitions VALUES ('GARCIA-STARGATEv1','TBSETUP','ISUP','Boo REPLACE INTO state_transitions VALUES ('GARCIA-STARGATEv1','TBSETUP','TBSETUP','LongSetup'); REPLACE INTO state_transitions VALUES ('GARCIA-STARGATEv1','TBSETUP','TBFAILED','BootFail'); REPLACE INTO state_transitions VALUES ('GARCIA-STARGATEv1','TBFAILED','SHUTDOWN','RebootAfterFail'); +REPLACE INTO state_transitions VALUES ('RELOAD','RELOADSETUP','RELOADOLDMFS',''); +REPLACE INTO state_transitions VALUES ('RELOAD','RELOADOLDMFS','SHUTDOWN',''); -- -- Dumping data for table `state_triggers` @@ -540,6 +542,7 @@ REPLACE INTO state_triggers VALUES ('*','MINIMAL','ISUP','RESET'); REPLACE INTO state_triggers VALUES ('*','RELOAD-MOTE','RELOADDONE','RELOADDONE'); REPLACE INTO state_triggers VALUES ('*','OPSNODEBSD','ISUP','SCRIPT:opsreboot'); REPLACE INTO state_triggers VALUES ('*','NORMALv2','WEDGED','POWERCYCLE'); +REPLACE INTO state_triggers VALUES ('*','RELOAD','RELOADOLDMFS','RELOADOLDMFS'); -- -- Dumping data for table `table_regex` diff --git a/sql/updates/4/176 b/sql/updates/4/176 new file mode 100644 index 0000000000000000000000000000000000000000..1affe49413fa8c4bb1f0b6cf3bcd4f7ab6e9da7b --- /dev/null +++ b/sql/updates/4/176 @@ -0,0 +1,30 @@ +# +# Add slot to the virt_nodes table. +# +use strict; +use libdb; + +sub DoUpdate($$$) +{ + my ($dbhandle, $dbname, $version) = @_; + + if (!DBSlotExists("current_reloads", "idx")) { + DBQueryFatal + ("alter table current_reloads ". + "add idx smallint(5) unsigned NOT NULL default '0' after node_id, ". + "drop primary key, add primary key (node_id,idx)"); + } + if (!DBSlotExists("current_reloads", "prepare")) { + DBQueryFatal("alter table current_reloads add prepare ". + "tinyint(4) NOT NULL default '0'"); + } + DBQueryFatal("replace into state_transitions VALUES ". + "('RELOAD', 'RELOADSETUP', 'RELOADOLDMFS', '')"); + DBQueryFatal("replace into state_transitions VALUES ". + "('RELOAD', 'RELOADOLDMFS', 'SHUTDOWN', '')"); + + DBQueryFatal("replace into state_triggers values ". + "('*', 'RELOAD', 'RELOADOLDMFS', 'RELOADOLDMFS')"); + return 0; +} +1;