You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jclouds.apache.org by Ruben Rubio Rey <tk...@gmail.com> on 2016/11/01 06:39:23 UTC

Jclouds example for AWS cn-north-1 region

Hi,

I am trying to use AWS China region (cn-north-1) with JClouds. This region
works independently and you need to define the region (or the end point).

I log in to other AWS regions

Iterable<Module> modules = ImmutableSet.<Module> of(new
SshjSshClientModule());
ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
        .credentials("user", "key")
        .modules(modules)
        .buildView(ComputeServiceContext.class);

ComputeService compute = context.getComputeService();
Set<? extends ComputeMetadata> nodes = compute.listNodes();

How can I define the region or the end point ?

Regards,
Ruben

Re: Jclouds example for AWS cn-north-1 region

Posted by Ignasi Barrera <na...@apache.org>.
Can you try setting the endpoint too when creating the context?

Properties overrides = new Properties();
        overrides.put("jclouds.regions", "cn-north-1");
        overrides.put("jclouds.region.cn-north-1.iso3166-codes", "CN-11");

        Iterable<Module> modules = ImmutableSet.<Module> of(new
SshjSshClientModule());
        ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
*                .endpoint("https://ec2.cn-north-1.amazonaws.com
<https://ec2.cn-north-1.amazonaws.com>")*
                .credentials("user", "pass")
                .modules(modules)
                .overrides(overrides)
                .buildView(ComputeServiceContext.class);



On 3 November 2016 at 23:23, Ruben Rubio Rey <tk...@gmail.com> wrote:

> > And see if you can connect there? In the account I have I don't see that
> regions so I can't really test it.
>
> You need a registered Chinese company to activate that region. Actually,
> they don't "activate" the region, they give you a brand new account only
> with the Beijing zone.
>
> Unfortunately those properties are not working
>
>         Properties overrides = new Properties();
>         overrides.put("jclouds.regions", "cn-north-1");
>         overrides.put("jclouds.region.cn-north-1.iso3166-codes", "CN-11");
>
>         Iterable<Module> modules = ImmutableSet.<Module> of(new
> SshjSshClientModule());
>         ComputeServiceContext context = ContextBuilder.newBuilder("
> aws-ec2")
>                 .credentials("user", "pass")
>                 .modules(modules)
>                 .overrides(overrides)
>                 .buildView(ComputeServiceContext.class);
>         ComputeService compute = context.getComputeService();
>         Set<? extends ComputeMetadata> nodes = compute.listNodes();
>         System.out.print("Number of nodes " + nodes.size());
>
> // log
> org.jclouds.rest.AuthorizationException: POST https://ec2.us-east-1.
> amazonaws.com/ HTTP/1.1 -> HTTP/1.1 401 Unauthorized
>     at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.
> refineException(ParseAWSErrorFromXmlContent.java:122)
>     at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(
> ParseAWSErrorFromXmlContent.java:89)
>     at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(
> DelegatingErrorHandler.java:65)
>     at org.jclouds.http.internal.BaseHttpCommandExecutorService
> .shouldContinue(BaseHttpCommandExecutorService.java:136)
>     at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(
> BaseHttpCommandExecutorService.java:105)
>     at org.jclouds.rest.internal.InvokeHttpMethod.invoke(
> InvokeHttpMethod.java:90)
>     at org.jclouds.rest.internal.InvokeHttpMethod.apply(
> InvokeHttpMethod.java:73)
>     at org.jclouds.rest.internal.InvokeHttpMethod.apply(
> InvokeHttpMethod.java:44)
>     at org.jclouds.reflect.FunctionalReflection$
> FunctionalInvocationHandler.handleInvocation(
> FunctionalReflection.java:117)
>     at com.google.common.reflect.AbstractInvocationHandler.invoke(
> AbstractInvocationHandler.java:87)
>     at com.sun.proxy.$Proxy74.describeRegions(Unknown Source)
>     at org.jclouds.ec2.suppliers.DescribeRegionsForRegionURIs.get(
> DescribeRegionsForRegionURIs.java:50)
>     at org.jclouds.ec2.suppliers.DescribeRegionsForRegionURIs.get(
> DescribeRegionsForRegionURIs.java:38)
>     at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:73)
>     at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:57)
>     at com.google.common.cache.LocalCache$LoadingValueReference.
> loadFuture(LocalCache.java:3524)
>     at com.google.common.cache.LocalCache$Segment.loadSync(
> LocalCache.java:2317)
>     at com.google.common.cache.LocalCache$Segment.
> lockedGetOrLoad(LocalCache.java:2280)
>     at com.google.common.cache.LocalCache$Segment.get(
> LocalCache.java:2195)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
>     at com.google.common.cache.LocalCache$LocalLoadingCache.
> get(LocalCache.java:4821)
>     at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:119)
>     at org.jclouds.location.suppliers.derived.
> RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeyS
> et.java:45)
>     at org.jclouds.location.suppliers.derived.
> RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeyS
> et.java:33)
>     at com.google.common.base.Suppliers$SupplierComposition.
> get(Suppliers.java:67)
>     at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:73)
>     at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier$SetAndThrowAuthorizationExcept
> ionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:57)
>     at com.google.common.cache.LocalCache$LoadingValueReference.
> loadFuture(LocalCache.java:3524)
>     at com.google.common.cache.LocalCache$Segment.loadSync(
> LocalCache.java:2317)
>     at com.google.common.cache.LocalCache$Segment.
> lockedGetOrLoad(LocalCache.java:2280)
>     at com.google.common.cache.LocalCache$Segment.get(
> LocalCache.java:2195)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
>     at com.google.common.cache.LocalCache$LocalLoadingCache.
> get(LocalCache.java:4821)
>     at org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOn
> AuthorizationExceptionSupplier.java:119)
>     at org.jclouds.aws.ec2.compute.strategy.AWSEC2ListNodesStrategy.
> pollRunningInstances(AWSEC2ListNodesStrategy.java:65)
>     at org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.
> listDetailsOnNodesMatching(EC2ListNodesStrategy.java:107)
>     at org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.listNodes(
> EC2ListNodesStrategy.java:86)
>     at org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.listNodes(
> EC2ListNodesStrategy.java:58)
>     at org.jclouds.compute.internal.BaseComputeService.listNodes(
> BaseComputeService.java:335)
>     at com.rubenrr.mvc.AwsTests.testChina(AwsTests.java:92)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:57)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
>     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(
> FrameworkMethod.java:47)
>     at org.junit.internal.runners.model.ReflectiveCallable.run(
> ReflectiveCallable.java:12)
>     at org.junit.runners.model.FrameworkMethod.invokeExplosively(
> FrameworkMethod.java:44)
>     at org.junit.internal.runners.statements.InvokeMethod.
> evaluate(InvokeMethod.java:17)
>     at org.junit.internal.runners.statements.RunBefores.
> evaluate(RunBefores.java:26)
>     at org.springframework.test.context.junit4.statements.
> RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.
> java:72)
>     at org.springframework.test.context.junit4.statements.
> RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:81)
>     at org.springframework.test.context.junit4.statements.
> SpringRepeat.evaluate(SpringRepeat.java:72)
>     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
>     at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.
> runChild(SpringJUnit4ClassRunner.java:216)
>     at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.
> runChild(SpringJUnit4ClassRunner.java:82)
>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>     at org.springframework.test.context.junit4.statements.
> RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:60)
>     at org.springframework.test.context.junit4.statements.
> RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:67)
>     at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>     at org.springframework.test.context.junit4.
> SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:162)
>     at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
>     at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(
> JUnit4IdeaTestRunner.java:74)
>     at com.intellij.rt.execution.junit.JUnitStarter.
> prepareStreamsAndStart(JUnitStarter.java:211)
>     at com.intellij.rt.execution.junit.JUnitStarter.main(
> JUnitStarter.java:67)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:57)
>     at com.intellij.rt.execution.application.AppMain.main(
> AppMain.java:134)
> Caused by: org.jclouds.http.HttpResponseException: request: POST
> https://ec2.us-east-1.amazonaws.com/ HTTP/1.1  [Action=DescribeRegions]
> failed with response: HTTP/1.1 401 Unauthorized
>     at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(
> ParseAWSErrorFromXmlContent.java:63)
>     ... 73 more
>
> On Thu, Nov 3, 2016 at 1:04 AM, Ignasi Barrera <ig...@gmail.com>
> wrote:
>
>> Hi Ruben,
>>
>> Can you try setting the following properties when creating the context:
>>
>> Properties overrides = new Properties();
>> overrides.put("jclouds.regions", "cn-north-1");
>> overrides.put("jclouds.region.cn-north-1.iso3166-codes", "CN-11");
>>
>> Iterable<Module> modules = ImmutableSet.<Module> of(new
>> SshjSshClientModule());
>> ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
>>         .credentials("user", "key")
>>         .modules(modules)
>>         .overrides(overrides)
>>         .buildView(ComputeServiceContext.class);
>>
>>
>> And see if you can connect there? In the account I have I don't see
>> that regions so I can't really test it.
>>
>> HTH!
>>
>> I.
>>
>>
>> On 1 November 2016 at 07:39, Ruben Rubio Rey <tk...@gmail.com> wrote:
>> > Hi,
>> >
>> > I am trying to use AWS China region (cn-north-1) with JClouds. This
>> region
>> > works independently and you need to define the region (or the end
>> point).
>> >
>> > I log in to other AWS regions
>> >
>> > Iterable<Module> modules = ImmutableSet.<Module> of(new
>> > SshjSshClientModule());
>> > ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
>> >         .credentials("user", "key")
>> >         .modules(modules)
>> >         .buildView(ComputeServiceContext.class);
>> >
>> > ComputeService compute = context.getComputeService();
>> > Set<? extends ComputeMetadata> nodes = compute.listNodes();
>> >
>> > How can I define the region or the end point ?
>> >
>> > Regards,
>> > Ruben
>> >
>> >
>>
>
>

