Fix template reference to redisPort
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-library/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-library/commit/79e666f0 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-library/tree/79e666f0 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-library/diff/79e666f0 Branch: refs/heads/0.5.0 Commit: 79e666f0174f17828ef275415375d4d98e5f7d20 Parents: e9cb157 Author: Andrew Kennedy <[email protected]> Authored: Mon Apr 22 15:46:24 2013 +0100 Committer: Andrew Kennedy <[email protected]> Committed: Wed Apr 24 13:25:44 2013 +0100 ---------------------------------------------------------------------- .../java/brooklyn/entity/nosql/redis/RedisStore.java | 2 ++ .../brooklyn/entity/nosql/redis/RedisStoreImpl.java | 14 ++++++++++++-- .../entity/nosql/redis/RedisStoreSshDriver.java | 11 +---------- .../resources/brooklyn/entity/nosql/redis/redis.conf | 4 ++-- .../resources/brooklyn/entity/nosql/redis/slave.conf | 7 +++++-- 5 files changed, 22 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/79e666f0/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStore.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStore.java b/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStore.java index 492da2d..3717ffc 100644 --- a/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStore.java +++ b/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStore.java @@ -41,4 +41,6 @@ public interface RedisStore extends SoftwareProcess, DataStore { String getAddress(); + Integer getRedisPort(); + } http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/79e666f0/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreImpl.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreImpl.java index bf6c171..ac8b5aa 100644 --- a/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreImpl.java +++ b/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreImpl.java @@ -1,7 +1,5 @@ package brooklyn.entity.nosql.redis; -import java.io.ByteArrayInputStream; -import java.io.File; import java.util.Map; import javax.annotation.Nullable; @@ -14,6 +12,7 @@ import brooklyn.entity.basic.SoftwareProcessImpl; import brooklyn.event.feed.ssh.SshFeed; import brooklyn.event.feed.ssh.SshPollConfig; import brooklyn.event.feed.ssh.SshValueFunctions; +import brooklyn.location.Location; import brooklyn.location.MachineLocation; import brooklyn.location.basic.SshMachineLocation; import brooklyn.util.MutableMap; @@ -54,8 +53,14 @@ public class RedisStoreImpl extends SoftwareProcessImpl implements RedisStore { connectServiceUpIsRunning(); + // Find an SshMachineLocation for the UPTIME feed + Optional<Location> location = Iterables.tryFind(getLocations(), Predicates.instanceOf(SshMachineLocation.class)); + if (!location.isPresent()) throw new IllegalStateException("Could not find SshMachineLocation in list of locations"); + SshMachineLocation machine = (SshMachineLocation) location.get(); + sshFeed = SshFeed.builder() .entity(this) + .machine(machine) .poll(new SshPollConfig<Integer>(UPTIME) .command(getDriver().getRunDir() + "/bin/redis-cli info") .onError(Functions.constant(-1)) @@ -98,4 +103,9 @@ public class RedisStoreImpl extends SoftwareProcessImpl implements RedisStore { return (machine != null) ? machine.getAddress().getHostAddress() : null; } + @Override + public Integer getRedisPort() { + return getAttribute(RedisStore.REDIS_PORT); + } + } http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/79e666f0/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreSshDriver.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreSshDriver.java index 7cbe3c7..9b17057 100644 --- a/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreSshDriver.java +++ b/software/nosql/src/main/java/brooklyn/entity/nosql/redis/RedisStoreSshDriver.java @@ -25,20 +25,11 @@ public class RedisStoreSshDriver extends AbstractSoftwareProcessSshDriver implem super(entity, machine); } - @Override - public RedisStoreImpl getEntity() { - return (RedisStoreImpl) super.getEntity(); - } - - protected Integer getRedisPort() { - return getEntity().getAttribute(RedisStore.REDIS_PORT); - } - private String getExpandedInstallDir() { if (expandedInstallDir == null) throw new IllegalStateException("expandedInstallDir is null; most likely install was not called"); return expandedInstallDir; } - + @Override public void install() { DownloadResolver resolver = Entities.newDownloader(this); http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/79e666f0/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/redis.conf ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/redis.conf b/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/redis.conf index b2dd5cb..0554eb2 100644 --- a/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/redis.conf +++ b/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/redis.conf @@ -5,8 +5,8 @@ daemonize yes pidfile ${driver.runDir}/pid.txt # Set port and optional bind address -port ${entity.port} -# bind ${driver.machine.address} +port ${entity.redisPort?c} +# bind ${entity.address} # Configure logging loglevel verbose http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/79e666f0/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/slave.conf ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/slave.conf b/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/slave.conf index b2dd5cb..3a9e64a 100644 --- a/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/slave.conf +++ b/software/nosql/src/main/resources/brooklyn/entity/nosql/redis/slave.conf @@ -5,8 +5,11 @@ daemonize yes pidfile ${driver.runDir}/pid.txt # Set port and optional bind address -port ${entity.port} -# bind ${driver.machine.address} +port ${entity.redisPort?c} +# bind ${entity.address} + +# Slave configuration +slaveof ${entity.master.address} ${entity.master.redisPort?c} # Configure logging loglevel verbose
