This is an automated email from the ASF dual-hosted git repository. heneveld pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 401f26d347f2a24fd16e08c881ce7e5e7785cc35 Author: Alex Heneveld <[email protected]> AuthorDate: Fri Jul 29 11:12:52 2022 +0100 tweak signatures so machines are preferred over entities, and short key name accepted to bring it in line with other ssh config --- .../brooklyn/location/ssh/SshMachineLocation.java | 10 ++--- .../brooklyn/util/core/file/ArchiveUtils.java | 2 +- .../util/core/file/BrooklynOsCommands.java | 51 +++++++++++++++++++--- .../brooklyn/util/core/task/ssh/SshTasks.java | 4 +- .../brooklyn/location/jclouds/JcloudsLocation.java | 2 +- .../policy/jclouds/os/CreateUserPolicy.java | 2 +- ...eJcloudsLocationUserLoginAndConfigLiveTest.java | 2 +- .../entity/brooklynnode/BrooklynNodeSshDriver.java | 4 +- .../entity/java/JavaSoftwareProcessSshDriver.java | 4 +- .../brooklyn/entity/machine/MachineInitTasks.java | 2 +- .../entity/machine/SetHostnameCustomizer.java | 2 +- .../base/AbstractSoftwareProcessSshDriver.java | 2 +- .../base/VanillaSoftwareProcessSshDriver.java | 2 +- .../system_service/InitdServiceInstaller.java | 2 +- .../entity/AbstractMultiDistroLiveTest.java | 2 +- .../test/mysql/DynamicToyMySqlEntityBuilder.java | 6 +-- 16 files changed, 68 insertions(+), 31 deletions(-) diff --git a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java index 99f81a9994..9f7a8e3d1d 100644 --- a/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java +++ b/core/src/main/java/org/apache/brooklyn/location/ssh/SshMachineLocation.java @@ -870,7 +870,7 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi LOG.debug("installing {} to {} on {}, attempting remote curl", new Object[] { url, destPath, this }); try { - BashCommandsConfigurable bash = BrooklynOsCommands.bash(getManagementContext()); + BashCommandsConfigurable bash = BrooklynOsCommands.bash(this); PipedInputStream insO = new PipedInputStream(); OutputStream outO = new PipedOutputStream(insO); PipedInputStream insE = new PipedInputStream(); OutputStream outE = new PipedOutputStream(insE); StreamGobbler sgsO = new StreamGobbler(insO, null, LOG); sgsO.setLogPrefix("[curl @ "+address+":stdout] ").start(); @@ -1063,10 +1063,10 @@ public class SshMachineLocation extends AbstractMachineLocation implements Machi @Override public String resolveOnBoxDirFor(Entity entity, String unresolvedPath) { ProcessTaskWrapper<Integer> baseTask = SshEffectorTasks.ssh( - BrooklynOsCommands.bash(entity).alternatives("mkdir -p \"${BASE_DIR}\"", - BrooklynOsCommands.bash(entity).chain( - BrooklynOsCommands.bash(entity).sudo("mkdir -p \"${BASE_DIR}\""), - BrooklynOsCommands.bash(entity).sudo("chown "+getUser()+" \"${BASE_DIR}\""))), + BrooklynOsCommands.bash(this).alternatives("mkdir -p \"${BASE_DIR}\"", + BrooklynOsCommands.bash(this).chain( + BrooklynOsCommands.bash(this).sudo("mkdir -p \"${BASE_DIR}\""), + BrooklynOsCommands.bash(this).sudo("chown "+getUser()+" \"${BASE_DIR}\""))), "cd ~", "cd ${BASE_DIR}", "echo BASE_DIR_RESULT':'`pwd`:BASE_DIR_RESULT") diff --git a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveUtils.java b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveUtils.java index 2f16f0baed..1a5dc08a1f 100644 --- a/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveUtils.java +++ b/core/src/main/java/org/apache/brooklyn/util/core/file/ArchiveUtils.java @@ -286,7 +286,7 @@ public class ArchiveUtils { } // extract, now using task if available - MutableList<String> commands = MutableList.copyOf(installCommands(BrooklynOsCommands.bash(machine.getManagementContext()), destFile)) + MutableList<String> commands = MutableList.copyOf(installCommands(BrooklynOsCommands.bash(machine), destFile)) .appendAll(extractCommands(destFile, tmpDir, destDir, false, keepArchiveAfterUnpacking)); if (DynamicTasks.getTaskQueuingContext()!=null) { result = DynamicTasks.queue(SshTasks.newSshExecTaskFactory(machine, commands.toArray(new String[0])).summary("extracting archive").requiringExitCodeZero()).get(); diff --git a/core/src/main/java/org/apache/brooklyn/util/core/file/BrooklynOsCommands.java b/core/src/main/java/org/apache/brooklyn/util/core/file/BrooklynOsCommands.java index ca636becc8..2e9a27a141 100644 --- a/core/src/main/java/org/apache/brooklyn/util/core/file/BrooklynOsCommands.java +++ b/core/src/main/java/org/apache/brooklyn/util/core/file/BrooklynOsCommands.java @@ -19,18 +19,27 @@ package org.apache.brooklyn.util.core.file; import org.apache.brooklyn.api.entity.Entity; +import org.apache.brooklyn.api.location.Location; +import org.apache.brooklyn.api.location.MachineLocation; import org.apache.brooklyn.api.mgmt.ManagementContext; +import org.apache.brooklyn.api.objs.BrooklynObject; import org.apache.brooklyn.config.ConfigKey; import org.apache.brooklyn.core.config.ConfigKeys; import org.apache.brooklyn.core.entity.BrooklynConfigKeys; -import org.apache.brooklyn.core.entity.EntityInternal; import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal; +import org.apache.brooklyn.core.objs.BrooklynObjectInternal; +import org.apache.brooklyn.util.collections.MutableList; import org.apache.brooklyn.util.ssh.BashCommandsConfigurable; import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + public class BrooklynOsCommands { public static final ConfigKey<Boolean> SSH_CONFIG_SCRIPT_IGNORE_CERTS = BrooklynConfigKeys.SSH_CONFIG_SCRIPTS_IGNORE_CERTS; + public static final ConfigKey<Boolean> SCRIPT_IGNORE_CERTS = ConfigKeys.newConfigKeyWithPrefixRemoved(BrooklynConfigKeys.BROOKLYN_SSH_CONFIG_KEY_PREFIX, SSH_CONFIG_SCRIPT_IGNORE_CERTS); public static BashCommandsConfigurable bash(ManagementContext mgmt) { return BashCommandsConfigurable.newInstance().withIgnoreCerts( ((ManagementContextInternal)mgmt).getBrooklynProperties().getConfig(SSH_CONFIG_SCRIPT_IGNORE_CERTS) ); @@ -40,14 +49,42 @@ public class BrooklynOsCommands { return new IptablesCommandsConfigurable(bash(mgmt)); } - public static BashCommandsConfigurable bash(Entity entity) { - Boolean ignoreCerts = entity.config().get(SSH_CONFIG_SCRIPT_IGNORE_CERTS); - if (ignoreCerts!=null) return BashCommandsConfigurable.newInstance().withIgnoreCerts(ignoreCerts); - return bash( ((EntityInternal)entity).getManagementContext() ); + public static BashCommandsConfigurable bash(Entity entity, boolean includeMachineLocations) { + return bashForBrooklynObjects(includeMachineLocations, entity); + } + + public static BashCommandsConfigurable bash(Location location) { + return bashForBrooklynObjects(false, location); + } + + public static BashCommandsConfigurable bashForBrooklynObjects(boolean includeMachineLocations, BrooklynObject ...brooklynObjects) { + return bashForBrooklynObjects(includeMachineLocations, Arrays.asList(brooklynObjects)); + } + public static BashCommandsConfigurable bashForBrooklynObjects(boolean includeMachineLocations, List<BrooklynObject> brooklynObjects0) { + ManagementContext mgmt = null; + List<BrooklynObject> brooklynObjects = MutableList.of(); + for (BrooklynObject bo: brooklynObjects0) { + if (includeMachineLocations && bo instanceof Entity) brooklynObjects.addAll( ((Entity)bo).getLocations().stream().filter(l -> l instanceof MachineLocation).collect(Collectors.toList()) ); + + brooklynObjects.add(bo); + } + + for (BrooklynObject bo: brooklynObjects) { + Boolean ignoreCerts = null; + // unprefixed key allowed for locations + if (bo instanceof Location) ignoreCerts = bo.config().get(SCRIPT_IGNORE_CERTS); + + if (ignoreCerts==null) ignoreCerts = bo.config().get(SSH_CONFIG_SCRIPT_IGNORE_CERTS); + if (ignoreCerts!=null) return BashCommandsConfigurable.newInstance().withIgnoreCerts(ignoreCerts); + + if (mgmt==null) mgmt = ((BrooklynObjectInternal)bo).getManagementContext(); + } + + return bash(mgmt); } - public static IptablesCommandsConfigurable bashIptables(Entity entity) { - return new IptablesCommandsConfigurable(bash(entity)); + public static IptablesCommandsConfigurable bashIptables(BrooklynObject entityOrOtherBrooklynObject) { + return new IptablesCommandsConfigurable(bashForBrooklynObjects(true, entityOrOtherBrooklynObject)); } } diff --git a/core/src/main/java/org/apache/brooklyn/util/core/task/ssh/SshTasks.java b/core/src/main/java/org/apache/brooklyn/util/core/task/ssh/SshTasks.java index 16066e9967..ae51d76cd7 100644 --- a/core/src/main/java/org/apache/brooklyn/util/core/task/ssh/SshTasks.java +++ b/core/src/main/java/org/apache/brooklyn/util/core/task/ssh/SshTasks.java @@ -184,8 +184,8 @@ public class SshTasks { .commandModifier(x -> { Entity entity = BrooklynTaskTags.getTargetOrContextEntity(Tasks.current()); BashCommandsConfigurable bash; - if (entity!=null) bash = BrooklynOsCommands.bash(entity); - else bash = BrooklynOsCommands.bash(machine.getManagementContext()); + if (entity!=null) bash = BrooklynOsCommands.bash(machine); + else bash = BrooklynOsCommands.bash(machine); return MutableList.of( bash.dontRequireTtyForSudo(), // strange quotes are to ensure we don't match against echoed stdin diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java index 764b9021e1..a7b3d13bf3 100644 --- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java +++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/JcloudsLocation.java @@ -404,7 +404,7 @@ public class JcloudsLocation extends AbstractCloudMachineProvisioningLocation im : (OsFamily.WINDOWS == confFamily); } - private BashCommandsConfigurable bashCommands() { return BrooklynOsCommands.bash(getManagementContext()); } + private BashCommandsConfigurable bashCommands() { return BrooklynOsCommands.bash(this); } private IptablesCommandsConfigurable iptablesCommands() { return new IptablesCommandsConfigurable(bashCommands()); } public boolean isLocationFirewalldEnabled(SshMachineLocation location) { diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java b/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java index abf0c8d8a0..300b45c1e8 100644 --- a/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java +++ b/locations/jclouds/src/main/java/org/apache/brooklyn/policy/jclouds/os/CreateUserPolicy.java @@ -149,7 +149,7 @@ public class CreateUserPolicy extends AbstractPolicy implements SensorEventListe String cmd = adminAccess.render(scriptOsFamily); // Exec command to create the user - BashCommandsConfigurable bash = BrooklynOsCommands.bash(entity); + BashCommandsConfigurable bash = BrooklynOsCommands.bash(machine); int result = machine.execScript(ImmutableMap.of(SshTool.PROP_RUN_AS_ROOT.getName(), true), "create-user-"+user, ImmutableList.of(cmd), ImmutableMap.of("PATH", bash.sbinPath())); if (result != 0) { throw new IllegalStateException("Failed to auto-generate user, using command "+cmd); diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/SimpleJcloudsLocationUserLoginAndConfigLiveTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/SimpleJcloudsLocationUserLoginAndConfigLiveTest.java index 230bc78f4a..980fb0dd69 100644 --- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/SimpleJcloudsLocationUserLoginAndConfigLiveTest.java +++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/SimpleJcloudsLocationUserLoginAndConfigLiveTest.java @@ -215,7 +215,7 @@ public class SimpleJcloudsLocationUserLoginAndConfigLiveTest extends AbstractJcl "grantUserSudo", false, "waitForSshable", 30*1000)); - int exitCode = execWithExitCode(m, ImmutableList.of(BrooklynOsCommands.bash(m.getManagementContext()).sudo("echo yes"))); + int exitCode = execWithExitCode(m, ImmutableList.of(BrooklynOsCommands.bash(m).sudo("echo yes"))); Assert.assertFalse(exitCode == 0, "exit code for sudo command should not have been 0"); } diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java index 67a0d8689e..15120b570d 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeSshDriver.java @@ -154,9 +154,9 @@ public class BrooklynNodeSshDriver extends JavaSoftwareProcessSshDriver implemen getMachine().copyTo(distroStream, getInstallDir()+"/"+saveAs); } } else { - commands.addAll(BrooklynOsCommands.bash(getEntity()).commandsToDownloadUrlsAs(urls, saveAs)); + commands.addAll(BrooklynOsCommands.bash(getMachine()).commandsToDownloadUrlsAs(urls, saveAs)); } - commands.add(BrooklynOsCommands.bash(getEntity()).INSTALL_TAR); + commands.add(BrooklynOsCommands.bash(getMachine()).INSTALL_TAR); commands.add("tar xzfv " + saveAs); newScript(INSTALLING). diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java index 636d1d35e3..54a403ac7b 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/java/JavaSoftwareProcessSshDriver.java @@ -292,7 +292,7 @@ public abstract class JavaSoftwareProcessSshDriver extends AbstractSoftwareProce return true; } } - return tryJavaInstall(requiredVersion, BrooklynOsCommands.bash(getEntity()).installJava(requiredJavaMinor)) == 0; + return tryJavaInstall(requiredVersion, BrooklynOsCommands.bash(getMachine()).installJava(requiredJavaMinor)) == 0; } /** @@ -417,7 +417,7 @@ public abstract class JavaSoftwareProcessSshDriver extends AbstractSoftwareProce // http://mail.openjdk.java.net/pipermail/net-dev/2012-July/004603.html String newHostname = "br-"+getEntity().getId().toLowerCase(); log.info("Detected likelihood of Java hostname bug with hostname length "+len+" for "+getEntity()+"; renaming "+getMachine()+" to hostname "+newHostname); - DynamicTasks.queue(SshEffectorTasks.ssh(BrooklynOsCommands.bash(getEntity()).setHostname(newHostname, null))).block(); + DynamicTasks.queue(SshEffectorTasks.ssh(BrooklynOsCommands.bash(getMachine()).setHostname(newHostname, null))).block(); } } else { log.debug("Hostname length could not be determined for location "+EffectorTasks.findSshMachine()+"; not doing Java hostname bug check"); diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/machine/MachineInitTasks.java b/software/base/src/main/java/org/apache/brooklyn/entity/machine/MachineInitTasks.java index c1bbe1e63a..59be0e1642 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/machine/MachineInitTasks.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/machine/MachineInitTasks.java @@ -70,7 +70,7 @@ public class MachineInitTasks { }); } - private IptablesCommandsConfigurable iptablesCommands(SshMachineLocation m) { return new IptablesCommandsConfigurable(BrooklynOsCommands.bash(m.getManagementContext())); } + private IptablesCommandsConfigurable iptablesCommands(SshMachineLocation m) { return BrooklynOsCommands.bashIptables(m); } protected void stopIptablesImpl(final SshMachineLocation machine) { diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/machine/SetHostnameCustomizer.java b/software/base/src/main/java/org/apache/brooklyn/entity/machine/SetHostnameCustomizer.java index 128ad9b66c..5c91698c5e 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/machine/SetHostnameCustomizer.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/machine/SetHostnameCustomizer.java @@ -174,7 +174,7 @@ public class SetHostnameCustomizer extends BasicMachineLocationCustomizer { boolean hasDomain = Strings.isNonBlank(domainFixed); String fqdn = hasDomain ? hostName+"."+domainFixed : hostName; - BashCommandsConfigurable bash = BrooklynOsCommands.bash(machine.getManagementContext()); + BashCommandsConfigurable bash = BrooklynOsCommands.bash(machine); exec(machine, true, bash.sudo(String.format("sed -i.bak -e '1i127.0.0.1 %s %s' -e '/^127.0.0.1/d' /etc/hosts", fqdn, hostName)), bash.sudo(String.format("sed -i.bak -e 's/^HOSTNAME=.*$/HOSTNAME=%s/' /etc/sysconfig/network", fqdn)), diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java index 697fa6bdf0..20c3dbc282 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/AbstractSoftwareProcessSshDriver.java @@ -362,7 +362,7 @@ public abstract class AbstractSoftwareProcessSshDriver extends AbstractSoftwareP return result; } - protected BashCommandsConfigurable bashCommands() { return BrooklynOsCommands.bash(getEntity()); } + protected BashCommandsConfigurable bashCommands() { return BrooklynOsCommands.bash(getMachine()); } public void checkNoHostnameBug() { try { diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java index 2cc3575075..4779a449d7 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/software/base/VanillaSoftwareProcessSshDriver.java @@ -91,7 +91,7 @@ public class VanillaSoftwareProcessSshDriver extends AbstractSoftwareProcessSshD downloadedFilename = resolver.getFilename(); List<String> commands = new LinkedList<String>(); - BashCommandsConfigurable bash = BrooklynOsCommands.bash(getEntity()); + BashCommandsConfigurable bash = BrooklynOsCommands.bash(getMachine()); commands.addAll(bash.commandsToDownloadUrlsAs(urls, downloadedFilename)); commands.addAll(ArchiveUtils.installCommands(bash, downloadedFilename)); diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/system_service/InitdServiceInstaller.java b/software/base/src/main/java/org/apache/brooklyn/entity/system_service/InitdServiceInstaller.java index 6c47b9b20b..6713dfb0ed 100644 --- a/software/base/src/main/java/org/apache/brooklyn/entity/system_service/InitdServiceInstaller.java +++ b/software/base/src/main/java/org/apache/brooklyn/entity/system_service/InitdServiceInstaller.java @@ -80,7 +80,7 @@ public class InitdServiceInstaller implements SystemServiceInstaller { SshPutTaskWrapper putServiceTask = SshTasks.newSshPutTaskFactory(sshMachine, tmpServicePath) .contents(service) .newTask(); - BashCommandsConfigurable bash = BrooklynOsCommands.bash(sshMachine.getManagementContext()); + BashCommandsConfigurable bash = BrooklynOsCommands.bash(sshMachine); ProcessTaskWrapper<Integer> installServiceTask = SshTasks.newSshExecTaskFactory(sshMachine, bash.chain( bash.sudo("mv " + tmpServicePath + " " + servicePath), diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/AbstractMultiDistroLiveTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/AbstractMultiDistroLiveTest.java index 66f2485ec1..e8d54bc6c1 100644 --- a/software/base/src/test/java/org/apache/brooklyn/entity/AbstractMultiDistroLiveTest.java +++ b/software/base/src/test/java/org/apache/brooklyn/entity/AbstractMultiDistroLiveTest.java @@ -144,7 +144,7 @@ public abstract class AbstractMultiDistroLiveTest extends BrooklynAppLiveTestSup Asserts.succeedsEventually(ImmutableMap.of("timeout", Duration.FIVE_MINUTES), new Runnable() { @Override public void run() { - assertExecSsh(server, ImmutableList.of(BrooklynOsCommands.bash(server).installPackage("curl"), "netstat -antp", "curl -k --retry 3 "+url)); + assertExecSsh(server, ImmutableList.of(BrooklynOsCommands.bash(server, true).installPackage("curl"), "netstat -antp", "curl -k --retry 3 "+url)); }}); } } diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/mysql/DynamicToyMySqlEntityBuilder.java b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/mysql/DynamicToyMySqlEntityBuilder.java index 98ce92a8a9..940152ce07 100644 --- a/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/mysql/DynamicToyMySqlEntityBuilder.java +++ b/software/base/src/test/java/org/apache/brooklyn/entity/software/base/test/mysql/DynamicToyMySqlEntityBuilder.java @@ -108,10 +108,10 @@ public class DynamicToyMySqlEntityBuilder { SshEffectorTasks.ssh( "mkdir "+dir(entity), "cd "+dir(entity), - BrooklynOsCommands.bash(entity).downloadToStdout(downloadUrl(entity, isLocalhost(machineS)))+" | tar xvz" + BrooklynOsCommands.bash(machineS.get()).downloadToStdout(downloadUrl(entity, isLocalhost(machineS)))+" | tar xvz" ).summary("download mysql").returning(SshTasks.returningStdoutLoggingInfo(log, true))); if (isLinux(machineS)) { - DynamicTasks.queue(SshEffectorTasks.ssh(BrooklynOsCommands.bash(entity).installPackage("libaio1"))); + DynamicTasks.queue(SshEffectorTasks.ssh(BrooklynOsCommands.bash(machineS.get()).installPackage("libaio1"))); } DynamicTasks.queue( SshEffectorTasks.put(".my.cnf") @@ -127,7 +127,7 @@ public class DynamicToyMySqlEntityBuilder { protected void postStartCustom(ConfigBag parameters) { // if it's still up after 5s assume we are good Time.sleep(Duration.FIVE_SECONDS); - if (!DynamicTasks.queue(SshEffectorTasks.isPidFromFileRunning(BrooklynOsCommands.bash(entity()), dir(entity)+"/*/data/*.pid")).get()) { + if (!DynamicTasks.queue(SshEffectorTasks.isPidFromFileRunning(BrooklynOsCommands.bash(entity(), true), dir(entity)+"/*/data/*.pid")).get()) { // but if it's not up add a bunch of other info log.warn("MySQL did not start: "+dir(entity)); ProcessTaskWrapper<Integer> info = DynamicTasks.queue(SshEffectorTasks.ssh(
