New branch 'feature/cassandra-backend' available with the following commits: commit 08da6469c862c0383b64c92a0c721b43cc1bc73c Author: John Sanda jsanda@redhat.com Date: Sun Sep 30 20:10:42 2012 -0400
Changing deployment property cluster.type property to is-embedded
After having thought more about the differnet deployment scenarios, I think we will have either embedded or non-embeeded clusters. A boolean makes more sense in this case.
commit c11fa5436e6a2d1578e5c39bb355699d112f52fd Author: John Sanda jsanda@redhat.com Date: Sat Sep 29 12:56:54 2012 -0400
Need to parameterize the listen_address and rpc_address properties in bundle recipe
When I first set up this module I forgot to parameterize the listen_address and rpc_address properties in cassandra.yaml. In the server plugin prototype project, I set both of them to the hostname bundle recipe property. This commit introduces separate listen.address and rpc.address bundle recipe properties making it possible to bind to different interfaces.
commit 7f5950a58bed2cf970dd49689919f052696835d4 Author: John Sanda jsanda@redhat.com Date: Sat Sep 29 11:20:54 2012 -0400
Periodically check that we can connect to at least one cassadra node
This is the initial commit for CassandraClusterHeartBeatJob. It checks that the RHQ server can connect to at least one cassandra node. If the server cannot establish a connection to any nodes, the rhq server goes into maintenance mode. When in maintenance mode the server will be brought back into normal operating mode when a connection is established.
CassandraClusterManagerBean submits the jobs in its installBundle method which is called at server start up. EmbeddedDeployer has been updated to return a list of cluster ndoes. That list is passed into CassandraClusterHeartBeatJob.
Conflicts:
modules/enterprise/server/jar/pom.xml
commit 96a01682a90f4bbafb14abca84d91be973a26c13 Author: John Sanda jsanda@redhat.com Date: Thu Sep 27 16:33:59 2012 -0400
Refactoring logic for embedded cluster deployment
This is the initial commit for EmbeddedDeployer. It performs deployment of an embedded cluster which is the default cluster type for development. An embedded cluster is one in which all nodes run on localhost and are bound aliases of the loopback address, e.g., 127.0.0.2, 127.0.0.3, etc.
EmbeddedDeployer does not server APIs to deploy the cluster. More specifically, it does not use the bundles subsystem. It does however use the Ant-based bundles APIs to deploy the cassandra bundle. Since it does not use server APIs which require a running agent to carry out requests, EmbeddedDeployer is suitable for bootstrapping scenarios.
EmbeddedDeployer looks for the presence of a marker file named .installed in the cluster directory for installing nodes. If that file exists, it assumes that the cluster is already is installed and does not do any installation. If the marker file is not present, anything in the cluster directory is purged and nodes will be provisioned.
Conflicts:
modules/enterprise/server/jar/pom.xml modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/StartupBean.java
commit 7a430a3ea66dcdaf32c1086ed8cb387e154e9620 Author: John Sanda jsanda@redhat.com Date: Tue Sep 25 16:01:59 2012 -0400
Install rhq cassandra bundle on server start up.
This commit introduces a number of changes in order to support installing the rhq cassandra bundle on start up. The contents of the build artifact for the cassandra-bundle module has changed. The JAR file itself is no longer the bundle. The artifact now consists of two files - the bundle zip file and a new file cassandra.properties. cassandra.properties will provide deployment options like the number of nodes in the cluster.
The bundle recipe file, deploy.xml, is now filtered at build time with cassandra.properties. Attribute values in deploy.xml for things like the bundle name and bundle version have to be the same as the ones used in the installBundle method. Filtering with cassandra.properties makes this possible.
StartupServlet has been updated to invoke CassandraClusterManagerBean.installBundle. The installBundle method is idempotent. It will install the necessary bundle components only if they do not already exist in the database. It can be invoked multiple times without having any additional effect.
Conflicts:
modules/enterprise/server/jar/pom.xml modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/StartupBean.java modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/LookupUtil.java
commit f1f5f8881ea01b74b80a8656c07b47cbfcab9f27 Author: John Sanda jsanda@redhat.com Date: Mon Sep 24 11:45:24 2012 -0400
Initial commit for cassandra-bundle module
The cassandra-bundle module packages a bundle recipe for provisioning machines with instances of Cassandra.
Conflicts:
modules/common/pom.xml
rhq-commits@lists.fedorahosted.org