diff options
author | 2017-03-24 20:40:02 +0000 | |
---|---|---|
committer | 2017-03-27 11:36:24 +0000 | |
commit | ebd04a4bd80706251190ad5fca4c7a54dabcd8a1 (patch) | |
tree | 90ddac88cccdab604612dc41cadf8bdf94cea54f /src/main | |
parent | 177429ea5d91b56e5b4355d075b06b585b98b923 (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')
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); } } |