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(-)
----------------------------------------------------------------------