Commit 72aa7bec authored by Robert Ricci's avatar Robert Ricci

Merge remote-tracking branch 'origin/master' into current

parents 103e0385 2ed3cc0b
......@@ -85,7 +85,7 @@ endif
#
# For installation on boss node
#
boss-install: install-checks install-branchcheck \
boss-install: install-checks \
install-subdirs install-mkdirs \
install-setbuildinfo
@echo "Boss node installed!"
......@@ -95,19 +95,19 @@ boss-install-force: install-subdirs install-mkdirs install-setbuildinfo
@echo "Boss node installed!"
# Skip only the schema checks, but do the other checks.
boss-install-noschemacheck: install-updatecheck install-branchcheck \
boss-install-noschemacheck: install-updatecheck \
install-sitevarscheck install-dbfillcheck \
install-genischemacheck install-subdirs install-mkdirs \
install-setbuildinfo
# Skip the update check.
boss-install-noupdatecheck: install-schemacheck install-branchcheck \
boss-install-noupdatecheck: install-schemacheck \
install-sitevarscheck install-dbfillcheck \
install-genischemacheck install-subdirs install-mkdirs \
install-setbuildinfo
# Only the checks:
install-checks: install-branchcheck \
install-checks: \
install-updatecheck \
install-schemacheck \
install-sitevarscheck \
......
......@@ -109,7 +109,7 @@ default-clean:
rm -f GNUmakefile
# This is to avoid warnings about duplicate targets.
default-install:
default-install-notusing:
ifeq ($(ISMAINSITE),1)
ifeq ($(TBROOT),/usr/testbed/devel/stoller)
(cd $(SRCDIR) ; \
......@@ -121,7 +121,7 @@ else
/usr/bin/true
endif
install: default-install
#install: default-install
#
# Where to find source files.
......
#!/usr/bin/perl -wT
#
# Copyright (c) 2000-2015 University of Utah and the Flux Group.
# Copyright (c) 2000-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -42,15 +42,16 @@ use Getopt::Std;
#
sub usage()
{
print("Usage: tbacct [-f] [-b] [-u] ".
print("Usage: tbacct [-f] [-b] [-u] [-v] ".
"<add|del|mod|passwd|wpasswd|email|freeze|thaw|verify|revoke|dots> ".
"<user> [args]\n");
exit(-1);
}
my $optlist = "fbu";
my $optlist = "fbuv";
my $force = 0;
my $batch = 0;
my $update = 0;
my $verified= 0;
#
# Configure variables
......@@ -203,6 +204,9 @@ if (defined($options{"b"})) {
if (defined($options{"u"})) {
$update = 1;
}
if (defined($options{"v"})) {
$verified = 1;
}
if (@ARGV < 2) {
usage();
}
......@@ -926,7 +930,7 @@ sub UpdateEmail()
#
# Only admin people can do this.
#
if (! TBAdmin($UID)) {
if (!TBAdmin($UID) && !$verified) {
fatal("You do not have permission to update email for user $user.");
}
......
......@@ -316,6 +316,13 @@ my $tmp = APT_Profile::SetSites(\$rspecstr, $sitemap, $default_aggregate_urn,
if ($tmp) {
($tmp < 0 ? fatal($errmsg) : UserError($errmsg));
}
#
# Yep, this can happen when users do not put any nodes in their rspec.
#
if (!@aggregate_urns) {
UserError("There are no nodes in your experiment, syntax error?");
}
# but do not override command line force.
$usestitcher = 1 if ($needstitcher);
......
......@@ -1788,6 +1788,12 @@ sub StartMonitorInternal(;$)
sub DoLockdownInternal($$)
{
my ($setclr,$which) = @_;
# The web interface (and in the future the xmlrpc interface) sets this.
my $this_user = User->ImpliedUser();
if (! defined($this_user)) {
$this_user = User->ThisUser();
}
my $slice = $instance->GetGeniSlice();
if (!defined($slice)) {
......@@ -1820,6 +1826,24 @@ sub DoLockdownInternal($$)
my $coderef = sub {
my ($sliver) = @_;
#
# We cannot do lockdown at AL2S. More generally, it only works at
# Emulab based aggregates, but we do not talk to other aggregates.
#
if ($sliver->ISAL2S()) {
return 0
if ($clear);
my $project = $instance->GetProject();
$project->SendEmail($this_user->email(),
"Failed to completely lock down APT Instance",
"Failed to completely lock down $instance,\n".
"cause it crosses AL2S.\n\n".
$instance->webURL() . "\n",
$project->OpsEmailAddress(),
"CC: " . $project->OpsEmailAddress());
return 0;
}
my $response = $sliver->Lockdown($clear);
if (!defined($response)) {
print STDERR "RPC Error calling Lockdown\n";
......
/*
* Copyright (c) 2000-2014 University of Utah and the Flux Group.
* Copyright (c) 2000-2016 University of Utah and the Flux Group.
*
* {{{EMULAB-LICENSE
*
......@@ -476,9 +476,10 @@ event_main(event_handle_t handle)
if (handle->mainloop(handle->server, &handle->do_loop, &handle->status)) {
ERROR("Event mainloop failed: ");
pubsub_error_fprintf(stderr, &handle->status);
handle->do_loop = 0;
return 0;
}
handle->do_loop = 0;
return 1;
}
......
#!/usr/bin/perl -w
#
# Copyright (c) 2004-2013 University of Utah and the Flux Group.
# Copyright (c) 2004-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -233,5 +233,5 @@ sub doreconfig()
#
sub docleanup()
{
doaction("reset", @bootscripts);
doaction("reset", reverse(@bootscripts));
}
#!/usr/bin/perl -w
#
# Copyright (c) 2004-2015 University of Utah and the Flux Group.
# Copyright (c) 2004-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -118,27 +118,7 @@ SWITCH: for ($action) {
last SWITCH;
};
/^reset$/i && do {
#
# XXX this should be docleanup(3), but we have not implemented
# the nasty temporary removal of LVM/ZFS/etc state from the
# imageable filesystems for local blockstores.
#
# So for now we just do a shutdown. This will do the right thing
# for SAN-based blockstores which only use traditional filesystem
# mounts (i.e., no volume manager) and thus have no local disk
# state (as SAN mounts do not appear in /etc/fstab).
#
# It is also the right thing for the local SYSVOL case in which
# you want the blockstore to be included in the image.
#
# It is not correct for other blockstores, where you will get
# partial state in the image (e.g., in /etc/lvm or /etc/zfs).
#
# The moral is: if you are going to do a custom image, you should
# only use persistent SAN-based blockstores or create a SYSVOL local
# blockstore and take a whole-disk image!
#
docleanup(0);
docleanup(3);
last SWITCH;
};
# XXX non-standard, for debugging
......@@ -524,7 +504,21 @@ sub docleanup($)
fatal("Could not retrieve stashed storage config!");
}
if ($doteardown) {
#
# XXX the $dolocal is a quick hack to ensure that when we are
# doing a reconfig/reset ala:
# rc.storageremote reset
# rc.storagelocal reset
# that we don't remove the OLDCONFIG until the end. Otherwise
# we would not reconfig/reset the local blockstores because there
# would be no config when we reached rc.storagelocal! This relies
# heavily on the ordering of the two scripts in rc.config and the
# fact that we reverse that list of scripts when we shutdown.
# We use this hack below as well where we remove STORAGEMAP and
# DISKINFO. Note that the storage state will be inconsistent between
# removing the remote and local storage, but we can live with that.
#
if ($doteardown && $dolocal) {
unlink($OLDCONFIG);
}
}
......@@ -540,8 +534,16 @@ sub docleanup($)
}
}
if ($doteardown == 2) {
print "Forcing teardown of storage, ignore errors...\n";
my $msg = "";
if ($dolocal && !$doremote) {
$msg = "local ";
} elsif (!$dolocal && $doremote) {
$msg = "remote ";
}
if ($doteardown == 1 || $doteardown == 2) {
print "Forcing teardown of ${msg}storage, volatile blockstores WILL BE DESTROYED...\n";
} elsif ($doteardown == 3) {
print "Clearing ${msg}storage config from root filesystem, volatile blockstores will be preserved...\n";
}
my @cmds = ();
......@@ -578,7 +580,10 @@ sub docleanup($)
system("/bin/kill `cat $bsapidfile`");
}
unlink($STORAGEMAP, $DISKINFO);
# XXX see XXX comment above.
if ($dolocal) {
unlink($STORAGEMAP, $DISKINFO);
}
}
#
......@@ -755,7 +760,9 @@ sub process($$$$)
print "unmounted " . $href->{'MOUNTPOINT'} .
($doteardown ? " and " : " ");
}
if ($doteardown) {
if ($doteardown == 3) {
print "deactivated $dev";
} elsif ($doteardown) {
print "destroyed $dev";
}
print "\n";
......
This diff is collapsed.
This diff is collapsed.
......@@ -920,6 +920,7 @@ sub fix_console
sub fix_grub_console
{
my ($imageroot, $file, $console, $sunit, $sspeed) = @_;
my $comunit = $sunit + 1;
open FILE, "+<$imageroot/$file" ||
die "Couldn't open $imageroot/$file: $!\n";
......@@ -981,6 +982,20 @@ sub fix_grub_console
next;
}
#
# Xen command lines with VGA (vga)
#
if (/console=vga\s/) {
# get rid of any existing serial console clauses
s#console=com\d\S*##g;
s#com\d=\S+##g;
if ($sunit >= 0) {
# change vga to appropriate serial device
s#console=vga#console=com$comunit com$comunit=$sspeed#;
}
push @buffer, $_;
next;
}
#
# Kernel and initrd command lines with serial (ttyS*)
#
if (/console=ttyS(\d+)/) {
......@@ -996,6 +1011,24 @@ sub fix_grub_console
push @buffer, $_;
next;
}
#
# Xen command lines with serial (console=comN, comN=<speed>)
#
if (/console=com(\d)/) {
# get rid of any existing VGA clause
s#console=vga##g;
if ($sunit < 0) {
# replace serial with VGA
s#console=com\d\S*#console=vga#g;
s#com\d=\S+##g;
} else {
# fixup serial lines
s#console=com\d\S*#console=com$comunit#g;
s#com\d=\S+#com$comunit=$sspeed#g;
}
push @buffer, $_;
next;
}
#
# Otherwise, just copy
......
#!/usr/bin/perl -wT
#
# Copyright (c) 2008-2015 University of Utah and the Flux Group.
# Copyright (c) 2008-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -1742,16 +1742,25 @@ sub vnodePreConfig($$$$$){
my $ldisk = "da0s1";
if (-e "$vnoderoot/etc/dumpdates") {
mysystem2("sed -i.bak -e 's;^/dev/[ad][da][04]s1;/dev/$ldisk;' ".
mysystem2("sed -i.bak -e 's;^/dev/\\(ada\\|ad\\|da\\)[0-9]s1;/dev/$ldisk;' ".
" $vnoderoot/etc/dumpdates");
goto bad
if ($?);
}
mysystem2("sed -i.bak -e 's;^/dev/[ad][da][04]s1;/dev/$ldisk;' ".
mysystem2("sed -i.bak -e 's;^/dev/\\(ada\\|ad\\|da\\)[0-9]s1;/dev/$ldisk;' ".
" $vnoderoot/etc/fstab");
goto bad
if ($?);
#
# Put out the /boot/loader.conf header we look for in prepare
#
if (open(LC, ">>$vnoderoot/boot/loader.conf")) {
print LC "# The remaining lines were added by Emulab slicefix.\n";
print LC "# DO NOT ADD ANYTHING AFTER THIS POINT AS IT WILL GET REMOVED.\n";
close(LC);
}
#
# In HVM the emulated RTC is UTC.
# Make sure FreeBSD knows that.
......@@ -1768,6 +1777,10 @@ sub vnodePreConfig($$$$$){
mysystem("echo 'vfs.unmapped_buf_allowed=0' ".
">> $vnoderoot/boot/loader.conf");
}
#
# Make sure console is comconsole
#
mysystem("echo 'console=comconsole' >> $vnoderoot/boot/loader.conf");
}
#
......@@ -1785,8 +1798,13 @@ sub vnodePreConfig($$$$$){
# By putting FS=/ in there, we can force libsetup's os_mkextrafs to
# use the root filesystem.
#
# XXX note the check for the existence of /var/emulab/boot. In older
# FreeBSD images, /var is a separate filesystem which we don't mount
# here. Just use the extra FS in that case.
#
if (!exists($vnconfig->{'attributes'}->{'XEN_EXTRAFS'}) &&
!exists($vnconfig->{'attributes'}->{'XEN_EXTRADISKS'})) {
!exists($vnconfig->{'attributes'}->{'XEN_EXTRADISKS'}) &&
-d "$vnoderoot/var/emulab/boot") {
mysystem("echo 'FS=/' > $vnoderoot/var/emulab/boot/extrafs");
} else {
unlink("$vnoderoot/var/emulab/boot/extrafs");
......
......@@ -70,7 +70,7 @@ use vars qw(@ISA @EXPORT);
TB_PROJECT_DELUSER TB_PROJECT_MAKEOSID
TB_PROJECT_DELOSID TB_PROJECT_MAKEIMAGEID TB_PROJECT_DELIMAGEID
TB_PROJECT_CREATEEXPT TB_PROJECT_CREATELEASE
TB_PROJECT_MIN TB_PROJECT_MAX TB_PID_LEN
TB_PROJECT_MIN TB_PROJECT_MAX TB_PID_LEN TB_GID_LEN
TB_OSID_READINFO TB_OSID_CREATE
TB_OSID_DESTROY TB_OSID_MIN TB_OSID_MAX
......@@ -119,6 +119,7 @@ use vars qw(@ISA @EXPORT);
TBDB_TBEVENT_NODESTATE TBDB_TBEVENT_NODEOPMODE TBDB_TBEVENT_CONTROL
TBDB_TBEVENT_COMMAND TBDB_TBEVENT_EXPTSTATE
TBDB_TBEVENT_NODESTARTSTATUS TBDB_TBEVENT_NODEACCOUNTS
TBDB_TBEVENT_NODESTATUS
TBDB_NODESTATE_ISUP TBDB_NODESTATE_REBOOTING TBDB_NODESTATE_REBOOTED
TBDB_NODESTATE_SHUTDOWN TBDB_NODESTATE_BOOTING TBDB_NODESTATE_TBSETUP
......@@ -367,6 +368,7 @@ sub TB_PROJECT_CREATELEASE() { 15; }
sub TB_PROJECT_MIN() { TB_PROJECT_READINFO(); }
sub TB_PROJECT_MAX() { TB_PROJECT_CREATELEASE(); }
sub TB_PID_LEN() { 48; }
sub TB_GID_LEN() { 32; }
# OSIDs
sub TB_OSID_READINFO() { 1; }
......@@ -478,6 +480,7 @@ sub TBDB_TBEVENT_COMMAND { "TBCOMMAND"; }
sub TBDB_TBEVENT_EXPTSTATE { "TBEXPTSTATE"; }
sub TBDB_TBEVENT_NODESTARTSTATUS{ "TBSTARTSTATUS"; }
sub TBDB_TBEVENT_NODEACCOUNTS { "TBUPDATEACCOUNTS"; }
sub TBDB_TBEVENT_NODESTATUS { "TBNODESTATUS"; }
#
# For nodes, we use this set of events.
......
......@@ -3170,11 +3170,6 @@ sub GetGeniSliverInfo($$;$)
sub SetStatus($$)
{
my ($self, $status) = @_;
# Must be a real reference.
return -1
if (! ref($self));
my $node_id = $self->node_id();
return -1
......@@ -3184,6 +3179,25 @@ sub SetStatus($$)
return 0;
}
#
# Get the status slot for a node.
#
sub GetStatus($)
{
my ($self) = @_;
my $node_id = $self->node_id();
my $query_result =
DBQueryWarn("select status,status_timestamp from node_status ".
"where node_id='$node_id'");
return undef
if (! (defined($query_result) && $query_result->numrows));
my ($status,$stamp) = $query_result->fetchrow_array();
$self->{"DBROW"}->{'node_status'} = $status;
return $status;
}
#
#
#
......@@ -3689,7 +3703,8 @@ sub CheckPreReserve($$$)
# not look in the object ($self) since it might be stale.
#
my $query_result =
DBQueryWarn("select reserved_pid,count,active,terminal from nodes ".
DBQueryWarn("select reserved_pid,reservation_name, ".
" count,active,terminal from nodes ".
"left join project_reservations on ".
" project_reservations.pid=nodes.reserved_pid and ".
" project_reservations.name=nodes.reservation_name ".
......@@ -3704,10 +3719,17 @@ sub CheckPreReserve($$$)
# if the reservation request is still active. If not, we can clear it,
# which will allow it to be set again below, if needed.
#
my ($pid,$count,$active,$terminal) = $query_result->fetchrow_array();
my ($pid,$resname,$count,$active,$terminal) =
$query_result->fetchrow_array();
if (defined($pid)) {
# There is an active pre-reserve for this node.
goto done
if (defined($count) && $active && !$terminal);
# If the reservation_name is null, the node was prereserved
# via the web page, not by a prereserve command line. Do not
# mess with it.
goto done
if (!defined($resname));
DBQueryWarn("update nodes set reserved_pid=null, ".
" reservation_name=null ".
......@@ -3729,9 +3751,7 @@ sub CheckPreReserve($$$)
goto done
if (!$query_result);
while ($query_result->numrows) {
my ($pid,$count,$resname) = $query_result->fetchrow_array();
while (my ($pid,$count,$resname) = $query_result->fetchrow_array()) {
#
# See if this is fullfulling a specific node reservation request.
# Need to delete that row if so.
......@@ -4093,7 +4113,11 @@ sub HaveRoutableIPs($$)
DBQueryWarn("select count(ip) from virt_node_public_addr ".
"where node_id is null and eid is null");
return 0
if (!$query_result || $query_result->numrows < $needed);
if (!$query_result || $query_result->numrows < 1);
my( $count ) = $query_result->fetchrow_array();
return 0
if( $count < $needed );
return 1;
}
......
#!/usr/bin/perl -w
#
# Copyright (c) 2000-2008 University of Utah and the Flux Group.
# Copyright (c) 2000-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -34,6 +34,7 @@ use English;
my $TB = "@prefix@";
my $TBOPS = "@TBOPSEMAIL@";
my $TBLOGS = "@TBLOGSEMAIL@";
my $BOSSNODE = "@BOSSNODE@";
# un-taint path
$ENV{'PATH'} = '/bin:/usr/bin:/usr/local/bin:/usr/site/bin';
......@@ -52,6 +53,8 @@ $| = 1;
# Load the Testbed support stuff.
use lib "@prefix@/lib";
use libdb;
use EmulabConstants;
use event;
#
# Only root and admins are allowed to use this script
......@@ -181,6 +184,13 @@ while (my ($node,$status,$pid,$remote,$isvirt,$isplab,$timediff) =
if (!$debug) {
DBQueryFatal("update node_status set status='$newstatus' ".
"where node_id='$node'");
#
# Generate local event.
#
event::EventSendWarn(objtype => TBDB_TBEVENT_NODESTATUS,
objname => $node,
eventtype => $newstatus,
host => $BOSSNODE);
}
}
......
<descriptors>
<mapping name="RHL-STD">
<value>FEDORA15-STD</value>
</mapping>
<mapping name="FBSD-STD">
<value>FBSD83-STD</value>
</mapping>
<osid>
<attribute name="OS"><value>FreeBSD</value></attribute>
<attribute name="description"><value>Frisbee (FreeBSD) in an MFS</value></attribute>
......@@ -32,19 +26,6 @@
<attribute name="shared"><value>1</value></attribute>
<attribute name="version"><value>4.X</value></attribute>
</osid>
<osid>
<attribute name="OS"><value>Linux</value></attribute>
<attribute name="description"><value>IPTables Firewall</value></attribute>
<attribute name="features"><value>ping,ssh,ipod,isup,veths,linktest</value></attribute>
<attribute name="magic"><value></value></attribute>
<attribute name="mustclean"><value>1</value></attribute>
<attribute name="nextosid"><value>emulab-ops,UBUNTU10-STD-FW</value></attribute>
<attribute name="op_mode"><value>NORMALv2</value></attribute>
<attribute name="osname"><value>FW-IPTABLES</value></attribute>
<attribute name="pid"><value>emulab-ops</value></attribute>
<attribute name="reboot_waittime"><value>120</value></attribute>
<attribute name="shared"><value>1</value></attribute>
</osid>
<osid>
<attribute name="OS"><value>Other</value></attribute>
<attribute name="description"><value>Stub descriptor for power controllers of any kind</value></attribute>
......@@ -198,79 +179,4 @@
<attribute name="shared"><value>0</value></attribute>
<attribute name="version"><value>2.6.27.8</value></attribute>
</osid>
<image>
<attribute name="OS"><value>Fedora</value></attribute>
<attribute name="description"><value>Standard 32-bit Fedora 15 image</value></attribute>
<attribute name="gid"><value>emulab-ops</value></attribute>
<attribute name="global"><value>1</value></attribute>
<attribute name="imagename"><value>FEDORA15-STD</value></attribute>
<attribute name="loadpart"><value>2</value></attribute>
<attribute name="mbr_version"><value>2</value></attribute>
<attribute name="op_mode"><value>NORMALv2</value></attribute>
<attribute name="osfeatures"><value>ping,ssh,ipod,isup,linktest,vlans</value></attribute>
<attribute name="path"><value>/usr/testbed/images/FEDORA15-STD.ndz</value></attribute>
<attribute name="pid"><value>emulab-ops</value></attribute>
<attribute name="shared"><value>0</value></attribute>
<attribute name="version"><value>15</value></attribute>
</image>
<image>
<attribute name="OS"><value>FreeBSD</value></attribute>
<attribute name="description"><value>FreeBSD 8.3 32-bit version</value></attribute>
<attribute name="gid"><value>emulab-ops</value></attribute>
<attribute name="global"><value>1</value></attribute>
<attribute name="imagename"><value>FBSD83-STD</value></attribute>
<attribute name="loadpart"><value>1</value></attribute>
<attribute name="mbr_version"><value>2</value></attribute>
<attribute name="op_mode"><value>NORMALv2</value></attribute>
<attribute name="osfeatures"><value>ping,ssh,ipod,isup,mlinks,linktest,vlans</value></attribute>
<attribute name="path"><value>/usr/testbed/images/FBSD83-STD.ndz</value></attribute>
<attribute name="pid"><value>emulab-ops</value></attribute>
<attribute name="shared"><value>0</value></attribute>
<attribute name="version"><value>8.3</value></attribute>
</image>
<image>
<attribute name="OS"><value>Linux</value></attribute>
<attribute name="description"><value>Firewall image based on ubuntu 10</value></attribute>
<attribute name="gid"><value>emulab-ops</value></attribute>
<attribute name="global"><value>1</value></attribute>
<attribute name="imagename"><value>UBUNTU10-STD-FW</value></attribute>
<attribute name="loadpart"><value>2</value></attribute>
<attribute name="mbr_version"><value>2</value></attribute>
<attribute name="op_mode"><value>NORMALv2</value></attribute>
<attribute name="osfeatures"><value>ping,ssh,ipod,isup,linktest</value></attribute>
<attribute name="path"><value>/usr/testbed/images/UBUNTU10-STD-FW.ndz</value></attribute>
<attribute name="pid"><value>emulab-ops</value></attribute>
<attribute name="shared"><value>0</value></attribute>
<attribute name="version"><value>10</value></attribute>
</image>
<image>
<attribute name="OS"><value>Fedora</value></attribute>
<attribute name="description"><value>Standard 64-bit Fedora 15 image</value></attribute>
<attribute name="gid"><value>emulab-ops</value></attribute>
<attribute name="global"><value>1</value></attribute>
<attribute name="imagename"><value>FEDORA15-64-STD</value></attribute>
<attribute name="loadpart"><value>2</value></attribute>
<attribute name="mbr_version"><value>2</value></attribute>
<attribute name="op_mode"><value>NORMALv2</value></attribute>
<attribute name="osfeatures"><value>ping,ssh,ipod,isup,linktest</value></attribute>
<attribute name="path"><value>/usr/testbed/images/FEDORA15-64-STD.ndz</value></attribute>
<attribute name="pid"><value>emulab-ops</value></attribute>
<attribute name="shared"><value>0</value></attribute>
<attribute name="version"><value>15</value></attribute>
</image>
<image>
<attribute name="OS"><value>FreeBSD</value></attribute>
<attribute name="description"><value>FreeBSD 8.3 64-bit version </value></attribute>
<attribute name="gid"><value>emulab-ops</value></attribute>
<attribute name="global"><value>1</value></attribute>
<attribute name="imagename"><value>FBSD83-64-STD</value></attribute>
<attribute name="loadpart"><value>1</value></attribute>
<attribute name="mbr_version"><value>2</value></attribute>
<attribute name="op_mode"><value>NORMALv2</value></attribute>
<attribute name="osfeatures"><value>ping,ssh,ipod,isup,mlinks,linktest,vlans</value></attribute>
<attribute name="path"><value>/usr/testbed/images/FBSD83-64-STD.ndz</value></attribute>
<attribute name="pid"><value>emulab-ops</value></attribute>
<attribute name="shared"><value>0</value></attribute>
<attribute name="version"><value>8.3</value></attribute>
</image>
</descriptors>
#!/usr/bin/perl -w
#
# Copyright (c) 2010-2015 University of Utah and the Flux Group.
# Copyright (c) 2010-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -251,7 +251,7 @@ elsif ($server eq "boss") {
'boss/dhcpd', 'boss/named', 'boss/flyspray',
'boss/firstuser', 'boss/checkupuser', 'boss/wikidocs',
'boss/updatesitevars', 'boss/logdirs',
'boss/mfs', 'boss/images', 'boss/openvz', 'boss/xen',
'boss/mfs', 'boss/images', 'boss/xen',
'boss/experiments',
'boss/protogeni', 'boss/firewall', 'boss/servers'
);
......
......@@ -2,8 +2,7 @@
<attribute name="node_type"> <value>dl360</value></attribute>
<attribute name="attr_string_adminmfs_osid"> <value>emulab-ops,FREEBSD-MFS</value></attribute>
<attribute name="attr_string_default_osid"> <value>emulab-ops,UBUNTU14-64-STD</value></attribute>
<attribute name="attr_string_delay_osid"> <value>emulab-ops,FBSD82-STD</value></attribute>
<attribute name="attr_string_delay_osid"> <value>emulab-ops,FBSD102-64-STD</value></attribute>
<attribute name="attr_string_diskloadmfs_osid"> <value>emulab-ops,FRISBEE-MFS</value></attribute>
<attribute name="attr_string_jail_osid"> <value>emulab-ops,FEDORA15-STD</value></attribute>
<attribute name="attr_string_default_imageid"> <value>emulab-ops:UBUNTU14-64-STD</value></attribute>
</nodetype>
......@@ -94,9 +94,8 @@ my %G7RACKS = (
"princeton.control-nodes.geniracks.net" ],
"clemson" => [ "boss.instageni.clemson.edu",
"clemson.control-nodes.geniracks.net" ],
# Off the air.
# "kansas" => [ "boss.instageni.ku.gpeni.net",
# "kansas.control-nodes.geniracks.net" ],
"kansas" => [ "boss.instageni.ku.gpeni.net",
"kansas.control-nodes.geniracks.net" ],
"nyu" => [ "boss.genirack.nyu.edu",
"nyu.control-nodes.geniracks.net" ],
# Off the air.
......
#!/usr/bin/perl -w
#
# Copyright (c) 2003-2015 University of Utah and the Flux Group.
# Copyright (c) 2003-2016 University of Utah and the Flux Group.
#
# {{{EMULAB-LICENSE
#
......@@ -359,6 +359,7 @@ $ADDPUBKEY = "$PREFIX/sbin/addpubkey";
$TBACCT = "$PREFIX/sbin/tbacct";
$GENTOPOFILE = "$PREFIX/libexec/gentopofile";
$UPDATESITEVARS = "$PREFIX/sbin/update_sitevars";
$IMAGEIMPORT = "$PREFIX/sbin/image_import";
$PROTOUSER_KEY = "$main::TOP_SRCDIR/install/elabman_dsa.pub";
$ROOT_PRIVKEY = "/root/.ssh/id_rsa";
......
......@@ -41,7 +41,7 @@ if ($FBSD_MAJOR >= 10) {
}
my $ZZZ = "/usr/local/etc/rc.d/zzz-inelab.sh";
my $DEFAULTOSID = "UBUNTU14-64-STD";
my @EXPORTEDOSIDS= ("UBUNTU12-64-STD", "UBUNTU14-64-STD");
my @EXPORTEDOSIDS= ("UBUNTU14-64-STD");