Re: Jclouds example for AWS cn-north-1 region

Posted by Ruben Rubio Rey <tk...@gmail.com>.
> And see if you can connect there? In the account I have I don't see that
regions so I can't really test it.

You need a registered Chinese company to activate that region. Actually,
they don't "activate" the region, they give you a brand new account only
with the Beijing zone.

Unfortunately those properties are not working

        Properties overrides = new Properties();
        overrides.put("jclouds.regions", "cn-north-1");
        overrides.put("jclouds.region.cn-north-1.iso3166-codes", "CN-11");

        Iterable<Module> modules = ImmutableSet.<Module> of(new
SshjSshClientModule());
        ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
                .credentials("user", "pass")
                .modules(modules)
                .overrides(overrides)
                .buildView(ComputeServiceContext.class);
        ComputeService compute = context.getComputeService();
        Set<? extends ComputeMetadata> nodes = compute.listNodes();
        System.out.print("Number of nodes " + nodes.size());

// log
org.jclouds.rest.AuthorizationException: POST
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1 -> HTTP/1.1 401 Unauthorized
    at
org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.refineException(ParseAWSErrorFromXmlContent.java:122)
    at
org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:89)
    at
org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65)
    at
org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:136)
    at
org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:105)
    at
org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
    at
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
    at
org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
    at
org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117)
    at
com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
    at com.sun.proxy.$Proxy74.describeRegions(Unknown Source)
    at
org.jclouds.ec2.suppliers.DescribeRegionsForRegionURIs.get(DescribeRegionsForRegionURIs.java:50)
    at
org.jclouds.ec2.suppliers.DescribeRegionsForRegionURIs.get(DescribeRegionsForRegionURIs.java:38)
    at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
    at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
    at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
    at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
    at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
    at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
    at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
    at
org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:45)
    at
org.jclouds.location.suppliers.derived.RegionIdsFromRegionIdToURIKeySet.get(RegionIdsFromRegionIdToURIKeySet.java:33)
    at
com.google.common.base.Suppliers$SupplierComposition.get(Suppliers.java:67)
    at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:73)
    at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:57)
    at
com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
    at
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
    at
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
    at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
    at
org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:119)
    at
org.jclouds.aws.ec2.compute.strategy.AWSEC2ListNodesStrategy.pollRunningInstances(AWSEC2ListNodesStrategy.java:65)
    at
org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.listDetailsOnNodesMatching(EC2ListNodesStrategy.java:107)
    at
org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.listNodes(EC2ListNodesStrategy.java:86)
    at
org.jclouds.ec2.compute.strategy.EC2ListNodesStrategy.listNodes(EC2ListNodesStrategy.java:58)
    at
