You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2015/04/08 11:16:29 UTC

[1/6] incubator-brooklyn git commit: Riak - Create Bucket type effector

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 1f1491740 -> cf4276396


Riak - Create Bucket type effector


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6c1b5176
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6c1b5176
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6c1b5176

Branch: refs/heads/master
Commit: 6c1b51761622152a83fdc337580877d2448ac2db
Parents: 9a1c59a
Author: Valentin Aitken <bo...@gmail.com>
Authored: Wed Apr 1 13:48:40 2015 +0300
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Thu Apr 2 00:18:34 2015 +0300

----------------------------------------------------------------------
 .../java/brooklyn/entity/nosql/riak/RiakNode.java   | 13 ++++++++-----
 .../brooklyn/entity/nosql/riak/RiakNodeDriver.java  | 16 +++++++++-------
 .../brooklyn/entity/nosql/riak/RiakNodeImpl.java    |  5 +++++
 .../entity/nosql/riak/RiakNodeSshDriver.java        | 15 ++++++++++++++-
 4 files changed, 36 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6c1b5176/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
index 7fe93fb..30391fb 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
@@ -183,18 +183,21 @@ public interface RiakNode extends SoftwareProcess {
     String getOsMajorVersion();
 
     @Effector(description = "Join the Riak cluster on the given node")
-    public void joinCluster(@EffectorParam(name = "nodeName") String nodeName);
+    void joinCluster(@EffectorParam(name = "nodeName") String nodeName);
 
     @Effector(description = "Leave the Riak cluster")
-    public void leaveCluster();
+    void leaveCluster();
 
     @Effector(description = "Remove the given node from the Riak cluster")
-    public void removeNode(@EffectorParam(name = "nodeName") String nodeName);
+    void removeNode(@EffectorParam(name = "nodeName") String nodeName);
 
     @Effector(description = "Recover and join the Riak cluster on the given node")
-    public void recoverFailedNode(@EffectorParam(name = "nodeName") String nodeName);
+    void recoverFailedNode(@EffectorParam(name = "nodeName") String nodeName);
 
     @Effector(description = "Commit changes made to the Riak cluster")
-    public void commitCluster();
+    void commitCluster();
 
+    @Effector(description = "Apply bucket type")
+    void applyBucketType(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
+                         @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6c1b5176/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
index 7da618a..a6c4805 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
@@ -22,17 +22,19 @@ import brooklyn.entity.basic.SoftwareProcessDriver;
 
 public interface RiakNodeDriver extends SoftwareProcessDriver {
 
-    public String getRiakEtcDir();
+    String getRiakEtcDir();
 
-    public void joinCluster(String nodeName);
+    void joinCluster(String nodeName);
 
-    public void leaveCluster();
+    void leaveCluster();
 
-    public void removeNode(String nodeName);
+    void removeNode(String nodeName);
 
-    public void recoverFailedNode(String nodeName);
+    void recoverFailedNode(String nodeName);
 
-    public void commitCluster();
+    void commitCluster();
 
-    public String getOsMajorVersion();
+    String getOsMajorVersion();
+
+    void applyBucketType(String bucketTypeName, String bucketTypeProperties);
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6c1b5176/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
index 57def1a..7bb803c 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
@@ -208,6 +208,11 @@ public class RiakNodeImpl extends SoftwareProcessImpl implements RiakNode {
     }
 
     @Override
+    public void applyBucketType(String bucketTypeName, String bucketTypeProperties) {
+        getDriver().applyBucketType(bucketTypeName, bucketTypeProperties);
+    }
+
+    @Override
     public void recoverFailedNode(String nodeName) {
         getDriver().recoverFailedNode(nodeName);
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6c1b5176/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index 7a4d952..1056198 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -28,6 +28,7 @@ import static brooklyn.util.ssh.BashCommands.ifExecutableElse;
 import static brooklyn.util.ssh.BashCommands.ifNotExecutable;
 import static brooklyn.util.ssh.BashCommands.ok;
 import static brooklyn.util.ssh.BashCommands.sudo;
+import static brooklyn.util.text.StringEscapes.BashStringEscapes.escapeLiteralForDoubleQuotedBash;
 import static java.lang.String.format;
 
 import java.net.URI;
@@ -54,10 +55,10 @@ import brooklyn.util.text.Strings;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
-
 // TODO: Alter -env ERL_CRASH_DUMP path in vm.args
 public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implements RiakNodeDriver {
 
@@ -474,6 +475,18 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
     }
 
     @Override
+    public void applyBucketType(String bucketTypeName, String bucketTypeProperties) {
+        newScript("bucket-type create " + bucketTypeName)
+                .body.append(sudo(format(
+                    "%s bucket-type create %s %s",
+                    getRiakAdminCmd(),
+                    bucketTypeName,
+                    escapeLiteralForDoubleQuotedBash(bucketTypeProperties))))
+                .failOnNonZeroResultCode()
+                .execute();
+    }
+
+    @Override
     public void recoverFailedNode(String nodeName) {
         //TODO find ways to detect a faulty/failed node
         //argument passed 'node' is any working node in the riak cluster


[6/6] incubator-brooklyn git commit: This closes #581

Posted by he...@apache.org.
This closes #581


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/cf427639
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/cf427639
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/cf427639

Branch: refs/heads/master
Commit: cf42763965751dd3c40917aaa0c3b2642f46ff78
Parents: 1f14917 50ea991
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Apr 8 10:16:13 2015 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Apr 8 10:16:13 2015 +0100

----------------------------------------------------------------------
 .../entity/nosql/riak/RiakClusterImpl.java      |   5 -
 .../brooklyn/entity/nosql/riak/RiakNode.java    |  29 +++--
 .../entity/nosql/riak/RiakNodeDriver.java       |  24 ++--
 .../entity/nosql/riak/RiakNodeImpl.java         |  24 +++-
 .../entity/nosql/riak/RiakNodeSshDriver.java    | 122 +++++++++++++------
 5 files changed, 145 insertions(+), 59 deletions(-)
----------------------------------------------------------------------



[5/6] incubator-brooklyn git commit: Riak - remove unnecessary commit cluster plan effector

Posted by he...@apache.org.
Riak - remove unnecessary commit cluster plan effector


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/50ea9910
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/50ea9910
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/50ea9910

Branch: refs/heads/master
Commit: 50ea99104c7e8de397ca5bdbe48f43a586ce1c05
Parents: 63bac13
Author: Valentin Aitken <va...@cloudsoftcorp.com>
Authored: Tue Apr 7 15:39:33 2015 +0300
Committer: Valentin Aitken <va...@cloudsoftcorp.com>
Committed: Wed Apr 8 02:11:15 2015 +0300

----------------------------------------------------------------------
 .../entity/nosql/riak/RiakClusterImpl.java      |  5 -----
 .../brooklyn/entity/nosql/riak/RiakNode.java    |  7 +++----
 .../entity/nosql/riak/RiakNodeDriver.java       |  2 --
 .../entity/nosql/riak/RiakNodeImpl.java         |  5 -----
 .../entity/nosql/riak/RiakNodeSshDriver.java    | 20 --------------------
 5 files changed, 3 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50ea9910/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
index 386815d..becaee7 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
@@ -83,8 +83,6 @@ public class RiakClusterImpl extends DynamicClusterImpl implements RiakCluster {
                 EntityPredicates.attributeEqualTo(RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER, true),
                 EntityPredicates.attributeEqualTo(RiakNode.SERVICE_UP, true)));
         if (anyNode.isPresent()) {
-            log.info("Planning and Committing cluster changes on node: {}, cluster: {}", anyNode.get().getId(), getId());
-            Entities.invokeEffector(this, anyNode.get(), RiakNode.COMMIT_RIAK_CLUSTER).blockUntilEnded();
             setAttribute(IS_CLUSTER_INIT, true);
         } else {
             log.warn("No Riak Nodes are found on the cluster: {}. Initialization Failed", getId());
@@ -152,9 +150,6 @@ public class RiakClusterImpl extends DynamicClusterImpl implements RiakCluster {
                         if (!nodes.containsKey(member) && member.getAttribute(RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER) == null) {
                             String anyNodeName = anyNodeInCluster.get().getAttribute(RiakNode.RIAK_NODE_NAME);
                             Entities.invokeEffectorWithArgs(this, member, RiakNode.JOIN_RIAK_CLUSTER, anyNodeName).blockUntilEnded();
-                            if (getAttribute(IS_CLUSTER_INIT)) {
-                                Entities.invokeEffector(this, member, RiakNode.COMMIT_RIAK_CLUSTER).blockUntilEnded();
-                            }
                             nodes.put(member, riakName);
                             setAttribute(RIAK_CLUSTER_NODES, nodes);
                             log.info("Added Riak node {}: {}; {} to cluster", new Object[] { this, member, getRiakName(member) });

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50ea9910/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
index dd984b8..4625a8d 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
@@ -143,7 +143,6 @@ public interface RiakNode extends SoftwareProcess {
     MethodEffector<Void> JOIN_RIAK_CLUSTER = new MethodEffector<Void>(RiakNode.class, "joinCluster");
     MethodEffector<Void> LEAVE_RIAK_CLUSTER = new MethodEffector<Void>(RiakNode.class, "leaveCluster");
     MethodEffector<Void> REMOVE_FROM_CLUSTER = new MethodEffector<Void>(RiakNode.class, "removeNode");
-    MethodEffector<Void> COMMIT_RIAK_CLUSTER = new MethodEffector<Void>(RiakNode.class, "commitCluster");
 
     AttributeSensor<Integer> RIAK_NODE_GET_FSM_TIME_MEAN = Sensors.newIntegerSensor("riak.node_get_fsm_time_mean", "Time between reception of client read request and subsequent response to client");
     AttributeSensor<Integer> RIAK_NODE_PUT_FSM_TIME_MEAN = Sensors.newIntegerSensor("riak.node_put_fsm_time_mean", "Time between reception of client write request and subsequent response to client");
@@ -182,6 +181,9 @@ public interface RiakNode extends SoftwareProcess {
 
     String getOsMajorVersion();
 
+    // TODO add commitCluster() effector and add effectors joinCluster, leaveCluster, removeNode, recoverFailedNode which do not execute commitCluster()
+    // the commit where the commitCluster effector was available is adbf2dc1cb5df98b1e52d3ab35fa6bb4983b722f
+
     @Effector(description = "Join the Riak cluster on the given node")
     void joinCluster(@EffectorParam(name = "nodeName") String nodeName);
 
@@ -194,9 +196,6 @@ public interface RiakNode extends SoftwareProcess {
     @Effector(description = "Recover and join the Riak cluster on the given node")
     void recoverFailedNode(@EffectorParam(name = "nodeName") String nodeName);
 
-    @Effector(description = "Commit changes made to the Riak cluster")
-    void commitCluster();
-
     @Effector(description = "Create or modify a bucket type before activation")
     void bucketTypeCreate(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
                           @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50ea9910/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
index 13ce842..5fca3cc 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
@@ -34,8 +34,6 @@ public interface RiakNodeDriver extends SoftwareProcessDriver {
 
     void recoverFailedNode(String nodeName);
 
-    void commitCluster();
-
     String getOsMajorVersion();
 
     void bucketTypeCreate(String bucketTypeName, String bucketTypeProperties);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50ea9910/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
index e001989..25484d2 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
@@ -203,11 +203,6 @@ public class RiakNodeImpl extends SoftwareProcessImpl implements RiakNode {
     }
 
     @Override
-    public void commitCluster() {
-        getDriver().commitCluster();
-    }
-
-    @Override
     public void bucketTypeCreate(String bucketTypeName, String bucketTypeProperties) {
         getDriver().bucketTypeCreate(bucketTypeName, bucketTypeProperties);
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50ea9910/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index 6d67827..632d4d5 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -445,24 +445,6 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
     }
 
     @Override
-    public void commitCluster() {
-        if (hasJoinedCluster()) {
-            ScriptHelper commitClusterScript = newScript("commitCluster")
-                    .body.append(sudo(format("%s cluster plan", getRiakAdminCmd())))
-                    .body.append(sudo(format("%s cluster commit", getRiakAdminCmd())))
-                    .failOnNonZeroResultCode();
-
-            if (!isRiakOnPath()) {
-                addRiakOnPath(commitClusterScript);
-            }
-            commitClusterScript.execute();
-
-        } else {
-            log.warn("entity {}: is not in the riak cluster", entity.getId());
-        }
-    }
-
-    @Override
     public void bucketTypeCreate(String bucketTypeName, String bucketTypeProperties) {
         ScriptHelper bucketTypeCreateScript = newScript("bucket-type_create " + bucketTypeName)
                 .body.append(sudo(format("%s bucket-type create %s %s",
@@ -515,7 +497,6 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                         getRiakAdminCmd(),
                         bucketTypeName,
                         escapeLiteralForDoubleQuotedBash(bucketTypeProperties))))
-                .noExtraOutput()
                 .failOnNonZeroResultCode();
         if (!isRiakOnPath()) {
             addRiakOnPath(bucketTypeStatusScript);
@@ -527,7 +508,6 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
     public void bucketTypeActivate(String bucketTypeName) {
         ScriptHelper bucketTypeStatusScript = newScript("bucket-type_activate")
                 .body.append(sudo(format("%s bucket-type activate %s", getRiakAdminCmd(), bucketTypeName)))
-                .noExtraOutput()
                 .failOnNonZeroResultCode();
         if (!isRiakOnPath()) {
             addRiakOnPath(bucketTypeStatusScript);


[2/6] incubator-brooklyn git commit: Riak - Support all bucket type actions

Posted by he...@apache.org.
Riak - Support all bucket type actions


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/02efc293
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/02efc293
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/02efc293

Branch: refs/heads/master
Commit: 02efc293b7641b79cc5928c06b75080361835c03
Parents: 6c1b517
Author: Valentin Aitken <bo...@gmail.com>
Authored: Thu Apr 2 16:52:44 2015 +0300
Committer: Valentin Aitken <bo...@gmail.com>
Committed: Thu Apr 2 16:55:09 2015 +0300

----------------------------------------------------------------------
 .../brooklyn/entity/nosql/riak/RiakNode.java    |  19 ++-
 .../entity/nosql/riak/RiakNodeDriver.java       |  12 +-
 .../entity/nosql/riak/RiakNodeImpl.java         |  24 +++-
 .../entity/nosql/riak/RiakNodeSshDriver.java    | 123 +++++++++++++------
 4 files changed, 136 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/02efc293/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
index 30391fb..ea12f8b 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
@@ -197,7 +197,20 @@ public interface RiakNode extends SoftwareProcess {
     @Effector(description = "Commit changes made to the Riak cluster")
     void commitCluster();
 
-    @Effector(description = "Apply bucket type")
-    void applyBucketType(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
-                         @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);
+    @Effector(description = "Create bucket type")
+    void bucketTypeCreate(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
+                          @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);
+
+    @Effector(description = "List bucket types")
+    List<String> bucketTypeList();
+
+    @Effector(description = "Status bucket type")
+    List<String> bucketTypeStatus(@EffectorParam(name = "bucketTypeName") String bucketTypeName);
+
+    @Effector(description = "Update bucket type")
+    void bucketTypeUpdate(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
+                          @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);
+
+    @Effector(description = "Activate bucket type")
+    void bucketTypeActivate(@EffectorParam(name = "bucketTypeName") String bucketTypeName);
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/02efc293/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
index a6c4805..13ce842 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeDriver.java
@@ -20,6 +20,8 @@ package brooklyn.entity.nosql.riak;
 
 import brooklyn.entity.basic.SoftwareProcessDriver;
 
+import java.util.List;
+
 public interface RiakNodeDriver extends SoftwareProcessDriver {
 
     String getRiakEtcDir();
@@ -36,5 +38,13 @@ public interface RiakNodeDriver extends SoftwareProcessDriver {
 
     String getOsMajorVersion();
 
-    void applyBucketType(String bucketTypeName, String bucketTypeProperties);
+    void bucketTypeCreate(String bucketTypeName, String bucketTypeProperties);
+
+    List<String> bucketTypeList();
+
+    List<String> bucketTypeStatus(String bucketTypeName);
+
+    void bucketTypeUpdate(String bucketTypeName, String bucketTypeProperties);
+
+    void bucketTypeActivate(String bucketTypeName);
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/02efc293/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
index 7bb803c..e001989 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
@@ -208,8 +208,28 @@ public class RiakNodeImpl extends SoftwareProcessImpl implements RiakNode {
     }
 
     @Override
-    public void applyBucketType(String bucketTypeName, String bucketTypeProperties) {
-        getDriver().applyBucketType(bucketTypeName, bucketTypeProperties);
+    public void bucketTypeCreate(String bucketTypeName, String bucketTypeProperties) {
+        getDriver().bucketTypeCreate(bucketTypeName, bucketTypeProperties);
+    }
+
+    @Override
+    public List<String> bucketTypeList() {
+        return getDriver().bucketTypeList();
+    }
+
+    @Override
+    public List<String> bucketTypeStatus(String bucketTypeName) {
+        return getDriver().bucketTypeStatus(bucketTypeName);
+    }
+
+    @Override
+    public void bucketTypeUpdate(String bucketTypeName, String bucketTypeProperties) {
+        getDriver().bucketTypeUpdate(bucketTypeName, bucketTypeProperties);
+    }
+
+    @Override
+    public void bucketTypeActivate(String bucketTypeName) {
+        getDriver().bucketTypeActivate(bucketTypeName);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/02efc293/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index 1056198..da336db 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -32,6 +32,7 @@ import static brooklyn.util.text.StringEscapes.BashStringEscapes.escapeLiteralFo
 import static java.lang.String.format;
 
 import java.net.URI;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -59,6 +60,7 @@ import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
+
 // TODO: Alter -env ERL_CRASH_DUMP path in vm.args
 public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implements RiakNodeDriver {
 
@@ -271,9 +273,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                 .body.append(commands);
 
         if (!isRiakOnPath()) {
-            Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-            log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-            customizeScript.environmentVariablesReset(newPathVariable);
+            addRiakOnPath(customizeScript);
         }
         customizeScript.failOnNonZeroResultCode().execute();
 
@@ -320,9 +320,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                 .body.append(commands);
 
         if (!isRiakOnPath()) {
-            Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-            log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-            launchScript.environmentVariablesReset(newPathVariable);
+            addRiakOnPath(launchScript);
         }
         launchScript.failOnNonZeroResultCode().execute();
 
@@ -341,9 +339,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                 .body.append(command);
 
         if (!isRiakOnPath()) {
-            Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-            log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-            stopScript.environmentVariablesReset(newPathVariable);
+            addRiakOnPath(stopScript);
         }
 
         int result = stopScript.failOnNonZeroResultCode().execute();
@@ -359,9 +355,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                 .body.append(sudo(format("%s ping", getRiakCmd())));
 
         if (!isRiakOnPath()) {
-            Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-            log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-            checkRunningScript.environmentVariablesReset(newPathVariable);
+            addRiakOnPath(checkRunningScript);
         }
         return (checkRunningScript.execute() == 0);
     }
@@ -399,9 +393,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                         .failOnNonZeroResultCode();
 
                 if (!isRiakOnPath()) {
-                    Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-                    log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-                    joinClusterScript.environmentVariablesReset(newPathVariable);
+                    addRiakOnPath(joinClusterScript);
                 }
 
                 joinClusterScript.execute();
@@ -423,9 +415,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                     .failOnNonZeroResultCode();
 
             if (!isRiakOnPath()) {
-                Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-                log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-                leaveClusterScript.environmentVariablesReset(newPathVariable);
+                addRiakOnPath(leaveClusterScript);
             }
 
             leaveClusterScript.execute();
@@ -446,9 +436,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                 .failOnNonZeroResultCode();
 
         if (!isRiakOnPath()) {
-            Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-            log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-            removeNodeScript.environmentVariablesReset(newPathVariable);
+            addRiakOnPath(removeNodeScript);
         }
 
         removeNodeScript.execute();
@@ -463,9 +451,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                     .failOnNonZeroResultCode();
 
             if (!isRiakOnPath()) {
-                Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-                log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-                commitClusterScript.environmentVariablesReset(newPathVariable);
+                addRiakOnPath(commitClusterScript);
             }
             commitClusterScript.execute();
 
@@ -475,15 +461,76 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
     }
 
     @Override
-    public void applyBucketType(String bucketTypeName, String bucketTypeProperties) {
-        newScript("bucket-type create " + bucketTypeName)
-                .body.append(sudo(format(
-                    "%s bucket-type create %s %s",
-                    getRiakAdminCmd(),
-                    bucketTypeName,
-                    escapeLiteralForDoubleQuotedBash(bucketTypeProperties))))
-                .failOnNonZeroResultCode()
-                .execute();
+    public void bucketTypeCreate(String bucketTypeName, String bucketTypeProperties) {
+        ScriptHelper bucketTypeCreateScript = newScript("bucket-type_create " + bucketTypeName)
+                .body.append(sudo(format("%s bucket-type create %s %s",
+                        getRiakAdminCmd(),
+                        bucketTypeName,
+                        escapeLiteralForDoubleQuotedBash(bucketTypeProperties))));
+        if(!isRiakOnPath()) {
+            addRiakOnPath(bucketTypeCreateScript);
+        }
+        bucketTypeCreateScript.body.append(sudo(format("%s bucket-type activate %s", getRiakAdminCmd(), bucketTypeName)))
+                .failOnNonZeroResultCode();
+
+        bucketTypeCreateScript.execute();
+    }
+
+    @Override
+    public List<String> bucketTypeList() {
+        ScriptHelper bucketTypeListScript = newScript("bucket-types_list")
+                .body.append(sudo(format("%s bucket-type list", getRiakAdminCmd())))
+                .gatherOutput()
+                .noExtraOutput()
+                .failOnNonZeroResultCode();
+        if (!isRiakOnPath()) {
+            addRiakOnPath(bucketTypeListScript);
+        }
+        bucketTypeListScript.execute();
+        String stdout = bucketTypeListScript.getResultStdout();
+        return Arrays.asList(stdout.split("[\\r\\n]+"));
+    }
+
+    @Override
+    public List<String> bucketTypeStatus(String bucketTypeName) {
+        ScriptHelper bucketTypeStatusScript = newScript("bucket-type_status")
+                .body.append(sudo(format("%s bucket-type status %s", getRiakAdminCmd(), bucketTypeName)))
+                .gatherOutput()
+                .noExtraOutput()
+                .failOnNonZeroResultCode();
+        if (!isRiakOnPath()) {
+            addRiakOnPath(bucketTypeStatusScript);
+        }
+        bucketTypeStatusScript.execute();
+        String stdout = bucketTypeStatusScript.getResultStdout();
+        return Arrays.asList(stdout.split("[\\r\\n]+"));
+    }
+
+    @Override
+    public void bucketTypeUpdate(String bucketTypeName, String bucketTypeProperties) {
+        ScriptHelper bucketTypeStatusScript = newScript("bucket-type_update")
+                .body.append(sudo(format("%s bucket-type update %s %s",
+                        getRiakAdminCmd(),
+                        bucketTypeName,
+                        escapeLiteralForDoubleQuotedBash(bucketTypeProperties))))
+                .noExtraOutput()
+                .failOnNonZeroResultCode();
+        if (!isRiakOnPath()) {
+            addRiakOnPath(bucketTypeStatusScript);
+        }
+        bucketTypeStatusScript.execute();
+    }
+
+    @Override
+    public void bucketTypeActivate(String bucketTypeName) {
+        ScriptHelper bucketTypeStatusScript = newScript("bucket-type_activate")
+                .body.append(sudo(format("%s bucket-type activate %s", getRiakAdminCmd(), bucketTypeName)))
+                .noExtraOutput()
+                .failOnNonZeroResultCode();
+        if (!isRiakOnPath()) {
+            addRiakOnPath(bucketTypeStatusScript);
+        }
+        bucketTypeStatusScript.execute();
     }
 
     @Override
@@ -513,9 +560,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
                     .failOnNonZeroResultCode();
 
             if (!isRiakOnPath()) {
-                Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-                log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
-                recoverNodeScript.environmentVariablesReset(newPathVariable);
+                addRiakOnPath(recoverNodeScript);
             }
 
             recoverNodeScript.execute();
@@ -555,4 +600,10 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
         String osVersion = osDetails.getVersion();
         return osVersion.contains(".") ? osVersion.substring(0, osVersion.indexOf(".")) : osVersion;
     }
+
+    private void addRiakOnPath(ScriptHelper scriptHelper) {
+        Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
+        log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
+        scriptHelper.environmentVariablesReset(newPathVariable);
+    }
 }


[4/6] incubator-brooklyn git commit: Riak - update bucket type effectors' description

Posted by he...@apache.org.
Riak - update bucket type effectors' description


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/63bac13b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/63bac13b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/63bac13b

Branch: refs/heads/master
Commit: 63bac13bd11617799fe4f09e61f0bb29b6c60dff
Parents: adbf2dc
Author: Valentin Aitken <va...@cloudsoftcorp.com>
Authored: Tue Apr 7 16:36:55 2015 +0300
Committer: Valentin Aitken <va...@cloudsoftcorp.com>
Committed: Wed Apr 8 01:11:47 2015 +0300

----------------------------------------------------------------------
 .../main/java/brooklyn/entity/nosql/riak/RiakNode.java    | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/63bac13b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
index ea12f8b..dd984b8 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
@@ -197,20 +197,20 @@ public interface RiakNode extends SoftwareProcess {
     @Effector(description = "Commit changes made to the Riak cluster")
     void commitCluster();
 
-    @Effector(description = "Create bucket type")
+    @Effector(description = "Create or modify a bucket type before activation")
     void bucketTypeCreate(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
                           @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);
 
-    @Effector(description = "List bucket types")
+    @Effector(description = "List all currently available bucket types and their activation status")
     List<String> bucketTypeList();
 
-    @Effector(description = "Status bucket type")
+    @Effector(description = "Display the status and properties of a specific bucket type")
     List<String> bucketTypeStatus(@EffectorParam(name = "bucketTypeName") String bucketTypeName);
 
-    @Effector(description = "Update bucket type")
+    @Effector(description = "Update a bucket type after activation")
     void bucketTypeUpdate(@EffectorParam(name = "bucketTypeName") String bucketTypeName,
                           @EffectorParam(name = "bucketTypeProperties") String bucketTypeProperties);
 
-    @Effector(description = "Activate bucket type")
+    @Effector(description = "Activate a bucket type")
     void bucketTypeActivate(@EffectorParam(name = "bucketTypeName") String bucketTypeName);
 }


[3/6] incubator-brooklyn git commit: Riak - Cluster join

Posted by he...@apache.org.
Riak - Cluster join

- Add additional cluster plan and cluster commit commands


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/adbf2dc1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/adbf2dc1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/adbf2dc1

Branch: refs/heads/master
Commit: adbf2dc1cb5df98b1e52d3ab35fa6bb4983b722f
Parents: 02efc29
Author: Valentin Aitken <va...@cloudsoftcorp.com>
Authored: Fri Apr 3 23:56:50 2015 +0300
Committer: Valentin Aitken <va...@cloudsoftcorp.com>
Committed: Fri Apr 3 23:56:50 2015 +0300

----------------------------------------------------------------------
 .../main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/adbf2dc1/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
index da336db..6d67827 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java
@@ -390,6 +390,8 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
             if (!hasJoinedCluster()) {
                 ScriptHelper joinClusterScript = newScript("joinCluster")
                         .body.append(sudo(format("%s cluster join %s", getRiakAdminCmd(), nodeName)))
+                        .body.append(sudo(format("%s cluster plan", getRiakAdminCmd())))
+                        .body.append(sudo(format("%s cluster commit", getRiakAdminCmd())))
                         .failOnNonZeroResultCode();
 
                 if (!isRiakOnPath()) {
@@ -603,7 +605,7 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen
 
     private void addRiakOnPath(ScriptHelper scriptHelper) {
         Map<String, String> newPathVariable = ImmutableMap.of("PATH", sbinPath);
-        log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
+//        log.warn("riak command not found on PATH. Altering future commands' environment variables from {} to {}", getShellEnvironment(), newPathVariable);
         scriptHelper.environmentVariablesReset(newPathVariable);
     }
 }