aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main
diff options
context:
space:
mode:
authorGravatar Philipp Wollermann <philwo@google.com>2017-03-24 20:40:02 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2017-03-27 11:36:24 +0000
commitebd04a4bd80706251190ad5fca4c7a54dabcd8a1 (patch)
tree90ddac88cccdab604612dc41cadf8bdf94cea54f /src/main
parent177429ea5d91b56e5b4355d075b06b585b98b923 (diff)
sandbox: Show the actual running sandbox strategy for actions.
This allows us to see for example whether an action ran using the "process wrapper + symlink tree" sandbox or the real "PID and mount namespaces" Linux sandbox. -- PiperOrigin-RevId: 151165170 MOS_MIGRATED_REVID=151165170
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java1
4 files changed, 10 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
index c06d1d78f8..2eff7c45cc 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
@@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionStatusMessage;
import com.google.devtools.build.lib.actions.EnvironmentalExecException;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.ExecutionStrategy;
@@ -151,6 +152,9 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
AtomicReference<Class<? extends SpawnActionContext>> writeOutputFiles)
throws ExecException, InterruptedException {
Executor executor = actionExecutionContext.getExecutor();
+ executor
+ .getEventBus()
+ .post(ActionStatusMessage.runningStrategy(spawn.getResourceOwner(), "darwin-sandbox"));
SandboxHelpers.reportSubcommand(executor, spawn);
PrintWriter errWriter = null;
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
index 8a55fac308..8825025ebf 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
@@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Maps;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionStatusMessage;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.ExecutionStrategy;
import com.google.devtools.build.lib.actions.Executor;
@@ -92,6 +93,9 @@ public class LinuxSandboxedStrategy extends SandboxStrategy {
AtomicReference<Class<? extends SpawnActionContext>> writeOutputFiles)
throws ExecException, InterruptedException {
Executor executor = actionExecutionContext.getExecutor();
+ executor
+ .getEventBus()
+ .post(ActionStatusMessage.runningStrategy(spawn.getResourceOwner(), "linux-sandbox"));
SandboxHelpers.reportSubcommand(executor, spawn);
// Each invocation of "exec" gets its own sandbox.
@@ -109,7 +113,7 @@ public class LinuxSandboxedStrategy extends SandboxStrategy {
throw new UserExecException("I/O error during sandboxed execution", e);
}
- SandboxRunner runner = getSandboxRunner(spawn, sandboxPath, sandboxExecRoot, writableDirs);
+ SandboxRunner runner = getSandboxRunner(sandboxPath, sandboxExecRoot, writableDirs);
try {
runSpawn(
spawn,
@@ -137,8 +141,7 @@ public class LinuxSandboxedStrategy extends SandboxStrategy {
}
private SandboxRunner getSandboxRunner(
- Spawn spawn, Path sandboxPath, Path sandboxExecRoot, Set<Path> writableDirs)
- throws UserExecException {
+ Path sandboxPath, Path sandboxExecRoot, Set<Path> writableDirs) throws UserExecException {
if (fullySupported) {
return new LinuxSandboxRunner(
execRoot,
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
index 9776210212..e30008e3ae 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
@@ -16,10 +16,8 @@ package com.google.devtools.build.lib.sandbox;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSet.Builder;
-import com.google.common.eventbus.EventBus;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionInput;
-import com.google.devtools.build.lib.actions.ActionStatusMessage;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.Spawn;
@@ -78,10 +76,6 @@ public final class SandboxHelpers {
return true;
}
- static void postActionStatusMessage(EventBus eventBus, Spawn spawn) {
- eventBus.post(ActionStatusMessage.runningStrategy(spawn.getResourceOwner(), "sandbox"));
- }
-
static Path getSandboxRoot(
BlazeDirectories blazeDirs, String productName, UUID uuid, AtomicInteger execCounter) {
return blazeDirs
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java
index 40f9b36ac2..80f0501afa 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxStrategy.java
@@ -95,7 +95,6 @@ abstract class SandboxStrategy implements SandboxedSpawnActionContext {
eventBus.post(ActionStatusMessage.schedulingStrategy(owner));
try (ResourceHandle ignored =
ResourceManager.instance().acquireResources(owner, spawn.getLocalResources())) {
- SandboxHelpers.postActionStatusMessage(eventBus, spawn);
actuallyExec(spawn, actionExecutionContext, writeOutputFiles);
}
}