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);
}
}