modules/plugins/rhq-storage/src/main/java/org/rhq/plugins/storage/StorageNodeComponent.java
| 29 ++++++----
modules/plugins/rhq-storage/src/main/resources/META-INF/rhq-plugin.xml
| 7 ++
2 files changed, 25 insertions(+), 11 deletions(-)
New commits:
commit bdf0702de70e18e20b3a27c047aee81a39c90ffa
Author: John Sanda <jsanda(a)redhat.com>
Date: Sun Jun 2 10:16:10 2013 -0400
fix typo in ks name and add initial support for params in addNodeMaintenance
The parameter list includes a flag for running repair. We also want to run
cleanup after a new node joins the cluster, but we only need to run repair
when we also change the replication_factor.
diff --git
a/modules/plugins/rhq-storage/src/main/java/org/rhq/plugins/storage/StorageNodeComponent.java
b/modules/plugins/rhq-storage/src/main/java/org/rhq/plugins/storage/StorageNodeComponent.java
index 9672a37..2accf4a 100644
---
a/modules/plugins/rhq-storage/src/main/java/org/rhq/plugins/storage/StorageNodeComponent.java
+++
b/modules/plugins/rhq-storage/src/main/java/org/rhq/plugins/storage/StorageNodeComponent.java
@@ -46,20 +46,22 @@ public class StorageNodeComponent extends CassandraNodeComponent
implements Oper
private Log log = LogFactory.getLog(StorageNodeComponent.class);
- private static final String SYSTEM_AUTH_KEYSPACE = " system_auth";
+ private static final String SYSTEM_AUTH_KEYSPACE = "system_auth";
private static final String RHQ_KEYSPACE = "rhq";
@Override
public OperationResult invokeOperation(String name, Configuration parameters) throws
Exception {
if (name.equals("addNodeMaintenance")) {
- return nodeAdded();
+ return nodeAdded(parameters);
} else {
return super.invokeOperation(name, parameters);
}
}
- private OperationResult nodeAdded() {
+ private OperationResult nodeAdded(Configuration params) {
+ boolean runRepair = params.getSimple("runRepair").getBooleanValue();
+
EmsConnection emsConnection = getEmsConnection();
KeyspaceService keyspaceService = new KeyspaceService(emsConnection);
boolean hasErrors = false;
@@ -67,11 +69,14 @@ public class StorageNodeComponent extends CassandraNodeComponent
implements Oper
Configuration resultConfig = result.getComplexResults();
PropertyList resultsList = new PropertyList("results");
- OpResult opResult = repairKeyspace(keyspaceService, SYSTEM_AUTH_KEYSPACE);
- if (!opResult.succeeded) {
- hasErrors = true;
+ OpResult opResult = null;
+ if (runRepair) {
+ opResult = repairKeyspace(keyspaceService, SYSTEM_AUTH_KEYSPACE);
+ if (!opResult.succeeded) {
+ hasErrors = true;
+ }
+ resultsList.add(toPropertyMap(opResult));
}
- resultsList.add(toPropertyMap(opResult));
opResult = cleanupKeyspace(keyspaceService, SYSTEM_AUTH_KEYSPACE);
if (!opResult.succeeded) {
@@ -79,11 +84,13 @@ public class StorageNodeComponent extends CassandraNodeComponent
implements Oper
}
resultsList.add(toPropertyMap(opResult));
- opResult = repairKeyspace(keyspaceService, RHQ_KEYSPACE);
- if (!opResult.succeeded) {
- hasErrors = true;
+ if (runRepair) {
+ opResult = repairKeyspace(keyspaceService, RHQ_KEYSPACE);
+ if (!opResult.succeeded) {
+ hasErrors = true;
+ }
+ resultsList.add(toPropertyMap(opResult));
}
- resultsList.add(toPropertyMap(opResult));
opResult = cleanupKeyspace(keyspaceService, RHQ_KEYSPACE);
if (!opResult.succeeded) {
diff --git a/modules/plugins/rhq-storage/src/main/resources/META-INF/rhq-plugin.xml
b/modules/plugins/rhq-storage/src/main/resources/META-INF/rhq-plugin.xml
index 11c56c6..21b4c6d 100644
--- a/modules/plugins/rhq-storage/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/rhq-storage/src/main/resources/META-INF/rhq-plugin.xml
@@ -63,6 +63,13 @@
</operation>
<operation name="addNodeMaintenance">
+ <parameters>
+ <c:simple-property name="runRepair" type="boolean"
default="true"/>
+ <c:simple-property name="updateSeedsList" type="boolean"
default="true"/>
+ <c:list-property name="seedsList">
+ <c:simple-property name="seed" type="string"/>
+ </c:list-property>
+ </parameters>
<results>
<c:list-property name="results">
<c:map-property name="resultsMap">
Show replies by date