You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2022/07/31 14:03:16 UTC

[brooklyn-library] branch master updated (a2166828c -> ada8212fe)

This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-library.git


    from a2166828c Fixed API for KnifeTaskFactory by replacing guava.Function with java.util.Function
     new 76867b249 pass context to ResourceUtils
     new ada8212fe update iptables commands usage

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../entity/cm/ansible/AnsiblePlaybookTasks.java    |  2 +-
 .../brooklyn/entity/cm/salt/SaltSshTasks.java      |  2 +-
 .../brooklyn/entity/cm/salt/HighstateTest.java     |  2 +-
 .../database/mariadb/MariaDbLiveRackspaceTest.java |  9 ++--
 .../database/mysql/MySqlLiveRackspaceTest.java     |  9 ++--
 .../postgresql/PostgreSqlRackspaceLiveTest.java    |  9 ++--
 .../database/rubyrep/RubyRepRackspaceLiveTest.java |  9 ++--
 .../network/bind/BindDnsServerSshDriver.java       |  9 ++--
 .../entity/proxy/nginx/NginxIntegrationTest.java   |  5 +-
 .../AbstractWebAppFixtureIntegrationTest.java      | 56 ++++++++++------------
 .../entity/webapp/TomcatAutoScalerPolicyTest.java  | 17 ++++---
 11 files changed, 62 insertions(+), 67 deletions(-)


[brooklyn-library] 02/02: update iptables commands usage

Posted by he...@apache.org.
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-library.git

commit ada8212fedea2b54b58c2b270da58c444604b32a
Author: Alex Heneveld <al...@cloudsoft.io>
AuthorDate: Sun Jul 31 15:02:10 2022 +0100

    update iptables commands usage
---
 .../entity/database/mariadb/MariaDbLiveRackspaceTest.java        | 9 +++++----
 .../brooklyn/entity/database/mysql/MySqlLiveRackspaceTest.java   | 9 +++++----
 .../entity/database/postgresql/PostgreSqlRackspaceLiveTest.java  | 9 +++++----
 .../entity/database/rubyrep/RubyRepRackspaceLiveTest.java        | 9 +++++----
 .../brooklyn/entity/network/bind/BindDnsServerSshDriver.java     | 9 ++++-----
 5 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/software/database/src/test/java/org/apache/brooklyn/entity/database/mariadb/MariaDbLiveRackspaceTest.java b/software/database/src/test/java/org/apache/brooklyn/entity/database/mariadb/MariaDbLiveRackspaceTest.java
index 5ee6986c3..31ee12c0b 100644
--- a/software/database/src/test/java/org/apache/brooklyn/entity/database/mariadb/MariaDbLiveRackspaceTest.java
+++ b/software/database/src/test/java/org/apache/brooklyn/entity/database/mariadb/MariaDbLiveRackspaceTest.java
@@ -22,15 +22,16 @@ import java.util.Arrays;
 
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.core.internal.BrooklynProperties;
+import org.apache.brooklyn.util.ssh.BashCommandsConfigurable;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.entity.database.DatastoreMixins.DatastoreCommon;
 import org.apache.brooklyn.entity.database.VogellaExampleAccess;
 import org.apache.brooklyn.location.jclouds.JcloudsLocation;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.net.Protocol;
-import org.apache.brooklyn.util.ssh.IptablesCommands;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Chain;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Policy;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Chain;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Policy;
 
 import com.google.common.collect.ImmutableList;
 
