Aled Sage created BROOKLYN-508:
----------------------------------

             Summary: Persistence to aws-ec2:eu-west-1 fails in jclouds, 
looking up "requested location us-standard"
                 Key: BROOKLYN-508
                 URL: https://issues.apache.org/jira/browse/BROOKLYN-508
             Project: Brooklyn
          Issue Type: Bug
            Reporter: Aled Sage


Following on from BROOKLYN-487, this time when I tried testing it I got the 
exception below:

{noformat}
2017-05-25 17:27:48,782 ERROR 124 o.a.b.l.c.BasicLauncher [FelixStartLevel] 
Subsystem for persistence had startup error (continuing with startup): 
org.apache.brooklyn.util.exceptions.FatalRuntimeException: Error initializing 
persistence subsystem: requested location us-standard, which is not in the 
configured locations: 
{eu-west-1=Suppliers.ofInstance(https://s3-eu-west-1.amazonaws.com)}
org.apache.brooklyn.util.exceptions.FatalRuntimeException: Error initializing 
persistence subsystem: requested location us-standard, which is not in the 
configured locations: 
{eu-west-1=Suppliers.ofInstance(https://s3-eu-west-1.amazonaws.com)}
        at 
org.apache.brooklyn.launcher.common.BasicLauncher.initPersistence(BasicLauncher.java:598)
        at 
org.apache.brooklyn.launcher.common.BasicLauncher.handlePersistence(BasicLauncher.java:514)
        at 
org.apache.brooklyn.launcher.common.BasicLauncher.start(BasicLauncher.java:433)
        at 
org.apache.brooklyn.launcher.osgi.OsgiLauncher.start(OsgiLauncher.java:77)
        at 
org.apache.brooklyn.launcher.osgi.OsgiLauncher.init(OsgiLauncher.java:101)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_121]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_121]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_121]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_121]
        at 
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[17:org.apache.aries.blueprint.core:1.7.1]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
        at 
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.getFactoryObj(BeanRecipe.java:308)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromFactory(BeanRecipe.java:288)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:278)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:830)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[17:org.apache.aries.blueprint.core:1.7.1]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
        at 
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[17:org.apache.aries.blueprint.core:1.7.1]
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[21:org.apache.aries.util:1.1.1]
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[21:org.apache.aries.util:1.1.1]
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[21:org.apache.aries.util:1.1.1]
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[21:org.apache.aries.util:1.1.1]
        at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[21:org.apache.aries.util:1.1.1]
        at 
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)[org.apache.felix.framework-5.6.1.jar:]
        at 
org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)[org.apache.felix.framework-5.6.1.jar:]
        at 
org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)[org.apache.felix.framework-5.6.1.jar:]
        at 
org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4541)[org.apache.felix.framework-5.6.1.jar:]
        at 
org.apache.felix.framework.Felix.startBundle(Felix.java:2172)[org.apache.felix.framework-5.6.1.jar:]
        at 
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)[org.apache.felix.framework-5.6.1.jar:]
        at 
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)[org.apache.felix.framework-5.6.1.jar:]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Caused by: java.lang.IllegalArgumentException: requested location us-standard, 
which is not in the configured locations: 
{eu-west-1=Suppliers.ofInstance(https://s3-eu-west-1.amazonaws.com)}
        at 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
        at 
org.jclouds.location.functions.RegionToEndpointOrProviderIfNull.apply(RegionToEndpointOrProviderIfNull.java:60)
        at 
org.jclouds.location.functions.RegionToEndpointOrProviderIfNull.apply(RegionToEndpointOrProviderIfNull.java:37)
        at 
com.google.common.base.Suppliers$SupplierComposition.get(Suppliers.java:67)
        at 
org.jclouds.rest.internal.RestAnnotationProcessor.getEndpointFor(RestAnnotationProcessor.java:559)
        at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:204)
        at 
org.jclouds.rest.internal.RestAnnotationProcessor.apply(RestAnnotationProcessor.java:137)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.toCommand(InvokeHttpMethod.java:188)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:84)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
        at 
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
        at 
org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
        at com.sun.proxy.$Proxy70.putBucketInRegion(Unknown Source)
        at 
org.jclouds.s3.blobstore.S3BlobStore.createContainerInLocation(S3BlobStore.java:451)
        at 
org.jclouds.aws.s3.blobstore.AWSS3BlobStore.createContainerInLocation(AWSS3BlobStore.java:105)
        at 
org.jclouds.s3.blobstore.S3BlobStore.createContainerInLocation(S3BlobStore.java:144)
        at 
org.apache.brooklyn.core.mgmt.persist.jclouds.JcloudsBlobStoreBasedObjectStore.getBlobStoreContext(JcloudsBlobStoreBasedObjectStore.java:101)
        at 
org.apache.brooklyn.core.mgmt.persist.jclouds.JcloudsBlobStoreBasedObjectStore.<init>(JcloudsBlobStoreBasedObjectStore.java:80)
        at 
org.apache.brooklyn.location.jclouds.JcloudsLocation.newPersistenceObjectStore(JcloudsLocation.java:2970)
        at 
org.apache.brooklyn.core.mgmt.persist.BrooklynPersistenceUtils.newPersistenceObjectStore(BrooklynPersistenceUtils.java:96)
        at 
org.apache.brooklyn.launcher.common.BasicLauncher.initPersistence(BasicLauncher.java:581)
        ... 48 more
{noformat}

This was when using {{brooklyn.cfg}}:
{noformat}
brooklyn.location.named.my-s3=aws-s3:eu-west-1
brooklyn.location.named.my-s3.identity=********
brooklyn.location.named.my-s3.credential=********
brooklyn.location.named.my-s3.jclouds.regions=eu-west-1
{noformat}

And {{org.apache.brooklyn.osgilauncher.cfg}}:
{noformat}
persistenceLocation=my-s3
persistenceDir=brooklyn487
{noformat}

Two things are surprising: first that it's different behaviour than 
BROOKLYN-487; and second that jclouds tries to lookup the url for the region 
"us-standard"!



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to