Added additional config content - rename the parameter - upload the config file at one step - RiakNodeSshDriver - no need to use queueIfPossible
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/bb244102 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/bb244102 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/bb244102 Branch: refs/heads/master Commit: bb244102aa3fe28f5659ea31fe925642a1771660 Parents: 4a679f4 Author: Valentin Aitken <[email protected]> Authored: Tue Apr 21 18:23:07 2015 +0300 Committer: Valentin Aitken <[email protected]> Committed: Tue Apr 21 18:33:43 2015 +0300 ---------------------------------------------------------------------- .../java/brooklyn/entity/nosql/riak/RiakNode.java | 3 +++ .../entity/nosql/riak/RiakNodeSshDriver.java | 16 +++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bb244102/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java index 67f590f..0312890 100644 --- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java +++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java @@ -70,6 +70,9 @@ public interface RiakNode extends SoftwareProcess { "riak.riakConf.templateUrl.mac", "Template file (in freemarker format) for the app.config config file", "classpath://brooklyn/entity/nosql/riak/riak-mac.conf"); + ConfigKey<String> RIAK_CONF_ADDITIONAL_CONTENT = ConfigKeys.newStringConfigKey( + "riak.riakConf.additionalContent", "Template file (in freemarker format) for setting up additional settings in the riak.conf file", ""); + @SetFromFlag("downloadUrlRhelCentos") AttributeSensorAndConfigKey<String, String> DOWNLOAD_URL_RHEL_CENTOS = ConfigKeys.newTemplateSensorAndConfigKey("download.url.rhelcentos", "URL pattern for downloading the linux RPM installer (will substitute things like ${version} automatically)", http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bb244102/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java index 33a63ca..5bd7867 100644 --- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java +++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java @@ -56,7 +56,6 @@ import brooklyn.util.text.Strings; import com.google.common.base.Joiner; import com.google.common.base.Optional; -import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; @@ -237,19 +236,26 @@ public class RiakNodeSshDriver extends AbstractSoftwareProcessSshDriver implemen if (isVersion1()) { String vmArgsTemplate = processTemplate(entity.getConfig(RiakNode.RIAK_VM_ARGS_TEMPLATE_URL)); String saveAsVmArgs = Urls.mergePaths(getRunDir(), "vm.args"); - DynamicTasks.queueIfPossible(SshEffectorTasks.put(saveAsVmArgs).contents(vmArgsTemplate)); + DynamicTasks.queue(SshEffectorTasks.put(saveAsVmArgs).contents(vmArgsTemplate)); commands.add(sudo("mv " + saveAsVmArgs + " " + getRiakEtcDir())); String appConfigTemplate = processTemplate(entity.getConfig(RiakNode.RIAK_APP_CONFIG_TEMPLATE_URL)); String saveAsAppConfig = Urls.mergePaths(getRunDir(), "app.config"); - DynamicTasks.queueIfPossible(SshEffectorTasks.put(saveAsAppConfig).contents(appConfigTemplate)); + DynamicTasks.queue(SshEffectorTasks.put(saveAsAppConfig).contents(appConfigTemplate)); commands.add(sudo("mv " + saveAsAppConfig + " " + getRiakEtcDir())); } else { String templateUrl = osDetails.isMac() ? entity.getConfig(RiakNode.RIAK_CONF_TEMPLATE_URL_MAC) : entity.getConfig(RiakNode.RIAK_CONF_TEMPLATE_URL_LINUX); - String riakConfTemplate = processTemplate(templateUrl); + String riakConfContent = processTemplate(templateUrl); String saveAsRiakConf = Urls.mergePaths(getRunDir(), "riak.conf"); - DynamicTasks.queueIfPossible(SshEffectorTasks.put(saveAsRiakConf).contents(riakConfTemplate)); + + if(Strings.isNonBlank(entity.getConfig(RiakNode.RIAK_CONF_ADDITIONAL_CONTENT))) { + String additionalConfigContent = processTemplateContents(entity.getConfig(RiakNode.RIAK_CONF_ADDITIONAL_CONTENT)); + riakConfContent += "\n## Brooklyn note: additional config\n"; + riakConfContent += additionalConfigContent; + } + + DynamicTasks.queue(SshEffectorTasks.put(saveAsRiakConf).contents(riakConfContent)); commands.add(sudo("mv " + saveAsRiakConf + " " + getRiakEtcDir())); }