@@ -99,7 +100,7 @@ public class MariaDbLiveRackspaceTest extends MariaDbIntegrationTest {
         app.start(ImmutableList.of(jcloudsLocation));
 
         SshMachineLocation l = (SshMachineLocation) mariadb.getLocations().iterator().next();
-        l.execCommands("add iptables rule", ImmutableList.of(IptablesCommands.insertIptablesRule(Chain.INPUT, Protocol.TCP, 3306, Policy.ACCEPT)));
+        l.execCommands("add iptables rule", ImmutableList.of(new IptablesCommandsConfigurable(BashCommandsConfigurable.newInstance()).insertIptablesRule(Chain.INPUT, Protocol.TCP, 3306, Policy.ACCEPT)));
 
         new VogellaExampleAccess("com.mysql.jdbc.Driver", mariadb.getAttribute(DatastoreCommon.DATASTORE_URL)).readModifyAndRevertDataBase();
     } 
diff --git a/software/database/src/test/java/org/apache/brooklyn/entity/database/mysql/MySqlLiveRackspaceTest.java b/software/database/src/test/java/org/apache/brooklyn/entity/database/mysql/MySqlLiveRackspaceTest.java
index 9b80c3a5a..e597cf81b 100644
--- a/software/database/src/test/java/org/apache/brooklyn/entity/database/mysql/MySqlLiveRackspaceTest.java
+++ b/software/database/src/test/java/org/apache/brooklyn/entity/database/mysql/MySqlLiveRackspaceTest.java
@@ -22,15 +22,16 @@ import java.util.Arrays;
 
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.core.internal.BrooklynProperties;
+import org.apache.brooklyn.util.ssh.BashCommandsConfigurable;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.entity.database.DatastoreMixins.DatastoreCommon;
 import org.apache.brooklyn.entity.database.VogellaExampleAccess;
 import org.apache.brooklyn.location.jclouds.JcloudsLocation;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.net.Protocol;
-import org.apache.brooklyn.util.ssh.IptablesCommands;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Chain;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Policy;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Chain;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Policy;
 
 import com.google.common.collect.ImmutableList;
 
@@ -100,7 +101,7 @@ public class MySqlLiveRackspaceTest extends MySqlIntegrationTest {
         app.start(ImmutableList.of(jcloudsLocation));
 
         SshMachineLocation l = (SshMachineLocation) mysql.getLocations().iterator().next();
-        l.execCommands("add iptables rule", ImmutableList.of(IptablesCommands.insertIptablesRule(Chain.INPUT, Protocol.TCP, 3306, Policy.ACCEPT)));
+        l.execCommands("add iptables rule", ImmutableList.of(new IptablesCommandsConfigurable(BashCommandsConfigurable.newInstance()).insertIptablesRule(Chain.INPUT, Protocol.TCP, 3306, Policy.ACCEPT)));
 
         new VogellaExampleAccess("com.mysql.jdbc.Driver", mysql.getAttribute(DatastoreCommon.DATASTORE_URL)).readModifyAndRevertDataBase();
     } 
diff --git a/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlRackspaceLiveTest.java b/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlRackspaceLiveTest.java
index ab94ed1fb..83b42d45f 100644
--- a/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlRackspaceLiveTest.java
+++ b/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlRackspaceLiveTest.java
@@ -22,15 +22,16 @@ import java.util.Arrays;
 
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.core.location.PortRanges;
+import org.apache.brooklyn.util.ssh.BashCommandsConfigurable;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.entity.database.DatastoreMixins.DatastoreCommon;
 import org.apache.brooklyn.entity.database.VogellaExampleAccess;
 import org.apache.brooklyn.location.jclouds.JcloudsLocation;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.net.Protocol;
-import org.apache.brooklyn.util.ssh.IptablesCommands;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Chain;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Policy;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Chain;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Policy;
 
 import com.google.common.collect.ImmutableList;
 
