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 <[email protected]>
Authored: Wed Apr 1 13:48:40 2015 +0300
Committer: Valentin Aitken <[email protected]>
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

Reply via email to