Repository: brooklyn-server
Updated Branches:
refs/heads/master eb4992e28 -> b08c48298
Add (disabled) rebind test for deep catalog item nesting.
This fails with the following exception:
org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: Failure
rebinding: problem creating ENTITY zmm0lmrzll of type
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl: Unable to load
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl from []: Invalid class:
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl:
ClassNotFoundException: org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at
org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:129)
at
org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebind(RebindManagerImpl.java:513)
at
org.apache.brooklyn.core.mgmt.rebind.RebindTestUtils.rebindAll(RebindTestUtils.java:446)
at
org.apache.brooklyn.core.mgmt.rebind.RebindTestUtils.rebind(RebindTestUtils.java:328)
at
org.apache.brooklyn.core.mgmt.rebind.RebindTestFixture.rebind(RebindTestFixture.java:281)
at
org.apache.brooklyn.camp.brooklyn.AbstractYamlRebindTest.rebind(AbstractYamlRebindTest.java:86)
at
org.apache.brooklyn.core.mgmt.rebind.RebindTestFixture.rebind(RebindTestFixture.java:217)
at
org.apache.brooklyn.camp.brooklyn.RebindOsgiTest.testReboundDeepCatalogItemCanLoadResources(RebindOsgiTest.java:201)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
at org.testng.SuiteRunner.run(SuiteRunner.java:254)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:124)
Caused by: java.util.concurrent.ExecutionException:
org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: Failure
rebinding: problem creating ENTITY zmm0lmrzll of type
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl: Unable to load
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl from []: Invalid class:
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl:
ClassNotFoundException: org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at
com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
at org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361)
at
org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebind(RebindManagerImpl.java:511)
... 29 more
Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException:
Failure rebinding: problem creating ENTITY zmm0lmrzll of type
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl: Unable to load
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl from []: Invalid class:
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl:
ClassNotFoundException: org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at
org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:430)
at
org.apache.brooklyn.core.mgmt.rebind.RebindExceptionHandlerImpl.onDoneImpl(RebindExceptionHandlerImpl.java:497)
at
org.apache.brooklyn.core.mgmt.rebind.RebindExceptionHandlerImpl.onDone(RebindExceptionHandlerImpl.java:413)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:268)
at
org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebindImpl(RebindManagerImpl.java:558)
at
org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:508)
at
org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:506)
at
org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: problem creating ENTITY zmm0lmrzll
of type org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at
org.apache.brooklyn.core.mgmt.rebind.RebindExceptionHandlerImpl.onCreateFailed(RebindExceptionHandlerImpl.java:265)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration.instantiateLocationsAndEntities(RebindIteration.java:459)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration.doRun(RebindIteration.java:240)
at
org.apache.brooklyn.core.mgmt.rebind.InitialFullRebindIteration.doRun(InitialFullRebindIteration.java:69)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:266)
... 8 more
Caused by: java.lang.IllegalStateException: Unable to load
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl from []: Invalid class:
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl:
ClassNotFoundException: org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at
org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:40)
at
org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:26)
at
org.apache.brooklyn.util.guava.Maybe$Absent.getException(Maybe.java:327)
at org.apache.brooklyn.util.guava.Maybe$Absent.get(Maybe.java:321)
at
org.apache.brooklyn.core.mgmt.classloading.AbstractBrooklynClassLoadingContext.loadClass(AbstractBrooklynClassLoadingContext.java:55)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration$BrooklynObjectInstantiator.load(RebindIteration.java:954)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration$BrooklynObjectInstantiator.newEntity(RebindIteration.java:874)
at
org.apache.brooklyn.core.mgmt.rebind.RebindIteration.instantiateLocationsAndEntities(RebindIteration.java:454)
... 11 more
Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException:
Unable to load org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl from []:
Invalid class: org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl:
ClassNotFoundException: org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at
org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:430)
at
org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential.tryLoadClass(BrooklynClassLoadingContextSequential.java:88)
at
org.apache.brooklyn.core.mgmt.classloading.AbstractBrooklynClassLoadingContext.tryLoadClass(AbstractBrooklynClassLoadingContext.java:61)
... 15 more
Caused by: java.lang.IllegalStateException: Invalid class:
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at
org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:40)
at
org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:26)
at
org.apache.brooklyn.util.guava.Maybe$Absent.getException(Maybe.java:327)
at
org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential.tryLoadClass(BrooklynClassLoadingContextSequential.java:85)
... 16 more
Caused by: java.lang.ClassNotFoundException:
org.apache.brooklyn.test.osgi.entities.SimpleEntityImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at
org.apache.brooklyn.util.javalang.AggregateClassLoader.findClass(AggregateClassLoader.java:135)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at
org.apache.brooklyn.core.mgmt.classloading.JavaBrooklynClassLoadingContext.tryLoadClass0(JavaBrooklynClassLoadingContext.java:101)
at
org.apache.brooklyn.core.mgmt.classloading.JavaBrooklynClassLoadingContext.tryLoadClass(JavaBrooklynClassLoadingContext.java:84)
at
org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential.tryLoadClass(BrooklynClassLoadingContextSequential.java:81)
... 16 more
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/3e05d39a
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/3e05d39a
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/3e05d39a
Branch: refs/heads/master
Commit: 3e05d39a3b5567a81d7f835362e2eb2326c830b5
Parents: 42b4c3e
Author: Geoff Macartney <[email protected]>
Authored: Mon Sep 26 16:49:50 2016 +0100
Committer: Geoff Macartney <[email protected]>
Committed: Thu Apr 20 11:18:42 2017 +0100
----------------------------------------------------------------------
.../brooklyn/camp/brooklyn/RebindOsgiTest.java | 54 ++++++++++++++++++++
.../brooklyn/catalog/CatalogYamlEntityTest.java | 1 -
2 files changed, 54 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3e05d39a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/RebindOsgiTest.java
----------------------------------------------------------------------
diff --git
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/RebindOsgiTest.java
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/RebindOsgiTest.java
index fe071a5..37c15e4 100644
---
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/RebindOsgiTest.java
+++
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/RebindOsgiTest.java
@@ -22,6 +22,7 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
import java.io.File;
import java.util.List;
@@ -43,6 +44,7 @@ import
org.apache.brooklyn.core.mgmt.osgi.OsgiVersionMoreEntityTest;
import org.apache.brooklyn.core.sensor.Sensors;
import org.apache.brooklyn.core.test.entity.TestEntity;
import org.apache.brooklyn.test.support.TestResourceUnavailableException;
+import org.apache.brooklyn.util.core.ResourceUtils;
import org.apache.brooklyn.util.core.osgi.Osgis;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.guava.Maybe;
@@ -76,6 +78,8 @@ public class RebindOsgiTest extends AbstractYamlRebindTest {
private static final String OSGI_OBJECT_TYPE =
OsgiTestResources.BROOKLYN_TEST_OSGI_ENTITIES_SIMPLE_OBJECT;
private static final String OSGI_ENTITY_CONFIG_NAME =
OsgiTestResources.BROOKLYN_TEST_OSGI_ENTITIES_SIMPLE_ENTITY_CONFIG_NAME;
private static final String OSGI_ENTITY_SENSOR_NAME =
OsgiTestResources.BROOKLYN_TEST_OSGI_ENTITIES_SIMPLE_ENTITY_SENSOR_NAME;
+ private static final String MORE_ENTITIES_POM_PROPERTIES_PATH =
+
"META-INF/maven/org.apache.brooklyn.test.resources.osgi/brooklyn-test-osgi-more-entities/pom.properties";
private List<String> bundleUrlsToInstallOnRebind;
@@ -159,6 +163,56 @@ public class RebindOsgiTest extends AbstractYamlRebindTest
{
assertEquals(newEntity.config().get(TestEntity.CONF_OBJECT), val);
}
+
+ @Test(groups = "Broken")
+ public void testReboundDeepCatalogItemCanLoadResources() throws Exception {
+
TestResourceUnavailableException.throwIfResourceUnavailable(getClass(),
OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
+
TestResourceUnavailableException.throwIfResourceUnavailable(getClass(),
OsgiStandaloneTest.BROOKLYN_TEST_OSGI_MORE_ENTITIES_0_1_0_PATH);
+
+ String symbolicNameInner = "my.catalog.app.id.inner";
+ String symbolicNameFiller = "my.catalog.app.id.filler";
+ String symbolicNameOuter = "my.catalog.app.id.outer";
+ String appVersion = "0.1.0";
+
+ String appCatalogFormat = Joiner.on("\n").join(
+ "brooklyn.catalog:",
+ " version: " + TEST_VERSION,
+ " items:",
+ " - id: " + symbolicNameInner,
+ " name: My Catalog App",
+ " brooklyn.libraries:",
+ " - url: " + OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_URL,
+ " item: " + OSGI_ENTITY_TYPE,
+ " - id: " + symbolicNameFiller,
+ " name: Filler App",
+ " brooklyn.libraries:",
+ " - url: " +
OsgiStandaloneTest.BROOKLYN_TEST_OSGI_MORE_ENTITIES_0_1_0_URL,
+ " item: " + symbolicNameInner,
+ " - id: " + symbolicNameOuter,
+ " item: " + symbolicNameFiller);
+
+ // Create the catalog items
+ addCatalogItems(String.format(appCatalogFormat, appVersion));
+
+ String yaml = "name: " + symbolicNameOuter + "\n" +
+ "services: \n" +
+ " - serviceType: "+ver(symbolicNameOuter);
+ origApp = (StartableApplication) createAndStartApplication(yaml);
+
+ // Rebind
+ rebind();
+
+ Entity newEntity = Iterables.getOnlyElement(newApp.getChildren());
+
+ final String catalogBom = ResourceUtils.create(newEntity)
+ .getResourceAsString("classpath://" +
MORE_ENTITIES_POM_PROPERTIES_PATH);
+
assertTrue(catalogBom.contains("artifactId=brooklyn-test-osgi-more-entities"));
+
+ deleteCatalogEntity(symbolicNameOuter);
+ deleteCatalogEntity(symbolicNameFiller);
+ deleteCatalogEntity(symbolicNameInner);
+ }
+
@Test
public void testValInEntityFromOtherBundle() throws Exception {
TestResourceUnavailableException.throwIfResourceUnavailable(getClass(),
OSGI_BUNDLE_PATH);
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3e05d39a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
----------------------------------------------------------------------
diff --git
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
index a617250..cc26c22 100644
---
a/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
+++
b/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
@@ -634,7 +634,6 @@ public class CatalogYamlEntityTest extends AbstractYamlTest
{
@Test
public void testDeepCatalogItemCanLoadResources() throws Exception {
- TestResourceUnavailableException.throwIfResourceUnavailable(getClass(),
OsgiStandaloneTest.BROOKLYN_TEST_OSGI_ENTITIES_PATH);
String symbolicNameInner = "my.catalog.app.id.inner";
String symbolicNameFiller = "my.catalog.app.id.filler";