Commit 41bfeaeb authored by Mike Hibler's avatar Mike Hibler
Browse files

All the server-side goo to support a new BSTORE event type.

parent e8de812f
/* /*
* Copyright (c) 2000-2006, 2012 University of Utah and the Flux Group. * Copyright (c) 2000-2015 University of Utah and the Flux Group.
* *
* {{{EMULAB-LICENSE * {{{EMULAB-LICENSE
* *
...@@ -50,6 +50,7 @@ char *tbdb_objecttypes[] = { ...@@ -50,6 +50,7 @@ char *tbdb_objecttypes[] = {
TBDB_OBJECTTYPE_EVPROXY, TBDB_OBJECTTYPE_EVPROXY,
TBDB_OBJECTTYPE_BGMON, TBDB_OBJECTTYPE_BGMON,
TBDB_OBJECTTYPE_DISK, TBDB_OBJECTTYPE_DISK,
TBDB_OBJECTTYPE_BSTORE,
/* /*
* NOTE: Add the object type and any events that send back COMPLETEs to * NOTE: Add the object type and any events that send back COMPLETEs to
* the objtype2complete array in event-sched.c:sends_complete(). * the objtype2complete array in event-sched.c:sends_complete().
......
...@@ -50,31 +50,32 @@ ...@@ -50,31 +50,32 @@
* *
* If you add to these two lists, make sure you add to the arrays in tbdefs.c * If you add to these two lists, make sure you add to the arrays in tbdefs.c
*/ */
#define TBDB_OBJECTTYPE_TESTBED "TBCONTROL" #define TBDB_OBJECTTYPE_TESTBED "TBCONTROL"
#define TBDB_OBJECTTYPE_STATE "TBNODESTATE" #define TBDB_OBJECTTYPE_STATE "TBNODESTATE"
#define TBDB_OBJECTTYPE_OPMODE "TBNODEOPMODE" #define TBDB_OBJECTTYPE_OPMODE "TBNODEOPMODE"
#define TBDB_OBJECTTYPE_EXPTSTATE "TBEXPTSTATE" #define TBDB_OBJECTTYPE_EXPTSTATE "TBEXPTSTATE"
#define TBDB_OBJECTTYPE_LINK "LINK" #define TBDB_OBJECTTYPE_LINK "LINK"
#define TBDB_OBJECTTYPE_TRAFGEN "TRAFGEN" #define TBDB_OBJECTTYPE_TRAFGEN "TRAFGEN"
#define TBDB_OBJECTTYPE_TIME "TIME" #define TBDB_OBJECTTYPE_TIME "TIME"
#define TBDB_OBJECTTYPE_PROGRAM "PROGRAM" #define TBDB_OBJECTTYPE_PROGRAM "PROGRAM"
#define TBDB_OBJECTTYPE_FRISBEE "FRISBEE" #define TBDB_OBJECTTYPE_FRISBEE "FRISBEE"
#define TBDB_OBJECTTYPE_SIMULATOR "SIMULATOR" #define TBDB_OBJECTTYPE_SIMULATOR "SIMULATOR"
#define TBDB_OBJECTTYPE_LINKTEST "LINKTEST" #define TBDB_OBJECTTYPE_LINKTEST "LINKTEST"
#define TBDB_OBJECTTYPE_NSE "NSE" #define TBDB_OBJECTTYPE_NSE "NSE"
#define TBDB_OBJECTTYPE_CANARYD "CANARYD" #define TBDB_OBJECTTYPE_CANARYD "CANARYD"
#define TBDB_OBJECTTYPE_NODE "NODE" #define TBDB_OBJECTTYPE_NODE "NODE"
#define TBDB_OBJECTTYPE_GROUP "GROUP" #define TBDB_OBJECTTYPE_GROUP "GROUP"
#define TBDB_OBJECTTYPE_TIMELINE "TIMELINE" #define TBDB_OBJECTTYPE_TIMELINE "TIMELINE"
#define TBDB_OBJECTTYPE_SEQUENCE "SEQUENCE" #define TBDB_OBJECTTYPE_SEQUENCE "SEQUENCE"
#define TBDB_OBJECTTYPE_CONSOLE "CONSOLE" #define TBDB_OBJECTTYPE_CONSOLE "CONSOLE"
#define TBDB_OBJECTTYPE_TOPOGRAPHY "TOPOGRAPHY" #define TBDB_OBJECTTYPE_TOPOGRAPHY "TOPOGRAPHY"
#define TBDB_OBJECTTYPE_LINKTRACE "LINKTRACE" #define TBDB_OBJECTTYPE_LINKTRACE "LINKTRACE"
#define TBDB_OBJECTTYPE_EVPROXY "EVPROXY" #define TBDB_OBJECTTYPE_EVPROXY "EVPROXY"
#define TBDB_OBJECTTYPE_BGMON "BGMON" #define TBDB_OBJECTTYPE_BGMON "BGMON"
#define TBDB_OBJECTTYPE_DISK "DISK" #define TBDB_OBJECTTYPE_DISK "DISK"
#define TBDB_OBJECTTYPE_CUSTOM "CUSTOM" #define TBDB_OBJECTTYPE_CUSTOM "CUSTOM"
#define TBDB_OBJECTTYPE_PLABSCHED "PLABSCHED" #define TBDB_OBJECTTYPE_PLABSCHED "PLABSCHED"
#define TBDB_OBJECTTYPE_BSTORE "BSTORE"
#define TBDB_EVENTTYPE_START "START" #define TBDB_EVENTTYPE_START "START"
#define TBDB_EVENTTYPE_STOP "STOP" #define TBDB_EVENTTYPE_STOP "STOP"
......
/* /*
* Copyright (c) 2000-2011 University of Utah and the Flux Group. * Copyright (c) 2000-2015 University of Utah and the Flux Group.
* *
* {{{EMULAB-LICENSE * {{{EMULAB-LICENSE
* *
...@@ -652,6 +652,9 @@ int sends_complete(struct agent *agent, const char *evtype) ...@@ -652,6 +652,9 @@ int sends_complete(struct agent *agent, const char *evtype)
{ TBDB_OBJECTTYPE_LINKTRACE, linktrace_completes }, { TBDB_OBJECTTYPE_LINKTRACE, linktrace_completes },
{ TBDB_OBJECTTYPE_EVPROXY, NULL }, { TBDB_OBJECTTYPE_EVPROXY, NULL },
{ TBDB_OBJECTTYPE_BGMON, NULL }, { TBDB_OBJECTTYPE_BGMON, NULL },
{ TBDB_OBJECTTYPE_DISK, NULL },
{ TBDB_OBJECTTYPE_CUSTOM, NULL },
{ TBDB_OBJECTTYPE_BSTORE, NULL },
{ NULL, NULL } { NULL, NULL }
}; };
......
/* /*
* Copyright (c) 2000-2012 University of Utah and the Flux Group. * Copyright (c) 2000-2015 University of Utah and the Flux Group.
* *
* {{{EMULAB-LICENSE * {{{EMULAB-LICENSE
* *
...@@ -654,6 +654,7 @@ int sends_complete(struct agent *agent, const char *evtype) ...@@ -654,6 +654,7 @@ int sends_complete(struct agent *agent, const char *evtype)
{ TBDB_OBJECTTYPE_BGMON, NULL }, { TBDB_OBJECTTYPE_BGMON, NULL },
{ TBDB_OBJECTTYPE_DISK, NULL }, { TBDB_OBJECTTYPE_DISK, NULL },
{ TBDB_OBJECTTYPE_CUSTOM, NULL }, { TBDB_OBJECTTYPE_CUSTOM, NULL },
{ TBDB_OBJECTTYPE_BSTORE, NULL },
{ NULL, NULL } { NULL, NULL }
}; };
......
...@@ -170,6 +170,7 @@ REPLACE INTO event_objecttypes VALUES (16,'EVPROXY'); ...@@ -170,6 +170,7 @@ REPLACE INTO event_objecttypes VALUES (16,'EVPROXY');
REPLACE INTO event_objecttypes VALUES (17,'BGMON'); REPLACE INTO event_objecttypes VALUES (17,'BGMON');
REPLACE INTO event_objecttypes VALUES (18,'DISK'); REPLACE INTO event_objecttypes VALUES (18,'DISK');
REPLACE INTO event_objecttypes VALUES (19,'CUSTOM'); REPLACE INTO event_objecttypes VALUES (19,'CUSTOM');
REPLACE INTO event_objecttypes VALUES (20,'BSTORE');
-- --
-- Dumping data for table `exported_tables` -- Dumping data for table `exported_tables`
......
#
# Blockstore event type
#
use strict;
use libdb;
sub DoUpdate($$$)
{
my ($dbhandle, $dbname, $version) = @_;
DBQueryFatal("REPLACE INTO event_objecttypes VALUES (20,'BSTORE')");
return 0;
}
# -*- tcl -*- # -*- tcl -*-
# #
# Copyright (c) 2000-2014 University of Utah and the Flux Group. # Copyright (c) 2000-2015 University of Utah and the Flux Group.
# #
# {{{EMULAB-LICENSE # {{{EMULAB-LICENSE
# #
...@@ -821,6 +821,9 @@ Simulator instproc run {} { ...@@ -821,6 +821,9 @@ Simulator instproc run {} {
$self spitxml_data "virt_agents" [list "vnode" "vname" "objecttype" ] [list "*" "slothd" $objtypes(SLOTHD) ] $self spitxml_data "virt_agents" [list "vnode" "vname" "objecttype" ] [list "*" "slothd" $objtypes(SLOTHD) ]
# Per-experiment event to shutdown remote blockstores
$self spitxml_data "virt_agents" [list "vnode" "vname" "objecttype" ] [list "*" "rem-bstore" $objtypes(BSTORE) ]
if {[array exists ::opt]} { if {[array exists ::opt]} {
for {set i 0} {$i < $optarray_count} {incr i} { for {set i 0} {$i < $optarray_count} {incr i} {
set oname $optarray_order($i) set oname $optarray_order($i)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment