All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit 9609adc0 authored by Leigh B Stoller's avatar Leigh B Stoller

Various changes for POWDER fixed nodes.

parent c714abaf
......@@ -609,6 +609,10 @@ sub rootPreConfig($;$)
print "Configuring root vnode context\n";
$usethin = 0
if (exists($hostattributes->{'XEN_LVMNOTHINPOOL'}) &&
(lc($hostattributes->{'XEN_LVMNOTHINPOOL'}) eq "yes"));
#
# For compatibility with existing (physical host) Emulab images,
# the physical host provides DHCP info for the vnodes. We manage
......@@ -2350,6 +2354,18 @@ sub vnodePreConfigExpNetwork($$$$)
my $ifconfigs = $vnconfig->{'ifconfig'};
my $ldconfigs = $vnconfig->{'ldconfig'};
my $tunconfigs = $vnconfig->{'tunconfig'};
my $attributes = $vnconfig->{'attributes'};
my $noantispoof= 0;
$noantispoof = 1
if (exists($attributes->{'XEN_NOANTISPOOFING'}) &&
(lc($attributes->{'XEN_NOANTISPOOFING'}) eq "yes"));
# Strictly for debugging.
if ($noantispoof) {
mysystem("$IPTABLES -P FORWARD ACCEPT");
}
my $ifbs;
# Keep track of links (and implicitly, bridges) that need to be created
......@@ -2365,7 +2381,7 @@ sub vnodePreConfigExpNetwork($$$$)
my $vifstr = "vif = [$viftype " .
"mac=" . $vninfo->{'cnet'}->{'mac'} . ", " .
# This tells vif-bridge to use antispoofing iptable rules.
"ip=" . $vninfo->{'cnet'}->{'ip'} . ", " .
(!$noantispoof ? "ip=" . $vninfo->{'cnet'}->{'ip'} . ", " : "") .
"bridge=" . $vninfo->{'cnet'}->{'bridge'} . ", " .
# For vif-route.
"gatewaydev=" . $vninfo->{'cnet'}->{'bridge'} . ", " .
......@@ -2706,6 +2722,7 @@ sub vnodeBoot($$$$)
{
my ($vnode_id, $vmid, $vnconfig, $private) = @_;
my $vninfo = $private;
my $attributes = $vnconfig->{'attributes'};
my $ip = $vninfo->{'dhcp'}->{'ip'};
if (!exists($vninfo->{'cffile'})) {
......@@ -2739,6 +2756,18 @@ sub vnodeBoot($$$$)
captureStart($vnode_id);
}
if (exists($attributes->{'XEN_STARTUPSCRIPT'})) {
my $script = $attributes->{'XEN_STARTUPSCRIPT'};
if (! -x $script) {
print STDERR "vnodeBoot: ERROR, $script does not exist\n";
}
mysystem2("$script $vnode_id");
if ($?) {
print STDERR "vnodeBoot: ERROR, $script failed\n";
return -1;
}
}
# notify stated that we are about to boot. We need this transition for
# stated to do its thing, this state name is treated specially.
libutil::setState("BOOTING");
......
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