You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ri...@apache.org on 2015/08/07 19:53:41 UTC
[08/10] incubator-brooklyn git commit: Merge remote-tracking branch
'upstream/master' into fix/redis-cluster-stop
Merge remote-tracking branch 'upstream/master' into fix/redis-cluster-stop
Fixing conflicts from package renames
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/dd4087ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/dd4087ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/dd4087ab
Branch: refs/heads/master
Commit: dd4087abd53225f39dfb27db7c9d094ae3146fd4
Parents: 891c818 0efc1e3
Author: Mike Zaccardo <mi...@cloudsoftcorp.com>
Authored: Thu Aug 6 13:57:19 2015 -0400
Committer: Mike Zaccardo <mi...@cloudsoftcorp.com>
Committed: Thu Aug 6 13:57:19 2015 -0400
----------------------------------------------------------------------
.../entity/basic/BasicStartableImpl.java | 58 +-
.../entity/basic/ServiceStateLogic.java | 7 +-
.../java/brooklyn/enricher/EnrichersTest.java | 30 +-
.../brooklyn/entity/basic/AttributeMapTest.java | 19 +-
.../entity/basic/BasicStartableTest.java | 33 +-
.../entity/basic/EntityLocationsTest.java | 25 +-
.../entity/basic/EntitySubscriptionTest.java | 40 +-
.../brooklyn/entity/basic/EntityTypeTest.java | 35 +-
.../entity/group/DynamicClusterTest.java | 8 +-
.../policy/basic/PolicySubscriptionTest.java | 23 +-
.../basic/RecordingSensorEventListener.java | 115 +++
.../nosql-cassandra/cassandra.include.md | 4 +-
docs/guide/ops/catalog/index.md | 4 +-
.../src/main/assembly/scripts/start.sh | 2 +-
.../brooklyn/demo/CumulusRDFApplication.java | 11 +-
.../demo/HighAvailabilityCassandraCluster.java | 5 +-
.../brooklyn/demo/ResilientMongoDbApp.java | 5 +-
.../brooklyn/demo/RiakClusterExample.java | 5 +-
.../brooklyn/demo/SimpleCassandraCluster.java | 3 +-
.../brooklyn/demo/SimpleCouchDBCluster.java | 3 +-
.../brooklyn/demo/SimpleMongoDBReplicaSet.java | 5 +-
.../brooklyn/demo/SimpleRedisCluster.java | 3 +-
.../brooklyn/demo/WideAreaCassandraCluster.java | 11 +-
.../brooklyn/demo/ha-cassandra-cluster.yaml | 4 +-
.../brooklyn/demo/simple-cassandra-cluster.yaml | 2 +-
.../demo/wide-area-cassandra-cluster.yaml | 8 +-
.../brooklyn/demo/NodeJsTodoApplication.java | 3 +-
.../apache/brooklyn/demo/nodejs-riak-todo.yaml | 2 +-
.../org/apache/brooklyn/demo/nodejs-todo.yaml | 2 +-
.../brooklyn/entity/salt/SaltStackMaster.java | 2 +-
.../nosql/hazelcast/HazelcastCluster.java | 2 +-
.../entity/nosql/hazelcast/HazelcastNode.java | 2 +-
software/nosql/pom.xml | 28 +-
.../nosql/cassandra/CassandraCluster.java | 30 -
.../nosql/cassandra/CassandraClusterImpl.java | 27 -
.../nosql/cassandra/CassandraDatacenter.java | 214 ----
.../cassandra/CassandraDatacenterImpl.java | 625 ------------
.../entity/nosql/cassandra/CassandraFabric.java | 80 --
.../nosql/cassandra/CassandraFabricImpl.java | 395 --------
.../entity/nosql/cassandra/CassandraNode.java | 231 -----
.../nosql/cassandra/CassandraNodeDriver.java | 47 -
.../nosql/cassandra/CassandraNodeImpl.java | 594 -----------
.../nosql/cassandra/CassandraNodeSshDriver.java | 420 --------
.../entity/nosql/cassandra/TokenGenerator.java | 49 -
.../entity/nosql/cassandra/TokenGenerators.java | 192 ----
.../nosql/couchbase/CouchbaseCluster.java | 134 ---
.../nosql/couchbase/CouchbaseClusterImpl.java | 597 -----------
.../entity/nosql/couchbase/CouchbaseNode.java | 159 ---
.../nosql/couchbase/CouchbaseNodeDriver.java | 41 -
.../nosql/couchbase/CouchbaseNodeImpl.java | 269 -----
.../nosql/couchbase/CouchbaseNodeSshDriver.java | 512 ----------
.../nosql/couchbase/CouchbaseSyncGateway.java | 75 --
.../couchbase/CouchbaseSyncGatewayDriver.java | 27 -
.../couchbase/CouchbaseSyncGatewayImpl.java | 82 --
.../CouchbaseSyncGatewaySshDriver.java | 167 ----
.../entity/nosql/couchdb/CouchDBCluster.java | 48 -
.../nosql/couchdb/CouchDBClusterImpl.java | 51 -
.../entity/nosql/couchdb/CouchDBNode.java | 66 --
.../entity/nosql/couchdb/CouchDBNodeDriver.java | 37 -
.../entity/nosql/couchdb/CouchDBNodeImpl.java | 106 --
.../nosql/couchdb/CouchDBNodeSshDriver.java | 153 ---
.../elasticsearch/ElasticSearchCluster.java | 40 -
.../elasticsearch/ElasticSearchClusterImpl.java | 45 -
.../nosql/elasticsearch/ElasticSearchNode.java | 88 --
.../elasticsearch/ElasticSearchNodeDriver.java | 25 -
.../elasticsearch/ElasticSearchNodeImpl.java | 110 --
.../ElasticSearchNodeSshDriver.java | 139 ---
.../nosql/mongodb/AbstractMongoDBServer.java | 61 --
.../nosql/mongodb/AbstractMongoDBSshDriver.java | 175 ----
.../entity/nosql/mongodb/MongoDBClient.java | 65 --
.../nosql/mongodb/MongoDBClientDriver.java | 25 -
.../entity/nosql/mongodb/MongoDBClientImpl.java | 43 -
.../nosql/mongodb/MongoDBClientSshDriver.java | 147 ---
.../nosql/mongodb/MongoDBClientSupport.java | 263 -----
.../entity/nosql/mongodb/MongoDBDriver.java | 24 -
.../entity/nosql/mongodb/MongoDBReplicaSet.java | 84 --
.../nosql/mongodb/MongoDBReplicaSetImpl.java | 404 --------
.../entity/nosql/mongodb/MongoDBServer.java | 152 ---
.../entity/nosql/mongodb/MongoDBServerImpl.java | 214 ----
.../entity/nosql/mongodb/MongoDBSshDriver.java | 57 --
.../entity/nosql/mongodb/ReplicaSetConfig.java | 278 ------
.../nosql/mongodb/ReplicaSetMemberStatus.java | 66 --
.../sharding/CoLocatedMongoDBRouter.java | 59 --
.../sharding/CoLocatedMongoDBRouterImpl.java | 70 --
.../mongodb/sharding/MongoDBConfigServer.java | 27 -
.../sharding/MongoDBConfigServerCluster.java | 35 -
.../MongoDBConfigServerClusterImpl.java | 57 --
.../sharding/MongoDBConfigServerDriver.java | 25 -
.../sharding/MongoDBConfigServerImpl.java | 36 -
.../sharding/MongoDBConfigServerSshDriver.java | 43 -
.../nosql/mongodb/sharding/MongoDBRouter.java | 51 -
.../mongodb/sharding/MongoDBRouterCluster.java | 54 -
.../sharding/MongoDBRouterClusterImpl.java | 101 --
.../mongodb/sharding/MongoDBRouterDriver.java | 25 -
.../mongodb/sharding/MongoDBRouterImpl.java | 85 --
.../sharding/MongoDBRouterSshDriver.java | 52 -
.../mongodb/sharding/MongoDBShardCluster.java | 27 -
.../sharding/MongoDBShardClusterImpl.java | 179 ----
.../sharding/MongoDBShardedDeployment.java | 102 --
.../sharding/MongoDBShardedDeploymentImpl.java | 147 ---
.../entity/nosql/redis/RedisCluster.java | 41 -
.../entity/nosql/redis/RedisClusterImpl.java | 151 ---
.../brooklyn/entity/nosql/redis/RedisShard.java | 26 -
.../entity/nosql/redis/RedisShardImpl.java | 26 -
.../brooklyn/entity/nosql/redis/RedisSlave.java | 42 -
.../entity/nosql/redis/RedisSlaveImpl.java | 34 -
.../brooklyn/entity/nosql/redis/RedisStore.java | 69 --
.../entity/nosql/redis/RedisStoreDriver.java | 27 -
.../entity/nosql/redis/RedisStoreImpl.java | 154 ---
.../entity/nosql/redis/RedisStoreSshDriver.java | 131 ---
.../brooklyn/entity/nosql/riak/RiakCluster.java | 65 --
.../entity/nosql/riak/RiakClusterImpl.java | 264 -----
.../brooklyn/entity/nosql/riak/RiakNode.java | 238 -----
.../entity/nosql/riak/RiakNodeDriver.java | 48 -
.../entity/nosql/riak/RiakNodeImpl.java | 306 ------
.../entity/nosql/riak/RiakNodeSshDriver.java | 614 ------------
.../brooklyn/entity/nosql/solr/SolrServer.java | 81 --
.../entity/nosql/solr/SolrServerDriver.java | 30 -
.../entity/nosql/solr/SolrServerImpl.java | 75 --
.../entity/nosql/solr/SolrServerSshDriver.java | 158 ---
.../nosql/cassandra/CassandraCluster.java | 30 +
.../nosql/cassandra/CassandraClusterImpl.java | 27 +
.../nosql/cassandra/CassandraDatacenter.java | 215 ++++
.../cassandra/CassandraDatacenterImpl.java | 625 ++++++++++++
.../entity/nosql/cassandra/CassandraFabric.java | 80 ++
.../nosql/cassandra/CassandraFabricImpl.java | 395 ++++++++
.../entity/nosql/cassandra/CassandraNode.java | 231 +++++
.../nosql/cassandra/CassandraNodeDriver.java | 47 +
.../nosql/cassandra/CassandraNodeImpl.java | 594 +++++++++++
.../nosql/cassandra/CassandraNodeSshDriver.java | 420 ++++++++
.../entity/nosql/cassandra/TokenGenerator.java | 49 +
.../entity/nosql/cassandra/TokenGenerators.java | 192 ++++
.../nosql/couchbase/CouchbaseCluster.java | 134 +++
.../nosql/couchbase/CouchbaseClusterImpl.java | 597 +++++++++++
.../entity/nosql/couchbase/CouchbaseNode.java | 159 +++
.../nosql/couchbase/CouchbaseNodeDriver.java | 41 +
.../nosql/couchbase/CouchbaseNodeImpl.java | 269 +++++
.../nosql/couchbase/CouchbaseNodeSshDriver.java | 512 ++++++++++
.../nosql/couchbase/CouchbaseSyncGateway.java | 75 ++
.../couchbase/CouchbaseSyncGatewayDriver.java | 27 +
.../couchbase/CouchbaseSyncGatewayImpl.java | 82 ++
.../CouchbaseSyncGatewaySshDriver.java | 167 ++++
.../entity/nosql/couchdb/CouchDBCluster.java | 48 +
.../nosql/couchdb/CouchDBClusterImpl.java | 51 +
.../entity/nosql/couchdb/CouchDBNode.java | 66 ++
.../entity/nosql/couchdb/CouchDBNodeDriver.java | 37 +
.../entity/nosql/couchdb/CouchDBNodeImpl.java | 106 ++
.../nosql/couchdb/CouchDBNodeSshDriver.java | 153 +++
.../elasticsearch/ElasticSearchCluster.java | 40 +
.../elasticsearch/ElasticSearchClusterImpl.java | 45 +
.../nosql/elasticsearch/ElasticSearchNode.java | 88 ++
.../elasticsearch/ElasticSearchNodeDriver.java | 25 +
.../elasticsearch/ElasticSearchNodeImpl.java | 110 ++
.../ElasticSearchNodeSshDriver.java | 139 +++
.../nosql/mongodb/AbstractMongoDBServer.java | 61 ++
.../nosql/mongodb/AbstractMongoDBSshDriver.java | 175 ++++
.../entity/nosql/mongodb/MongoDBClient.java | 65 ++
.../nosql/mongodb/MongoDBClientDriver.java | 25 +
.../entity/nosql/mongodb/MongoDBClientImpl.java | 43 +
.../nosql/mongodb/MongoDBClientSshDriver.java | 147 +++
.../nosql/mongodb/MongoDBClientSupport.java | 263 +++++
.../entity/nosql/mongodb/MongoDBDriver.java | 24 +
.../entity/nosql/mongodb/MongoDBReplicaSet.java | 84 ++
.../nosql/mongodb/MongoDBReplicaSetImpl.java | 404 ++++++++
.../entity/nosql/mongodb/MongoDBServer.java | 152 +++
.../entity/nosql/mongodb/MongoDBServerImpl.java | 214 ++++
.../entity/nosql/mongodb/MongoDBSshDriver.java | 57 ++
.../entity/nosql/mongodb/ReplicaSetConfig.java | 278 ++++++
.../nosql/mongodb/ReplicaSetMemberStatus.java | 66 ++
.../sharding/CoLocatedMongoDBRouter.java | 59 ++
.../sharding/CoLocatedMongoDBRouterImpl.java | 70 ++
.../mongodb/sharding/MongoDBConfigServer.java | 28 +
.../sharding/MongoDBConfigServerCluster.java | 35 +
.../MongoDBConfigServerClusterImpl.java | 57 ++
.../sharding/MongoDBConfigServerDriver.java | 25 +
.../sharding/MongoDBConfigServerImpl.java | 36 +
.../sharding/MongoDBConfigServerSshDriver.java | 44 +
.../nosql/mongodb/sharding/MongoDBRouter.java | 52 +
.../mongodb/sharding/MongoDBRouterCluster.java | 54 +
.../sharding/MongoDBRouterClusterImpl.java | 101 ++
.../mongodb/sharding/MongoDBRouterDriver.java | 25 +
.../mongodb/sharding/MongoDBRouterImpl.java | 86 ++
.../sharding/MongoDBRouterSshDriver.java | 52 +
.../mongodb/sharding/MongoDBShardCluster.java | 27 +
.../sharding/MongoDBShardClusterImpl.java | 179 ++++
.../sharding/MongoDBShardedDeployment.java | 103 ++
.../sharding/MongoDBShardedDeploymentImpl.java | 147 +++
.../entity/nosql/redis/RedisCluster.java | 41 +
.../entity/nosql/redis/RedisClusterImpl.java | 151 +++
.../brooklyn/entity/nosql/redis/RedisShard.java | 26 +
.../entity/nosql/redis/RedisShardImpl.java | 26 +
.../brooklyn/entity/nosql/redis/RedisSlave.java | 42 +
.../entity/nosql/redis/RedisSlaveImpl.java | 34 +
.../brooklyn/entity/nosql/redis/RedisStore.java | 69 ++
.../entity/nosql/redis/RedisStoreDriver.java | 27 +
.../entity/nosql/redis/RedisStoreImpl.java | 154 +++
.../entity/nosql/redis/RedisStoreSshDriver.java | 131 +++
.../brooklyn/entity/nosql/riak/RiakCluster.java | 65 ++
.../entity/nosql/riak/RiakClusterImpl.java | 264 +++++
.../brooklyn/entity/nosql/riak/RiakNode.java | 238 +++++
.../entity/nosql/riak/RiakNodeDriver.java | 48 +
.../entity/nosql/riak/RiakNodeImpl.java | 306 ++++++
.../entity/nosql/riak/RiakNodeSshDriver.java | 614 ++++++++++++
.../brooklyn/entity/nosql/solr/SolrServer.java | 81 ++
.../entity/nosql/solr/SolrServerDriver.java | 30 +
.../entity/nosql/solr/SolrServerImpl.java | 75 ++
.../entity/nosql/solr/SolrServerSshDriver.java | 158 +++
.../entity/nosql/cassandra/cassandra-1.2.yaml | 644 ------------
.../entity/nosql/cassandra/cassandra-2.0.yaml | 688 -------------
.../cassandra/cassandra-multicloud-snitch.jar | Bin 4729 -> 0 bytes
.../cassandra/cassandra-multicloud-snitch.txt | 33 -
.../nosql/cassandra/cassandra-rackdc.properties | 6 -
.../entity/nosql/couchbase/pillowfight.yaml | 77 --
.../brooklyn/entity/nosql/couchdb/couch.ini | 17 -
.../brooklyn/entity/nosql/couchdb/couch.uri | 2 -
.../entity/nosql/mongodb/default-mongod.conf | 7 -
.../brooklyn/entity/nosql/mongodb/default.conf | 2 -
.../brooklyn/entity/nosql/redis/redis.conf | 13 -
.../brooklyn/entity/nosql/redis/slave.conf | 16 -
.../brooklyn/entity/nosql/riak/app.config | 353 -------
.../nosql/riak/riak-cluster-with-solr.yaml | 35 -
.../brooklyn/entity/nosql/riak/riak-mac.conf | 494 ---------
.../nosql/riak/riak-with-webapp-cluster.yaml | 42 -
.../entity/nosql/riak/riak-with-webapp.yaml | 36 -
.../brooklyn/entity/nosql/riak/riak.conf | 494 ---------
.../brooklyn/entity/nosql/riak/riak.md | 67 --
.../brooklyn/entity/nosql/riak/riak.png | Bin 110651 -> 0 bytes
.../brooklyn/entity/nosql/riak/vm.args | 64 --
.../brooklyn/entity/nosql/solr/solr.xml | 19 -
.../entity/nosql/cassandra/cassandra-1.2.yaml | 644 ++++++++++++
.../entity/nosql/cassandra/cassandra-2.0.yaml | 688 +++++++++++++
.../cassandra/cassandra-multicloud-snitch.jar | Bin 0 -> 4729 bytes
.../cassandra/cassandra-multicloud-snitch.txt | 33 +
.../nosql/cassandra/cassandra-rackdc.properties | 6 +
.../entity/nosql/couchbase/pillowfight.yaml | 77 ++
.../brooklyn/entity/nosql/couchdb/couch.ini | 17 +
.../brooklyn/entity/nosql/couchdb/couch.uri | 2 +
.../entity/nosql/mongodb/default-mongod.conf | 7 +
.../brooklyn/entity/nosql/mongodb/default.conf | 2 +
.../brooklyn/entity/nosql/redis/redis.conf | 13 +
.../brooklyn/entity/nosql/redis/slave.conf | 16 +
.../brooklyn/entity/nosql/riak/app.config | 353 +++++++
.../nosql/riak/riak-cluster-with-solr.yaml | 35 +
.../brooklyn/entity/nosql/riak/riak-mac.conf | 494 +++++++++
.../nosql/riak/riak-with-webapp-cluster.yaml | 42 +
.../entity/nosql/riak/riak-with-webapp.yaml | 36 +
.../apache/brooklyn/entity/nosql/riak/riak.conf | 494 +++++++++
.../apache/brooklyn/entity/nosql/riak/riak.md | 67 ++
.../apache/brooklyn/entity/nosql/riak/riak.png | Bin 0 -> 110651 bytes
.../apache/brooklyn/entity/nosql/riak/vm.args | 64 ++
.../apache/brooklyn/entity/nosql/solr/solr.xml | 19 +
.../cassandra/AbstractCassandraNodeTest.java | 41 -
.../entity/nosql/cassandra/AstyanaxSupport.java | 330 ------
.../CassandraDatacenterIntegrationTest.java | 149 ---
.../cassandra/CassandraDatacenterLiveTest.java | 308 ------
...assandraDatacenterRebindIntegrationTest.java | 97 --
.../cassandra/CassandraDatacenterTest.java | 233 -----
.../nosql/cassandra/CassandraFabricTest.java | 184 ----
.../cassandra/CassandraNodeEc2LiveTest.java | 50 -
.../cassandra/CassandraNodeIntegrationTest.java | 190 ----
.../nosql/cassandra/CassandraNodeLiveTest.java | 74 --
.../cassandra/NonNegTokenGeneratorTest.java | 117 ---
.../cassandra/PosNegTokenGeneratorTest.java | 58 --
.../nosql/couchbase/CouchbaseOfflineTest.java | 62 --
.../CouchbaseSyncGatewayEc2LiveTest.java | 137 ---
.../nosql/couchdb/AbstractCouchDBNodeTest.java | 59 --
.../nosql/couchdb/CouchDBClusterLiveTest.java | 90 --
.../nosql/couchdb/CouchDBNodeEc2LiveTest.java | 49 -
.../couchdb/CouchDBNodeIntegrationTest.java | 66 --
.../nosql/couchdb/CouchDBNodeLiveTest.java | 74 --
.../entity/nosql/couchdb/JcouchdbSupport.java | 77 --
.../ElasticSearchClusterIntegrationTest.java | 128 ---
.../ElasticSearchNodeIntegrationTest.java | 112 ---
.../nosql/mongodb/MongoDBEc2LiveTest.java | 54 -
.../nosql/mongodb/MongoDBIntegrationTest.java | 91 --
.../mongodb/MongoDBRebindIntegrationTest.java | 60 --
.../mongodb/MongoDBReplicaSetEc2LiveTest.java | 96 --
.../MongoDBReplicaSetIntegrationTest.java | 206 ----
.../mongodb/MongoDBRestartIntegrationTest.java | 42 -
.../nosql/mongodb/MongoDBSoftLayerLiveTest.java | 56 --
.../entity/nosql/mongodb/MongoDBTestHelper.java | 124 ---
.../nosql/mongodb/ReplicaSetConfigTest.java | 239 -----
.../MongoDBConfigServerIntegrationTest.java | 66 --
.../MongoDBShardedDeploymentEc2LiveTest.java | 83 --
...MongoDBShardedDeploymentIntegrationTest.java | 129 ---
.../entity/nosql/redis/JedisSupport.java | 74 --
.../redis/RedisClusterIntegrationTest.java | 109 --
.../entity/nosql/redis/RedisEc2LiveTest.java | 66 --
.../nosql/redis/RedisIntegrationTest.java | 119 ---
.../nosql/riak/RiakClusterEc2LiveTest.java | 74 --
.../entity/nosql/riak/RiakNodeEc2LiveTest.java | 51 -
.../riak/RiakNodeGoogleComputeLiveTest.java | 62 --
.../nosql/riak/RiakNodeIntegrationTest.java | 64 --
.../nosql/riak/RiakNodeSoftlayerLiveTest.java | 45 -
.../nosql/solr/AbstractSolrServerTest.java | 41 -
.../entity/nosql/solr/SolrJSupport.java | 66 --
.../nosql/solr/SolrServerEc2LiveTest.java | 66 --
.../nosql/solr/SolrServerIntegrationTest.java | 84 --
.../entity/nosql/solr/SolrServerLiveTest.java | 89 --
.../cassandra/AbstractCassandraNodeTest.java | 42 +
.../entity/nosql/cassandra/AstyanaxSupport.java | 331 ++++++
.../CassandraDatacenterIntegrationTest.java | 151 +++
.../cassandra/CassandraDatacenterLiveTest.java | 310 ++++++
...assandraDatacenterRebindIntegrationTest.java | 99 ++
.../cassandra/CassandraDatacenterTest.java | 235 +++++
.../nosql/cassandra/CassandraFabricTest.java | 186 ++++
.../cassandra/CassandraNodeEc2LiveTest.java | 51 +
.../cassandra/CassandraNodeIntegrationTest.java | 191 ++++
.../nosql/cassandra/CassandraNodeLiveTest.java | 75 ++
.../cassandra/NonNegTokenGeneratorTest.java | 116 +++
.../cassandra/PosNegTokenGeneratorTest.java | 57 ++
.../nosql/couchbase/CouchbaseOfflineTest.java | 63 ++
.../CouchbaseSyncGatewayEc2LiveTest.java | 140 +++
.../nosql/couchdb/AbstractCouchDBNodeTest.java | 60 ++
.../nosql/couchdb/CouchDBClusterLiveTest.java | 92 ++
.../nosql/couchdb/CouchDBNodeEc2LiveTest.java | 50 +
.../couchdb/CouchDBNodeIntegrationTest.java | 67 ++
.../nosql/couchdb/CouchDBNodeLiveTest.java | 75 ++
.../entity/nosql/couchdb/JcouchdbSupport.java | 78 ++
.../ElasticSearchClusterIntegrationTest.java | 130 +++
.../ElasticSearchNodeIntegrationTest.java | 113 +++
.../nosql/mongodb/MongoDBEc2LiveTest.java | 56 ++
.../nosql/mongodb/MongoDBIntegrationTest.java | 92 ++
.../mongodb/MongoDBRebindIntegrationTest.java | 61 ++
.../mongodb/MongoDBReplicaSetEc2LiveTest.java | 98 ++
.../MongoDBReplicaSetIntegrationTest.java | 208 ++++
.../mongodb/MongoDBRestartIntegrationTest.java | 43 +
.../nosql/mongodb/MongoDBSoftLayerLiveTest.java | 57 ++
.../entity/nosql/mongodb/MongoDBTestHelper.java | 126 +++
.../nosql/mongodb/ReplicaSetConfigTest.java | 240 +++++
.../MongoDBConfigServerIntegrationTest.java | 67 ++
.../MongoDBShardedDeploymentEc2LiveTest.java | 86 ++
...MongoDBShardedDeploymentIntegrationTest.java | 135 +++
.../entity/nosql/redis/JedisSupport.java | 77 ++
.../redis/RedisClusterIntegrationTest.java | 112 +++
.../entity/nosql/redis/RedisEc2LiveTest.java | 67 ++
.../nosql/redis/RedisIntegrationTest.java | 120 +++
.../nosql/riak/RiakClusterEc2LiveTest.java | 76 ++
.../entity/nosql/riak/RiakNodeEc2LiveTest.java | 52 +
.../riak/RiakNodeGoogleComputeLiveTest.java | 64 ++
.../nosql/riak/RiakNodeIntegrationTest.java | 65 ++
.../nosql/riak/RiakNodeSoftlayerLiveTest.java | 46 +
.../nosql/solr/AbstractSolrServerTest.java | 42 +
.../entity/nosql/solr/SolrJSupport.java | 67 ++
.../nosql/solr/SolrServerEc2LiveTest.java | 67 ++
.../nosql/solr/SolrServerIntegrationTest.java | 85 ++
.../entity/nosql/solr/SolrServerLiveTest.java | 90 ++
...lledDynamicWebAppClusterIntegrationTest.java | 13 +-
.../ControlledDynamicWebAppClusterTest.java | 38 +-
.../com/acme/sample/brooklyn/SampleMain.java | 2 +-
.../camp/brooklyn/BrooklynCampConstants.java | 50 -
.../camp/brooklyn/BrooklynCampPlatform.java | 76 --
.../BrooklynCampPlatformLauncherAbstract.java | 73 --
.../BrooklynCampPlatformLauncherNoServer.java | 36 -
.../camp/brooklyn/BrooklynCampReservedKeys.java | 29 -
.../camp/brooklyn/YamlLauncherAbstract.java | 133 ---
.../camp/brooklyn/YamlLauncherNoServer.java | 39 -
.../BrooklynAssemblyTemplateInstantiator.java | 282 ------
.../BrooklynComponentTemplateResolver.java | 491 ---------
.../BrooklynEntityDecorationResolver.java | 181 ----
.../spi/creation/BrooklynEntityMatcher.java | 193 ----
.../creation/BrooklynYamlLocationResolver.java | 142 ---
.../creation/BrooklynYamlTypeInstantiator.java | 208 ----
.../spi/creation/EntitySpecConfiguration.java | 58 --
.../service/BrooklynServiceTypeResolver.java | 72 --
.../service/CatalogServiceTypeResolver.java | 78 --
.../service/ChefServiceTypeResolver.java | 62 --
.../service/JavaServiceTypeResolver.java | 39 -
.../creation/service/ServiceTypeResolver.java | 73 --
.../spi/dsl/BrooklynDslDeferredSupplier.java | 99 --
.../spi/dsl/BrooklynDslInterpreter.java | 188 ----
.../camp/brooklyn/spi/dsl/DslUtils.java | 44 -
.../spi/dsl/methods/BrooklynDslCommon.java | 302 ------
.../brooklyn/spi/dsl/methods/DslComponent.java | 320 ------
.../camp/brooklyn/spi/dsl/parse/DslParser.java | 144 ---
.../spi/dsl/parse/FunctionWithArgs.java | 57 --
.../brooklyn/spi/dsl/parse/QuotedString.java | 49 -
.../lookup/AbstractBrooklynResourceLookup.java | 36 -
.../lookup/AbstractTemplateBrooklynLookup.java | 62 --
.../spi/lookup/AssemblyBrooklynLookup.java | 69 --
.../lookup/AssemblyTemplateBrooklynLookup.java | 70 --
.../brooklyn/spi/lookup/BrooklynUrlLookup.java | 38 -
.../lookup/PlatformComponentBrooklynLookup.java | 61 --
...PlatformComponentTemplateBrooklynLookup.java | 59 --
.../platform/BrooklynImmutableCampPlatform.java | 107 --
.../camp/brooklyn/BrooklynCampConstants.java | 50 +
.../camp/brooklyn/BrooklynCampPlatform.java | 78 ++
.../BrooklynCampPlatformLauncherAbstract.java | 73 ++
.../BrooklynCampPlatformLauncherNoServer.java | 36 +
.../camp/brooklyn/BrooklynCampReservedKeys.java | 29 +
.../camp/brooklyn/YamlLauncherAbstract.java | 133 +++
.../camp/brooklyn/YamlLauncherNoServer.java | 39 +
.../BrooklynAssemblyTemplateInstantiator.java | 283 ++++++
.../BrooklynComponentTemplateResolver.java | 490 +++++++++
.../BrooklynEntityDecorationResolver.java | 180 ++++
.../spi/creation/BrooklynEntityMatcher.java | 193 ++++
.../creation/BrooklynYamlLocationResolver.java | 142 +++
.../creation/BrooklynYamlTypeInstantiator.java | 208 ++++
.../spi/creation/EntitySpecConfiguration.java | 58 ++
.../service/BrooklynServiceTypeResolver.java | 71 ++
.../service/CatalogServiceTypeResolver.java | 78 ++
.../service/ChefServiceTypeResolver.java | 61 ++
.../service/JavaServiceTypeResolver.java | 39 +
.../creation/service/ServiceTypeResolver.java | 73 ++
.../spi/dsl/BrooklynDslDeferredSupplier.java | 99 ++
.../spi/dsl/BrooklynDslInterpreter.java | 188 ++++
.../camp/brooklyn/spi/dsl/DslUtils.java | 44 +
.../spi/dsl/methods/BrooklynDslCommon.java | 301 ++++++
.../brooklyn/spi/dsl/methods/DslComponent.java | 320 ++++++
.../camp/brooklyn/spi/dsl/parse/DslParser.java | 144 +++
.../spi/dsl/parse/FunctionWithArgs.java | 57 ++
.../brooklyn/spi/dsl/parse/QuotedString.java | 49 +
.../lookup/AbstractBrooklynResourceLookup.java | 36 +
.../lookup/AbstractTemplateBrooklynLookup.java | 62 ++
.../spi/lookup/AssemblyBrooklynLookup.java | 69 ++
.../lookup/AssemblyTemplateBrooklynLookup.java | 70 ++
.../brooklyn/spi/lookup/BrooklynUrlLookup.java | 38 +
.../lookup/PlatformComponentBrooklynLookup.java | 61 ++
...PlatformComponentTemplateBrooklynLookup.java | 59 ++
.../platform/BrooklynImmutableCampPlatform.java | 109 ++
...lyn.spi.creation.service.ServiceTypeResolver | 22 -
...lyn.spi.creation.service.ServiceTypeResolver | 22 +
.../camp/brooklyn/AbstractYamlRebindTest.java | 206 ----
.../camp/brooklyn/AbstractYamlTest.java | 182 ----
.../io/brooklyn/camp/brooklyn/AppYamlTest.java | 119 ---
.../BrooklynYamlTypeInstantiatorTest.java | 76 --
.../camp/brooklyn/ByonLocationsYamlTest.java | 281 ------
.../camp/brooklyn/DslAndRebindYamlTest.java | 245 -----
.../brooklyn/EmptySoftwareProcessYamlTest.java | 103 --
.../EnrichersSlightlySimplerYamlTest.java | 134 ---
.../camp/brooklyn/EnrichersYamlTest.java | 257 -----
.../brooklyn/EntitiesYamlIntegrationTest.java | 71 --
.../camp/brooklyn/EntitiesYamlTest.java | 919 -----------------
...aWebAppWithDslYamlRebindIntegrationTest.java | 125 ---
.../brooklyn/JavaWebAppsIntegrationTest.java | 272 -----
.../camp/brooklyn/JavaWebAppsMatchingTest.java | 144 ---
.../camp/brooklyn/LocationsYamlTest.java | 285 ------
.../camp/brooklyn/MapReferenceYamlTest.java | 130 ---
.../brooklyn/camp/brooklyn/ObjectsYamlTest.java | 280 ------
.../camp/brooklyn/PoliciesYamlTest.java | 215 ----
.../camp/brooklyn/ReferencedYamlTest.java | 180 ----
.../brooklyn/ReferencingYamlTestEntity.java | 66 --
.../brooklyn/ReferencingYamlTestEntityImpl.java | 25 -
.../brooklyn/ReloadBrooklynPropertiesTest.java | 87 --
.../camp/brooklyn/TestEntityWithInitConfig.java | 35 -
.../brooklyn/TestEntityWithInitConfigImpl.java | 59 --
.../camp/brooklyn/TestReferencingEnricher.java | 34 -
.../camp/brooklyn/TestReferencingPolicy.java | 34 -
.../TestSensorAndEffectorInitializer.java | 86 --
.../brooklyn/VanillaBashNetcatYamlTest.java | 113 ---
.../io/brooklyn/camp/brooklyn/WrapAppTest.java | 93 --
.../catalog/AbstractCatalogXmlTest.java | 109 --
.../CatalogOsgiVersionMoreEntityTest.java | 261 -----
.../brooklyn/catalog/CatalogXmlOsgiTest.java | 37 -
.../brooklyn/catalog/CatalogXmlVersionTest.java | 58 --
.../brooklyn/catalog/CatalogYamlCombiTest.java | 145 ---
.../brooklyn/catalog/CatalogYamlEntityTest.java | 781 ---------------
.../catalog/CatalogYamlLocationTest.java | 248 -----
.../brooklyn/catalog/CatalogYamlPolicyTest.java | 196 ----
.../brooklyn/catalog/CatalogYamlRebindTest.java | 132 ---
.../catalog/CatalogYamlTemplateTest.java | 96 --
.../catalog/CatalogYamlVersioningTest.java | 258 -----
.../camp/brooklyn/catalog/TestBasicApp.java | 27 -
.../camp/brooklyn/catalog/TestBasicAppImpl.java | 24 -
.../camp/brooklyn/spi/dsl/DslParseTest.java | 79 --
.../camp/brooklyn/AbstractYamlRebindTest.java | 208 ++++
.../camp/brooklyn/AbstractYamlTest.java | 184 ++++
.../brooklyn/camp/brooklyn/AppYamlTest.java | 119 +++
.../BrooklynYamlTypeInstantiatorTest.java | 75 ++
.../camp/brooklyn/ByonLocationsYamlTest.java | 281 ++++++
.../camp/brooklyn/DslAndRebindYamlTest.java | 245 +++++
.../brooklyn/EmptySoftwareProcessYamlTest.java | 103 ++
.../EnrichersSlightlySimplerYamlTest.java | 134 +++
.../camp/brooklyn/EnrichersYamlTest.java | 257 +++++
.../brooklyn/EntitiesYamlIntegrationTest.java | 71 ++
.../camp/brooklyn/EntitiesYamlTest.java | 919 +++++++++++++++++
...aWebAppWithDslYamlRebindIntegrationTest.java | 125 +++
.../brooklyn/JavaWebAppsIntegrationTest.java | 275 +++++
.../camp/brooklyn/JavaWebAppsMatchingTest.java | 146 +++
.../camp/brooklyn/LocationsYamlTest.java | 285 ++++++
.../camp/brooklyn/MapReferenceYamlTest.java | 130 +++
.../brooklyn/camp/brooklyn/ObjectsYamlTest.java | 280 ++++++
.../camp/brooklyn/PoliciesYamlTest.java | 215 ++++
.../camp/brooklyn/ReferencedYamlTest.java | 180 ++++
.../brooklyn/ReferencingYamlTestEntity.java | 66 ++
.../brooklyn/ReferencingYamlTestEntityImpl.java | 25 +
.../brooklyn/ReloadBrooklynPropertiesTest.java | 89 ++
.../camp/brooklyn/TestEntityWithInitConfig.java | 35 +
.../brooklyn/TestEntityWithInitConfigImpl.java | 59 ++
.../camp/brooklyn/TestReferencingEnricher.java | 34 +
.../camp/brooklyn/TestReferencingPolicy.java | 34 +
.../TestSensorAndEffectorInitializer.java | 86 ++
.../brooklyn/VanillaBashNetcatYamlTest.java | 114 +++
.../brooklyn/camp/brooklyn/WrapAppTest.java | 93 ++
.../catalog/AbstractCatalogXmlTest.java | 109 ++
.../CatalogOsgiVersionMoreEntityTest.java | 262 +++++
.../brooklyn/catalog/CatalogXmlOsgiTest.java | 37 +
.../brooklyn/catalog/CatalogXmlVersionTest.java | 58 ++
.../brooklyn/catalog/CatalogYamlCombiTest.java | 143 +++
.../brooklyn/catalog/CatalogYamlEntityTest.java | 780 +++++++++++++++
.../catalog/CatalogYamlLocationTest.java | 247 +++++
.../brooklyn/catalog/CatalogYamlPolicyTest.java | 195 ++++
.../brooklyn/catalog/CatalogYamlRebindTest.java | 132 +++
.../catalog/CatalogYamlTemplateTest.java | 95 ++
.../catalog/CatalogYamlVersioningTest.java | 257 +++++
.../camp/brooklyn/catalog/TestBasicApp.java | 27 +
.../camp/brooklyn/catalog/TestBasicAppImpl.java | 24 +
.../camp/brooklyn/spi/dsl/DslParseTest.java | 79 ++
.../more-entities-osgi-catalog-scan.yaml | 32 -
.../more-entity-v1-called-v1-osgi-catalog.yaml | 27 -
.../catalog/more-entity-v1-osgi-catalog.yaml | 27 -
...more-entity-v1-with-policy-osgi-catalog.yaml | 29 -
.../catalog/more-entity-v2-osgi-catalog.yaml | 28 -
.../more-policies-osgi-catalog-scan.yaml | 32 -
.../catalog/simple-policy-osgi-catalog.yaml | 27 -
.../more-entities-osgi-catalog-scan.yaml | 32 +
.../more-entity-v1-called-v1-osgi-catalog.yaml | 27 +
.../catalog/more-entity-v1-osgi-catalog.yaml | 27 +
...more-entity-v1-with-policy-osgi-catalog.yaml | 29 +
.../catalog/more-entity-v2-osgi-catalog.yaml | 28 +
.../more-policies-osgi-catalog-scan.yaml | 32 +
.../catalog/simple-policy-osgi-catalog.yaml | 27 +
.../camp/src/test/resources/simple-catalog.xml | 2 +-
.../resources/test-entity-with-init-config.yaml | 2 +-
.../resources/test-referencing-enrichers.yaml | 26 +-
.../resources/test-referencing-entities.yaml | 12 +-
.../resources/test-referencing-policies.yaml | 26 +-
usage/cli/pom.xml | 6 +-
.../main/java/brooklyn/cli/AbstractMain.java | 253 -----
.../main/java/brooklyn/cli/CloudExplorer.java | 381 -------
.../src/main/java/brooklyn/cli/ItemLister.java | 272 -----
usage/cli/src/main/java/brooklyn/cli/Main.java | 986 ------------------
.../java/brooklyn/cli/lister/ClassFinder.java | 153 ---
.../brooklyn/cli/lister/ItemDescriptors.java | 173 ----
.../org/apache/brooklyn/cli/AbstractMain.java | 253 +++++
.../org/apache/brooklyn/cli/CloudExplorer.java | 381 +++++++
.../org/apache/brooklyn/cli/ItemLister.java | 272 +++++
.../main/java/org/apache/brooklyn/cli/Main.java | 997 +++++++++++++++++++
.../apache/brooklyn/cli/lister/ClassFinder.java | 153 +++
.../brooklyn/cli/lister/ItemDescriptors.java | 173 ++++
.../main/resources/brooklyn/default.catalog.bom | 2 +-
.../cli/src/test/java/brooklyn/cli/CliTest.java | 604 -----------
.../brooklyn/cli/CloudExplorerLiveTest.java | 209 ----
.../java/org/apache/brooklyn/cli/CliTest.java | 611 ++++++++++++
.../brooklyn/cli/CloudExplorerLiveTest.java | 210 ++++
.../resources/example-app-app-location.yaml | 2 +-
.../resources/example-app-entity-location.yaml | 2 +-
.../test/resources/example-app-no-location.yaml | 2 +-
usage/dist/src/main/dist/bin/brooklyn | 2 +-
usage/dist/src/main/dist/bin/brooklyn.bat | 2 +-
usage/dist/src/main/dist/bin/brooklyn.ps1 | 2 +-
.../apache/brooklyn/cli/CliIntegrationTest.java | 2 +-
.../brooklyn/launcher/BrooklynLauncher.java | 4 +-
.../camp/BrooklynCampPlatformLauncher.java | 5 +-
.../launcher/camp/SimpleYamlLauncher.java | 4 +-
.../blueprints/AbstractBlueprintTest.java | 2 +-
.../src/test/resources/cassandra-blueprint.yaml | 2 +-
.../resources/couchbase-cluster-singleNode.yaml | 2 +-
.../src/test/resources/couchbase-cluster.yaml | 2 +-
.../src/test/resources/couchbase-node.yaml | 2 +-
.../couchbase-replication-w-pillowfight.yaml | 6 +-
.../src/test/resources/couchbase-w-loadgen.yaml | 4 +-
.../test/resources/couchbase-w-pillowfight.yaml | 4 +-
.../src/test/resources/mongo-blueprint.yaml | 2 +-
.../resources/mongo-client-single-server.yaml | 4 +-
.../src/test/resources/mongo-scripts.yaml | 4 +-
.../src/test/resources/mongo-sharded.yaml | 4 +-
.../mongo-single-server-blueprint.yaml | 2 +-
usage/launcher/src/test/resources/playing.yaml | 2 +-
.../SoftlayerObtainPrivateLiveTest.java | 225 -----
.../SoftlayerObtainPrivateLiveTest.java | 225 +++++
.../ApplicationResourceIntegrationTest.java | 4 +-
.../brooklyn/rest/BrooklynRestApiLauncher.java | 4 +-
.../brooklyn/rest/HaMasterCheckFilterTest.java | 2 +-
.../ApplicationResourceIntegrationTest.java | 2 +-
.../rest/resources/CatalogResourceTest.java | 6 +-
.../rest/testing/BrooklynRestApiTest.java | 2 +-
577 files changed, 35062 insertions(+), 34855 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/dd4087ab/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/redis/RedisClusterImpl.java
----------------------------------------------------------------------
diff --cc software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/redis/RedisClusterImpl.java
index 0000000,39c9dbe..4dd8fd0
mode 000000,100644..100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/redis/RedisClusterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/redis/RedisClusterImpl.java
@@@ -1,0 -1,130 +1,151 @@@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+ package org.apache.brooklyn.entity.nosql.redis;
+
+ import java.util.Collection;
++import java.util.List;
+
+ import brooklyn.enricher.Enrichers;
+ import brooklyn.entity.basic.AbstractEntity;
+ import brooklyn.entity.basic.Lifecycle;
+ import brooklyn.entity.basic.ServiceStateLogic;
+ import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers;
+ import brooklyn.entity.basic.ServiceStateLogic.ServiceProblemsLogic;
+ import brooklyn.entity.group.DynamicCluster;
+ import brooklyn.entity.proxying.EntitySpec;
+ import brooklyn.event.AttributeSensor;
+ import brooklyn.event.basic.Sensors;
+ import brooklyn.location.Location;
+ import brooklyn.util.collections.QuorumCheck.QuorumChecks;
++import brooklyn.util.exceptions.CompoundRuntimeException;
+ import brooklyn.util.exceptions.Exceptions;
+
+ import com.google.common.collect.ImmutableList;
+ import com.google.common.collect.ImmutableMap;
+ import com.google.common.collect.ImmutableSet;
++import com.google.common.collect.Lists;
+
+ public class RedisClusterImpl extends AbstractEntity implements RedisCluster {
+
- private static AttributeSensor<RedisStore> MASTER = Sensors.newSensor(RedisStore.class, "redis.master");
- private static AttributeSensor<DynamicCluster> SLAVES = Sensors.newSensor(DynamicCluster.class, "redis.slaves");
++ private static final AttributeSensor<RedisStore> MASTER = Sensors.newSensor(RedisStore.class, "redis.master");
++ private static final AttributeSensor<DynamicCluster> SLAVES = Sensors.newSensor(DynamicCluster.class, "redis.slaves");
+
+ public RedisClusterImpl() {
+ }
+
+ @Override
+ public RedisStore getMaster() {
+ return getAttribute(MASTER);
+ }
+
+ @Override
+ public DynamicCluster getSlaves() {
+ return getAttribute(SLAVES);
+ }
+
+ @Override
+ public void init() {
+ super.init();
+
+ RedisStore master = addChild(EntitySpec.create(RedisStore.class));
+ setAttribute(MASTER, master);
+
+ DynamicCluster slaves = addChild(EntitySpec.create(DynamicCluster.class)
+ .configure(DynamicCluster.MEMBER_SPEC, EntitySpec.create(RedisSlave.class).configure(RedisSlave.MASTER, master)));
+ setAttribute(SLAVES, slaves);
+
+ addEnricher(Enrichers.builder()
+ .propagating(RedisStore.HOSTNAME, RedisStore.ADDRESS, RedisStore.SUBNET_HOSTNAME, RedisStore.SUBNET_ADDRESS, RedisStore.REDIS_PORT)
+ .from(master)
+ .build());
+ }
+
+ @Override
+ protected void initEnrichers() {
+ super.initEnrichers();
+ ServiceStateLogic.newEnricherFromChildrenUp().
+ checkChildrenOnly().
+ requireUpChildren(QuorumChecks.all()).
+ configure(ComputeServiceIndicatorsFromChildrenAndMembers.IGNORE_ENTITIES_WITH_THESE_SERVICE_STATES, ImmutableSet.<Lifecycle>of()).
+ addTo(this);
+ }
+
+ @Override
+ public void start(Collection<? extends Location> locations) {
+ ServiceStateLogic.setExpectedState(this, Lifecycle.STARTING);
+ ServiceProblemsLogic.clearProblemsIndicator(this, START);
+ try {
+ doStart(locations);
+ ServiceStateLogic.setExpectedState(this, Lifecycle.RUNNING);
+ } catch (Exception e) {
+ ServiceProblemsLogic.updateProblemsIndicator(this, START, "Start failed with error: "+e);
+ ServiceStateLogic.setExpectedState(this, Lifecycle.ON_FIRE);
+ throw Exceptions.propagate(e);
+ }
+ }
+
+ private void doStart(Collection<? extends Location> locations) {
+ RedisStore master = getMaster();
+ master.invoke(RedisStore.START, ImmutableMap.<String, Object>of("locations", ImmutableList.copyOf(locations))).getUnchecked();
+
+ DynamicCluster slaves = getSlaves();
+ slaves.invoke(DynamicCluster.START, ImmutableMap.<String, Object>of("locations", ImmutableList.copyOf(locations))).getUnchecked();
+ }
+
+ @Override
+ public void stop() {
+ ServiceStateLogic.setExpectedState(this, Lifecycle.STOPPING);
+ try {
+ doStop();
+ ServiceStateLogic.setExpectedState(this, Lifecycle.STOPPED);
+ } catch (Exception e) {
+ ServiceProblemsLogic.updateProblemsIndicator(this, STOP, "Stop failed with error: "+e);
+ ServiceStateLogic.setExpectedState(this, Lifecycle.ON_FIRE);
+ throw Exceptions.propagate(e);
+ }
+ }
+
+ private void doStop() {
- getSlaves().invoke(DynamicCluster.STOP, ImmutableMap.<String, Object>of()).getUnchecked();
- getMaster().invoke(RedisStore.STOP, ImmutableMap.<String, Object>of()).getUnchecked();
++ StringBuilder message = new StringBuilder();
++ List<Exception> exceptions = Lists.newLinkedList();
++
++ try {
++ getSlaves().invoke(DynamicCluster.STOP, ImmutableMap.<String, Object>of()).getUnchecked();
++ } catch (Exception e) {
++ message.append("Failed to stop Redis slaves");
++ exceptions.add(e);
++ }
++
++ try {
++ getMaster().invoke(RedisStore.STOP, ImmutableMap.<String, Object>of()).getUnchecked();
++ } catch (Exception e) {
++ message.append((message.length() == 0) ? "Failed to stop Redis master" : " and master");
++ exceptions.add(e);
++ }
++
++ if (!exceptions.isEmpty()) {
++ throw new CompoundRuntimeException(message.toString(), exceptions);
++ }
+ }
+
+ @Override
+ public void restart() {
+ throw new UnsupportedOperationException();
+ }
+ }