You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/09/24 11:54:26 UTC
[1/2] incubator-brooklyn git commit: Pass EntitlementContext to
effectors Do that explicitly for expunge
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master f34f0433b -> d3cefa381
Pass EntitlementContext to effectors
Do that explicitly for expunge
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/511a3e16
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/511a3e16
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/511a3e16
Branch: refs/heads/master
Commit: 511a3e167f49e6c88cd662cea4f86828a2a41a1c
Parents: f34f043
Author: Valentin Aitken <va...@cloudsoftcorp.com>
Authored: Thu Sep 24 00:08:55 2015 +0300
Committer: Valentin Aitken <va...@cloudsoftcorp.com>
Committed: Thu Sep 24 09:59:01 2015 +0300
----------------------------------------------------------------------
.../core/mgmt/internal/EffectorUtils.java | 13 +++++++----
.../MachineLifecycleEffectorTasks.java | 23 ++++++++++++++++++--
.../rest/util/BrooklynRestResourceUtils.java | 11 ++++++++--
3 files changed, 39 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/511a3e16/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/EffectorUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/EffectorUtils.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/EffectorUtils.java
index fa7eaaa..c6ec3ac 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/EffectorUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/EffectorUtils.java
@@ -36,6 +36,7 @@ import org.apache.brooklyn.api.mgmt.Task;
import org.apache.brooklyn.core.effector.BasicParameterType;
import org.apache.brooklyn.core.entity.EntityInternal;
import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
+import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.core.config.ConfigBag;
@@ -340,15 +341,19 @@ public class EffectorUtils {
/** returns a (mutable) map of the standard flags which should be placed on an effector */
public static Map<Object,Object> getTaskFlagsForEffectorInvocation(Entity entity, Effector<?> effector, ConfigBag parameters) {
+ List<Object> tags = MutableList.of(
+ BrooklynTaskTags.EFFECTOR_TAG,
+ BrooklynTaskTags.tagForEffectorCall(entity, effector.getName(), parameters),
+ BrooklynTaskTags.tagForTargetEntity(entity));
+ if (Entitlements.getEntitlementContext() != null) {
+ tags.add(BrooklynTaskTags.tagForEntitlement(Entitlements.getEntitlementContext()));
+ }
return MutableMap.builder()
.put("description", "Invoking effector "+effector.getName()
+" on "+entity.getDisplayName()
+(parameters!=null ? " with parameters "+parameters.getAllConfig() : ""))
.put("displayName", effector.getName())
- .put("tags", MutableList.of(
- BrooklynTaskTags.EFFECTOR_TAG,
- BrooklynTaskTags.tagForEffectorCall(entity, effector.getName(), parameters),
- BrooklynTaskTags.tagForTargetEntity(entity)))
+ .put("tags", tags)
.build();
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/511a3e16/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
index f57c6d3..b8e429b 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/lifecycle/MachineLifecycleEffectorTasks.java
@@ -57,6 +57,7 @@ import org.apache.brooklyn.core.location.Locations;
import org.apache.brooklyn.core.location.Machines;
import org.apache.brooklyn.core.location.cloud.CloudLocationConfig;
import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
+import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
import org.apache.brooklyn.entity.machine.MachineInitTasks;
import org.apache.brooklyn.entity.machine.ProvidesProvisioningFlags;
import org.apache.brooklyn.entity.software.base.SoftwareProcess;
@@ -65,6 +66,7 @@ import org.apache.brooklyn.entity.software.base.SoftwareProcess.StopSoftwarePara
import org.apache.brooklyn.entity.software.base.SoftwareProcess.RestartSoftwareParameters.RestartMachineMode;
import org.apache.brooklyn.entity.software.base.SoftwareProcess.StopSoftwareParameters.StopMode;
import org.apache.brooklyn.entity.stock.EffectorStartableImpl.StartParameters;
+import org.apache.brooklyn.util.collections.MutableSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -618,7 +620,16 @@ public abstract class MachineLifecycleEffectorTasks {
if (isRestartMachine==RestartMachineMode.FALSE) {
DynamicTasks.queue("stopping (process)", new StopProcessesAtMachineTask());
} else {
- DynamicTasks.queue("stopping (machine)", new StopMachineTask());
+ Map<String, Object> stopMachineFlags = MutableMap.of();
+ if (Entitlements.getEntitlementContext() != null) {
+ stopMachineFlags.put("tags", MutableSet.of(BrooklynTaskTags.tagForEntitlement(Entitlements.getEntitlementContext())));
+ }
+ Task<String> stopTask = Tasks.<String>builder()
+ .displayName("stopping (machine)")
+ .body(new StopMachineTask())
+ .flags(stopMachineFlags)
+ .build();
+ DynamicTasks.queue(stopTask);
}
DynamicTasks.queue("starting", new StartInLocationsTask());
@@ -706,7 +717,15 @@ public abstract class MachineLifecycleEffectorTasks {
Task<StopMachineDetails<Integer>> stoppingMachine = null;
if (canStop(stopMachineMode, machine.isAbsent())) {
// Release this machine (even if error trying to stop process - we rethrow that after)
- stoppingMachine = DynamicTasks.queue("stopping (machine)", stopTask);
+ Map<String, Object> stopMachineFlags = MutableMap.of();
+ if (Entitlements.getEntitlementContext() != null) {
+ stopMachineFlags.put("tags", MutableSet.of(BrooklynTaskTags.tagForEntitlement(Entitlements.getEntitlementContext())));
+ }
+ Task<StopMachineDetails<Integer>> stopMachineTask = Tasks.<StopMachineDetails<Integer>>builder()
+ .displayName("stopping (machine)")
+ .body(stopTask).flags(stopMachineFlags)
+ .build();
+ stoppingMachine = DynamicTasks.queue(stopMachineTask);
DynamicTasks.drain(entity().getConfig(STOP_PROCESS_TIMEOUT), false);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/511a3e16/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
index c1f6334..1c16e2a 100644
--- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
+++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/BrooklynRestResourceUtils.java
@@ -22,6 +22,7 @@ import static org.apache.brooklyn.rest.util.WebResourceUtils.notFound;
import static com.google.common.collect.Iterables.transform;
import groovy.lang.GroovyClassLoader;
+import java.io.Serializable;
import java.lang.reflect.Constructor;
import java.net.URI;
import java.util.ArrayList;
@@ -35,6 +36,8 @@ import java.util.concurrent.Future;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
+import org.apache.brooklyn.util.collections.MutableSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.brooklyn.api.catalog.BrooklynCatalog;
@@ -444,9 +447,13 @@ public class BrooklynRestResourceUtils {
if (mgmt.getEntitlementManager().isEntitled(Entitlements.getEntitlementContext(),
Entitlements.INVOKE_EFFECTOR, Entitlements.EntityAndItem.of(entity,
StringAndArgument.of("expunge", MutableMap.of("release", release))))) {
+ Map<String, Object> flags = MutableMap.<String, Object>of("displayName", "expunging " + entity, "description", "REST call to expunge entity "
+ + entity.getDisplayName() + " (" + entity + ")");
+ if (Entitlements.getEntitlementContext() != null) {
+ flags.put("tags", MutableSet.of(BrooklynTaskTags.tagForEntitlement(Entitlements.getEntitlementContext())));
+ }
return mgmt.getExecutionManager().submit(
- MutableMap.of("displayName", "expunging " + entity, "description", "REST call to expunge entity "
- + entity.getDisplayName() + " (" + entity + ")"), new Runnable() {
+ flags, new Runnable() {
@Override
public void run() {
if (release)
[2/2] incubator-brooklyn git commit: This closes #920
Posted by al...@apache.org.
This closes #920
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/d3cefa38
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/d3cefa38
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/d3cefa38
Branch: refs/heads/master
Commit: d3cefa3814245cdb011176fc1a72b321a929d337
Parents: f34f043 511a3e1
Author: Aled Sage <al...@gmail.com>
Authored: Thu Sep 24 10:54:11 2015 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Sep 24 10:54:11 2015 +0100
----------------------------------------------------------------------
.../core/mgmt/internal/EffectorUtils.java | 13 +++++++----
.../MachineLifecycleEffectorTasks.java | 23 ++++++++++++++++++--
.../rest/util/BrooklynRestResourceUtils.java | 11 ++++++++--
3 files changed, 39 insertions(+), 8 deletions(-)
----------------------------------------------------------------------