org.jclouds.compute.internal.BaseComputeService.listNodes(BaseComputeService.java:335)
    at com.rubenrr.mvc.AwsTests.testChina(AwsTests.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at
org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:72)
    at
org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:81)
    at
org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:216)
    at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:82)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:60)
    at
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:67)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:162)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
    at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
    at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
    at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: org.jclouds.http.HttpResponseException: request: POST
https://ec2.us-east-1.amazonaws.com/ HTTP/1.1  [Action=DescribeRegions]
failed with response: HTTP/1.1 401 Unauthorized
    at
org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:63)
    ... 73 more

On Thu, Nov 3, 2016 at 1:04 AM, Ignasi Barrera <ig...@gmail.com>
wrote:

> Hi Ruben,
>
> Can you try setting the following properties when creating the context:
>
> Properties overrides = new Properties();
> overrides.put("jclouds.regions", "cn-north-1");
> overrides.put("jclouds.region.cn-north-1.iso3166-codes", "CN-11");
>
> Iterable<Module> modules = ImmutableSet.<Module> of(new
> SshjSshClientModule());
> ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
>         .credentials("user", "key")
>         .modules(modules)
>         .overrides(overrides)
>         .buildView(ComputeServiceContext.class);
>
>
> And see if you can connect there? In the account I have I don't see
> that regions so I can't really test it.
>
> HTH!
>
> I.
>
>
> On 1 November 2016 at 07:39, Ruben Rubio Rey <tk...@gmail.com> wrote:
> > Hi,
> >
> > I am trying to use AWS China region (cn-north-1) with JClouds. This
> region
> > works independently and you need to define the region (or the end point).
> >
> > I log in to other AWS regions
> >
> > Iterable<Module> modules = ImmutableSet.<Module> of(new
> > SshjSshClientModule());
> > ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
> >         .credentials("user", "key")
> >         .modules(modules)
> >         .buildView(ComputeServiceContext.class);
> >
> > ComputeService compute = context.getComputeService();
> > Set<? extends ComputeMetadata> nodes = compute.listNodes();
> >
> > How can I define the region or the end point ?
> >
> > Regards,
> > Ruben
> >
> >
>

Re: Jclouds example for AWS cn-north-1 region

Posted by Ignasi Barrera <ig...@gmail.com>.
Hi Ruben,

Can you try setting the following properties when creating the context:

Properties overrides = new Properties();
overrides.put("jclouds.regions", "cn-north-1");
overrides.put("jclouds.region.cn-north-1.iso3166-codes", "CN-11");

Iterable<Module> modules = ImmutableSet.<Module> of(new SshjSshClientModule());
ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
        .credentials("user", "key")
        .modules(modules)
        .overrides(overrides)
        .buildView(ComputeServiceContext.class);


And see if you can connect there? In the account I have I don't see
that regions so I can't really test it.

HTH!

I.


On 1 November 2016 at 07:39, Ruben Rubio Rey <tk...@gmail.com> wrote:
> Hi,
>
> I am trying to use AWS China region (cn-north-1) with JClouds. This region
> works independently and you need to define the region (or the end point).
>
> I log in to other AWS regions
>
> Iterable<Module> modules = ImmutableSet.<Module> of(new
> SshjSshClientModule());
> ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2")
>         .credentials("user", "key")
>         .modules(modules)
>         .buildView(ComputeServiceContext.class);
>
> ComputeService compute = context.getComputeService();
> Set<? extends ComputeMetadata> nodes = compute.listNodes();
>
> How can I define the region or the end point ?
>
> Regards,
> Ruben
>
>