Hi Archana,

There is no explicit support to pass the IAM role based authentication when
creating the jclouds context. It has to be created with the access and
secret key.
I don't know the internals of the simian army, but if you have access to
the instance metadata you could query it to get the access keys and then
build the jclodus context.



On 20 June 2018 at 09:30, [email protected] <[email protected]> wrote:

> Hi Andrea,
> Thanks for the reply. I am somewhat new ( learning today) to Jclouds. But
> after facing this issue for the past 2 days and reading some blog posts, a
> lot of places say it might be an IAM role issue. Here is the stacktrace:
>
> 2018-06-18 03:52:56.701 - WARN  ChaosInstance - [ChaosInstance.java:105]
> Error making SSH connection to instance
> 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:132)
>         at org.jclouds.http.internal.BaseHttpCommandExecutorService
> .invoke(BaseHttpCommandExecutorService.java:101)
>         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.$Proxy174.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:3542)
>         at com.google.common.cache.LocalCache$Segment.loadSync(
> LocalCache.java:2323)
>         at com.google.common.cache.LocalCache$Segment.
> lockedGetOrLoad(LocalCache.java:2286)
>         at com.google.common.cache.LocalCache$Segment.get(
> LocalCache.java:2201)
>         at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
>         at com.google.common.cache.LocalCache.getOrLoad(
> LocalCache.java:3957)
>         at com.google.common.cache.LocalCache$LocalLoadingCache.
> get(LocalCache.java:4875)
>         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:68)
>         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:3542)
>         at com.google.common.cache.LocalCache$Segment.loadSync(
> LocalCache.java:2323)
>         at com.google.common.cache.LocalCache$Segment.
> lockedGetOrLoad(LocalCache.java:2286)
>         at com.google.common.cache.LocalCache$Segment.get(
> LocalCache.java:2201)
>         at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
>         at com.google.common.cache.LocalCache.getOrLoad(
> LocalCache.java:3957)
>         at com.google.common.cache.LocalCache$LocalLoadingCache.
> get(LocalCache.java:4875)
>         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.netflix.simianarmy.client.aws.AWSClient.getJcloudsNode(
> AWSClient.java:910)
>         at com.netflix.simianarmy.client.aws.AWSClient.connectSsh(
> AWSClient.java:888)
>         at com.netflix.simianarmy.chaos.ChaosInstance.connectSsh(
> ChaosInstance.java:122)
>         at com.netflix.simianarmy.chaos.ChaosInstance.canConnectSsh(
> ChaosInstance.java:101)
>         at com.netflix.simianarmy.chaos.ScriptChaosType.canApply(
> ScriptChaosType.java:60)
>         at com.netflix.simianarmy.basic.chaos.BasicChaosMonkey.
> pickChaosType(BasicChaosMonkey.java:141)
>         at com.netflix.simianarmy.basic.chaos.BasicChaosMonkey.
> doMonkeyBusiness(BasicChaosMonkey.java:121)
>         at com.netflix.simianarmy.Monkey.run(Monkey.java:134)
>         at com.netflix.simianarmy.Monkey$1.run(Monkey.java:155)
>         at java.util.concurrent.Executors$RunnableAdapter.
> call(Executors.java:511)
>         at java.util.concurrent.FutureTask.runAndReset(
> FutureTask.java:308)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$
> ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$
> ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
> 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)
>         ... 55 more
> 2018-06-18 03:52:56.742 - WARN  ScriptChaosType -
> [ScriptChaosType.java:61] Strategy disabled because SSH credentials failed
>

Reply via email to