@@ -100,7 +101,7 @@ public class PostgreSqlRackspaceLiveTest extends PostgreSqlIntegrationTest {
         app.start(ImmutableList.of(jcloudsLocation));
 
         SshMachineLocation l = (SshMachineLocation) psql.getLocations().iterator().next();
-        l.execCommands("add iptables rule", ImmutableList.of(IptablesCommands.insertIptablesRule(Chain.INPUT, Protocol.TCP, 5432, Policy.ACCEPT)));
+        l.execCommands("add iptables rule", ImmutableList.of(new IptablesCommandsConfigurable(BashCommandsConfigurable.newInstance()).insertIptablesRule(Chain.INPUT, Protocol.TCP, 5432, Policy.ACCEPT)));
 
         String url = psql.getAttribute(DatastoreCommon.DATASTORE_URL);
         new VogellaExampleAccess("org.postgresql.Driver", url).readModifyAndRevertDataBase();
diff --git a/software/database/src/test/java/org/apache/brooklyn/entity/database/rubyrep/RubyRepRackspaceLiveTest.java b/software/database/src/test/java/org/apache/brooklyn/entity/database/rubyrep/RubyRepRackspaceLiveTest.java
index 3efb39fad..79562758f 100644
--- a/software/database/src/test/java/org/apache/brooklyn/entity/database/rubyrep/RubyRepRackspaceLiveTest.java
+++ b/software/database/src/test/java/org/apache/brooklyn/entity/database/rubyrep/RubyRepRackspaceLiveTest.java
@@ -24,15 +24,16 @@ import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.core.internal.BrooklynProperties;
 import org.apache.brooklyn.core.location.PortRanges;
+import org.apache.brooklyn.util.ssh.BashCommandsConfigurable;
 import org.testng.annotations.Test;
 import org.apache.brooklyn.entity.database.DatastoreMixins.DatastoreCommon;
 import org.apache.brooklyn.entity.database.postgresql.PostgreSqlIntegrationTest;
 import org.apache.brooklyn.entity.database.postgresql.PostgreSqlNode;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.net.Protocol;
-import org.apache.brooklyn.util.ssh.IptablesCommands;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Chain;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Policy;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Chain;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable.Policy;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -103,7 +104,7 @@ public class RubyRepRackspaceLiveTest extends RubyRepIntegrationTest {
         //hack to get the port for mysql open; is the inbounds property not respected on rackspace??
         for (DatastoreCommon node : ImmutableSet.of(db1, db2)) {
             SshMachineLocation l = (SshMachineLocation) node.getLocations().iterator().next();
-            l.execCommands("add iptables rule", ImmutableList.of(IptablesCommands.insertIptablesRule(Chain.INPUT, Protocol.TCP, 9111, Policy.ACCEPT)));
+            l.execCommands("add iptables rule", ImmutableList.of(new IptablesCommandsConfigurable(BashCommandsConfigurable.newInstance()).insertIptablesRule(Chain.INPUT, Protocol.TCP, 9111, Policy.ACCEPT)));
         }
 
         testReplication(db1, db2);
diff --git a/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerSshDriver.java b/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerSshDriver.java
index e33089b23..0368e634d 100644
--- a/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerSshDriver.java
+++ b/software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerSshDriver.java
@@ -22,6 +22,8 @@ import java.io.ByteArrayInputStream;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.brooklyn.util.ssh.BashCommandsConfigurable;
+import org.apache.brooklyn.util.ssh.IptablesCommandsConfigurable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -35,9 +37,6 @@ import org.apache.brooklyn.util.net.Networking;
 import org.apache.brooklyn.util.net.Protocol;
 import org.apache.brooklyn.util.os.Os;
 import org.apache.brooklyn.util.ssh.BashCommands;
-import org.apache.brooklyn.util.ssh.IptablesCommands;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Chain;
-import org.apache.brooklyn.util.ssh.IptablesCommands.Policy;
 import org.apache.brooklyn.util.text.Strings;
 
 public class BindDnsServerSshDriver extends AbstractSoftwareProcessSshDriver implements BindDnsServerDriver {
@@ -78,8 +77,8 @@ public class BindDnsServerSshDriver extends AbstractSoftwareProcessSshDriver imp
                 BashCommands.sudo("mkdir -p " + getDataDirectory() + " " + getDynamicDirectory() + " " + getOsSupport().getConfigDirectory()),
                 BashCommands.sudo("chown -R " + getOsSupport().getUser() + ":" + getOsSupport().getUser() + " " + getDataDirectory() + " " + getDynamicDirectory()),
                 // TODO determine name of ethernet interface if not eth0?
-                IptablesCommands.insertIptablesRule(Chain.INPUT, "eth0", Protocol.UDP, dnsPort, Policy.ACCEPT),
-                IptablesCommands.insertIptablesRule(Chain.INPUT, "eth0", Protocol.TCP, dnsPort, Policy.ACCEPT),
+                new IptablesCommandsConfigurable(BashCommandsConfigurable.newInstance()).insertIptablesRule(IptablesCommandsConfigurable.Chain.INPUT, "eth0", Protocol.UDP, dnsPort, IptablesCommandsConfigurable.Policy.ACCEPT),
+                new IptablesCommandsConfigurable(BashCommandsConfigurable.newInstance()).insertIptablesRule(IptablesCommandsConfigurable.Chain.INPUT, "eth0", Protocol.TCP, dnsPort, IptablesCommandsConfigurable.Policy.ACCEPT),
                 // TODO Iptables is not a service on Ubuntu
                 BashCommands.sudo("service iptables save"),
                 BashCommands.sudo("service iptables restart"));


[brooklyn-library] 01/02: pass context to ResourceUtils

Posted by he...@apache.org.
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-library.git

commit 76867b249be72eae82e1b6c3c54a32cbcea6deef
Author: Alex Heneveld <al...@cloudsoft.io>
AuthorDate: Sun Jul 31 14:52:25 2022 +0100

    pass context to ResourceUtils
    
    for brooklyn-server 21da50685935380be46a6819c0441f97b879a752
---
 .../entity/cm/ansible/AnsiblePlaybookTasks.java    |  2 +-
 .../brooklyn/entity/cm/salt/SaltSshTasks.java      |  2 +-
 .../brooklyn/entity/cm/salt/HighstateTest.java     |  2 +-
 .../entity/proxy/nginx/NginxIntegrationTest.java   |  5 +-
 .../AbstractWebAppFixtureIntegrationTest.java      | 56 ++++++++++------------
 .../entity/webapp/TomcatAutoScalerPolicyTest.java  | 17 ++++---
 6 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsiblePlaybookTasks.java b/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsiblePlaybookTasks.java
index fffbcea25..f46c849ec 100644
--- a/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsiblePlaybookTasks.java
+++ b/software/cm/ansible/src/main/java/org/apache/brooklyn/entity/cm/ansible/AnsiblePlaybookTasks.java
@@ -49,7 +49,7 @@ public class AnsiblePlaybookTasks {
     public static TaskFactory<?> installPlaybook(final String ansibleDirectory, final String playbookName, final String playbookUrl) {
         return Tasks.sequential("build ansible playbook file for "+playbookName,
                 SshEffectorTasks.put(ansibleDirectory + "/" + playbookName + ".yaml")
-                    .contents(ResourceUtils.create().getResourceFromUrl(playbookUrl))
+                    .contents(ResourceUtils.create(app).getResourceFromUrl(playbookUrl))
                     .createDirectory());
     }
     
diff --git a/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/SaltSshTasks.java b/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/SaltSshTasks.java
index 03daf8eeb..7823320bc 100644
--- a/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/SaltSshTasks.java
+++ b/software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/SaltSshTasks.java
@@ -195,7 +195,7 @@ public class SaltSshTasks {
 
     private static SshPutTaskFactory installScript(String name, String description) {
         return SshEffectorTasks.put("/tmp/" + name)
-                .contents(ResourceUtils.create().getResourceFromUrl("classpath:" + name))
+                .contents(() -> ResourceUtils.create("salt-classpath-lookup-from-context").getResourceFromUrl("classpath:" + name))
                 .summary(description);
     }
 
diff --git a/software/cm/salt/src/test/java/org/apache/brooklyn/entity/cm/salt/HighstateTest.java b/software/cm/salt/src/test/java/org/apache/brooklyn/entity/cm/salt/HighstateTest.java
index 586a56980..e56d8636a 100644
--- a/software/cm/salt/src/test/java/org/apache/brooklyn/entity/cm/salt/HighstateTest.java
+++ b/software/cm/salt/src/test/java/org/apache/brooklyn/entity/cm/salt/HighstateTest.java
@@ -86,7 +86,7 @@ public class HighstateTest {
 
 
     private String getTestYaml() {
-        final ResourceUtils resourceUtils = ResourceUtils.create();
+        final ResourceUtils resourceUtils = ResourceUtils.create("test");
         final InputStream yaml = resourceUtils.getResourceFromUrl("classpath://test-highstate.yaml");
         return Streams.readFullyStringAndClose(yaml);
     }
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/proxy/nginx/NginxIntegrationTest.java b/software/webapp/src/test/java/org/apache/brooklyn/entity/proxy/nginx/NginxIntegrationTest.java
index 4598b02a4..138fcfccf 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/proxy/nginx/NginxIntegrationTest.java
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/proxy/nginx/NginxIntegrationTest.java
@@ -41,6 +41,7 @@ import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.test.HttpTestUtils;
 import org.apache.brooklyn.test.WebAppMonitor;
 import org.apache.brooklyn.test.support.TestResourceUnavailableException;
+import org.apache.brooklyn.util.http.HttpTool;
 import org.apache.brooklyn.util.time.Duration;
 import org.apache.brooklyn.util.time.Time;
 import org.slf4j.Logger;
@@ -367,7 +368,7 @@ public class NginxIntegrationTest extends BrooklynAppLiveTestSupport {
                 while (true) {
                     try {
                         num++;
-                        int code = HttpTestUtils.getHttpStatusCode(nginxUrl);
+                        int code = HttpTool.getHttpStatusCodeUnsafe(nginxUrl);
                         if (code!=200) log.info("NGINX GOT: "+code);
                         else log.debug("NGINX GOT: "+code);
                         if (System.currentTimeMillis()>=lastReportTime+1000) {
@@ -390,7 +391,7 @@ public class NginxIntegrationTest extends BrooklynAppLiveTestSupport {
                 while (true) {
                     try {
                         num++;
-                        int code = HttpTestUtils.getHttpStatusCode(jbossUrl);
+                        int code = HttpTool.getHttpStatusCodeUnsafe(jbossUrl);
                         if (code!=200) log.info("JBOSS GOT: "+code);
                         else log.debug("JBOSS GOT: "+code);
                         if (System.currentTimeMillis()>=1000+lastReportTime) {
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/AbstractWebAppFixtureIntegrationTest.java b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/AbstractWebAppFixtureIntegrationTest.java
index c5fef08fe..2cc77dbc6 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/AbstractWebAppFixtureIntegrationTest.java
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/AbstractWebAppFixtureIntegrationTest.java
@@ -18,25 +18,11 @@
  */
 package org.apache.brooklyn.entity.webapp;
 
-import static org.apache.brooklyn.test.HttpTestUtils.connectToUrl;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import java.security.KeyStore;
-import java.security.cert.Certificate;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
-
+import com.google.common.base.Predicate;
+import com.google.common.base.Stopwatch;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
 import org.apache.brooklyn.api.entity.Application;
 import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.EntitySpec;
@@ -62,22 +48,28 @@ import org.apache.brooklyn.test.support.TestResourceUnavailableException;
 import org.apache.brooklyn.util.collections.MutableMap;
 import org.apache.brooklyn.util.core.crypto.FluentKeySigner;
 import org.apache.brooklyn.util.core.crypto.SecureKeys;
+import org.apache.brooklyn.util.http.HttpTool;
 import org.apache.brooklyn.util.net.Urls;
 import org.apache.brooklyn.util.stream.Streams;
 import org.apache.brooklyn.util.time.Time;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
+import org.testng.annotations.*;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Stopwatch;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+import java.security.KeyStore;
+import java.security.cert.Certificate;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import static org.testng.Assert.*;
 
 /**
  * Test fixture for implementations of JavaWebApp, checking start up and shutdown, 
@@ -252,7 +244,7 @@ public abstract class AbstractWebAppFixtureIntegrationTest {
 
         final int n = 10;
         for (int i = 0; i < n; i++) {
-            URLConnection connection = HttpTestUtils.connectToUrl(url);
+            URLConnection connection = HttpTool.connectToUrlUnsafe(url);
             int status = ((HttpURLConnection) connection).getResponseCode();
             log.info("connection to {} gives {}", url, status);
         }
@@ -312,7 +304,7 @@ public abstract class AbstractWebAppFixtureIntegrationTest {
                     log.info("Applying load for "+WebAppServiceMethods.DEFAULT_WINDOW_DURATION);
                     while (stopwatch.elapsed(TimeUnit.MILLISECONDS) < WebAppServiceMethods.DEFAULT_WINDOW_DURATION.toMilliseconds()) {
                         long preReqsTime = stopwatch.elapsed(TimeUnit.MILLISECONDS);
-                        for (int i = 0; i < desiredMsgsPerSec; i++) { connectToUrl(url); }
+                        for (int i = 0; i < desiredMsgsPerSec; i++) { HttpTool.connectToUrlUnsafe(url); }
                         Time.sleep(1000 - (stopwatch.elapsed(TimeUnit.MILLISECONDS)-preReqsTime));
                         reqsSent.addAndGet(desiredMsgsPerSec);
                     }
@@ -386,7 +378,7 @@ public abstract class AbstractWebAppFixtureIntegrationTest {
         String url = entity.getAttribute(WebAppService.ROOT_URL) + "does_not_exist";
 
         // Apply load to entity. Assert enriched sensor values.
-        HttpTestUtils.connectToUrl(url);
+        HttpTool.connectToUrlUnsafe(url);
         EntityAsserts.assertAttributeEventually(entity, WebAppServiceMetrics.REQUEST_COUNT, new Predicate<Integer>() {
                 @Override public boolean apply(Integer input) {
                     return input > 0;
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/TomcatAutoScalerPolicyTest.java b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/TomcatAutoScalerPolicyTest.java
index 7ba75768a..b12710ee1 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/TomcatAutoScalerPolicyTest.java
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/TomcatAutoScalerPolicyTest.java
@@ -18,10 +18,8 @@
  */
 package org.apache.brooklyn.entity.webapp;
 
-import static org.apache.brooklyn.test.HttpTestUtils.connectToUrl;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
@@ -29,18 +27,19 @@ import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.test.entity.TestApplication;
 import org.apache.brooklyn.entity.webapp.tomcat.TomcatServer;
 import org.apache.brooklyn.entity.webapp.tomcat.TomcatServerImpl;
+import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
+import org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy;
 import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.collections.MutableMap;
+import org.apache.brooklyn.util.http.HttpTool;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
-import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
-import org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
 
 public class TomcatAutoScalerPolicyTest {
 
@@ -101,7 +100,7 @@ public class TomcatAutoScalerPolicyTest {
         // Alternatively could hit each tomcat server's URL twice per second; but that's less deterministic.
         TomcatServer tc = (TomcatServer) Iterables.getOnlyElement(cluster.getMembers());
         for (int i = 0; i < 2; i++) {
-            connectToUrl(tc.getAttribute(TomcatServerImpl.ROOT_URL));
+            HttpTool.connectToUrlUnsafe(tc.getAttribute(TomcatServerImpl.ROOT_URL));
         }
         
         // We'll scale to two members as soon as the policy detects it.