modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/CassandraClusterManager.java
| 2
modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/DeployCluster.java
| 10 ++++
modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
| 5 +-
modules/common/cassandra-common/src/main/java/org/rhq/cassandra/DeploymentOptions.java
| 24 ++++++++++
modules/common/cassandra-common/src/main/resources/cassandra.properties
| 6 ++
modules/common/cassandra-common/src/main/resources/deploy.xml
| 13 +++++
modules/common/cassandra-common/src/main/resources/passwd.properties
| 2
modules/enterprise/server/server-metrics/src/test/java/org/rhq/server/metrics/MetricsDAOTest.java
| 3 -
8 files changed, 60 insertions(+), 5 deletions(-)
New commits:
commit b35943f028a8cc84db2d4d8f106588234734721a
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Dec 3 16:33:24 2012 -0500
parameterize cassandra username/password
diff --git
a/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/CassandraClusterManager.java
b/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/CassandraClusterManager.java
index 9f35d9c..02b7eba 100644
---
a/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/CassandraClusterManager.java
+++
b/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/CassandraClusterManager.java
@@ -86,6 +86,8 @@ public class CassandraClusterManager implements IInvokedMethodListener
{
DeploymentOptions deploymentOptions = new DeploymentOptions();
deploymentOptions.setClusterDir(clusterDir.getAbsolutePath());
deploymentOptions.setNumNodes(numNodes);
+ deploymentOptions.setUsername(annotation.username());
+ deploymentOptions.setPassword(annotation.password());
try {
deploymentOptions.load();
} catch (IOException e) {
diff --git
a/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/DeployCluster.java
b/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/DeployCluster.java
index 3b4bee4..78f3608 100644
---
a/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/DeployCluster.java
+++
b/modules/common/cassandra-common-itests/src/main/java/org/rhq/cassandra/DeployCluster.java
@@ -57,4 +57,14 @@ public @interface DeployCluster {
*/
boolean waitForSchemaAgreement() default true;
+ /**
+ * @return The username with which to authenticate against Cassandra
+ */
+ String username() default "rhqadmin";
+
+ /**
+ * @return The password with which to authenticate against Cassandra
+ */
+ String password() default "rhqadmin";
+
}
diff --git
a/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
b/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
index ee3b633..b5b5f32 100644
---
a/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
+++
b/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/BootstrapDeployer.java
@@ -88,6 +88,7 @@ public class BootstrapDeployer {
File bundleDir = null;
try {
+ deploymentOptions.load();
bundleZipeFile = unpackBundleZipFile();
bundleDir = unpackBundle(bundleZipeFile);
@@ -100,7 +101,7 @@ public class BootstrapDeployer {
Properties props = new Properties();
props.put("cluster.name", "rhq");
props.put("cluster.dir", clusterDir.getAbsolutePath());
- props.put("auto.bootstrap", "false");
+ props.put("auto.bootstrap", deploymentOptions.isAutoDeploy());
props.put("data.dir", "data");
props.put("commitlog.dir", "commit_log");
props.put("log.dir", "logs");
@@ -115,6 +116,8 @@ public class BootstrapDeployer {
props.put("listen.address", address);
props.put("rpc.address", address);
props.put("logging.level",
deploymentOptions.getLoggingLevel());
+ props.put("rhq.cassandra.username",
deploymentOptions.getUsername());
+ props.put("rhq.cassandra.password",
deploymentOptions.getPassword());
if (deploymentOptions.getRingDelay() != null) {
props.put("cassandra.ring.delay.property",
"-Dcassandra.ring_delay_ms=");
diff --git
a/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/DeploymentOptions.java
b/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/DeploymentOptions.java
index d15983e..ef1e29a 100644
---
a/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/DeploymentOptions.java
+++
b/modules/common/cassandra-common/src/main/java/org/rhq/cassandra/DeploymentOptions.java
@@ -51,6 +51,8 @@ public class DeploymentOptions {
private Integer numTokens;
private Integer nativeTransportPort;
private Integer nativeTransportMaxThreads;
+ private String username;
+ private String password;
public DeploymentOptions() {
}
@@ -98,6 +100,8 @@ public class DeploymentOptions {
setNativeTransportPort(Integer.valueOf(loadProperty("rhq.cassandra.native-transport-port",
properties)));
setNativeTransportMaxThreads(Integer.valueOf(loadProperty("rhq.casandra.native-transport-max-threads",
properties)));
+ setUsername(loadProperty("rhq.cassandra.username", properties));
+ setPassword(loadProperty("rhq.cassandra.password", properties));
}
private String loadProperty(String key, Properties properties) {
@@ -228,4 +232,24 @@ public class DeploymentOptions {
}
}
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ if (this.username == null) {
+ this.username = username;
+ }
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ if (this.password == null) {
+ this.password = password;
+ }
+ }
+
}
diff --git a/modules/common/cassandra-common/src/main/resources/cassandra.properties
b/modules/common/cassandra-common/src/main/resources/cassandra.properties
index a9201df..9b9f0b9 100644
--- a/modules/common/cassandra-common/src/main/resources/cassandra.properties
+++ b/modules/common/cassandra-common/src/main/resources/cassandra.properties
@@ -6,6 +6,12 @@ rhq.cassandra.bundle.filename=/cassandra-bundle.zip
rhq.cassandra.bundle.name=RHQ Cassandra Bundle
rhq.cassandra.bundle.version=1.0
+# The username with which to authenticate requests to Cassandra.
+rhq.cassandra.username=rhqadmin
+
+# The password with which to authenticate requests to Cassandra.
+rhq.cassandra.password=rhqadmin
+
# When a node initializes it contacts a seed and then sleeps for RING_DELAY
(milliseconds)
# to learn about other nodes in the cluster. This defaults to 30 seconds. Cassandra gets
# the value from the cassandra.ring_delay_ms system property
diff --git a/modules/common/cassandra-common/src/main/resources/deploy.xml
b/modules/common/cassandra-common/src/main/resources/deploy.xml
index 17d427a..7625fbe 100644
--- a/modules/common/cassandra-common/src/main/resources/deploy.xml
+++ b/modules/common/cassandra-common/src/main/resources/deploy.xml
@@ -144,6 +144,16 @@
defaultValue="../conf/access.properties"
type="file"/>
+ <rhq:input-property name="rhq.cassandra.username"
+ description="The username with which to authenticate
requests to Cassandra."
+ required="true"
+ type="string"/>
+
+ <rhq:input-property name="rhq.cassandra.password"
+ description="The password with which to authenticate
requests to Cassandra."
+ required="true"
+ type="string"/>
+
<rhq:deployment-unit name="cassandra"
preinstallTarget="pre-install" postinstallTarget="post-install">
<!--
<rhq:file name="dbsetup.script"
destinationFile="scripts/dbsetup.script" replace="true"/>
@@ -159,6 +169,9 @@
<rhq:fileset dir="conf">
<include name="log4j-server.properties"/>
</rhq:fileset>
+ <rhq:fileset dir="conf">
+ <include name="passwd.properties"/>
+ </rhq:fileset>
<!--
<rhq:fileset dir="scripts">
<include name="dbsetup.script"/>
diff --git a/modules/common/cassandra-common/src/main/resources/passwd.properties
b/modules/common/cassandra-common/src/main/resources/passwd.properties
index 708a1d0..f8b374c 100644
--- a/modules/common/cassandra-common/src/main/resources/passwd.properties
+++ b/modules/common/cassandra-common/src/main/resources/passwd.properties
@@ -20,4 +20,4 @@
# in mind when setting file mode and ownership).
#jsmith=havebadpass
-rhqadmin=rhqadmin
+@@rhq.cassandra.username@@=@@rhq.cassandra.password(a)@
diff --git
a/modules/enterprise/server/server-metrics/src/test/java/org/rhq/server/metrics/MetricsDAOTest.java
b/modules/enterprise/server/server-metrics/src/test/java/org/rhq/server/metrics/MetricsDAOTest.java
index 4899bd6..d5ed264 100644
---
a/modules/enterprise/server/server-metrics/src/test/java/org/rhq/server/metrics/MetricsDAOTest.java
+++
b/modules/enterprise/server/server-metrics/src/test/java/org/rhq/server/metrics/MetricsDAOTest.java
@@ -62,9 +62,6 @@ public class MetricsDAOTest extends CassandraIntegrationTest {
@BeforeClass
public void initDAO() throws Exception {
-// Cluster cluster = Cluster.builder().addContactPoints("127.0.0.1",
"127.0.0.2").build();
-// session = cluster.connect("rhq");
-//
dao = new MetricsDAO(session);
}