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:17 UTC

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

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.