Netflix / SimianArmy

Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
Apache License 2.0
7.98k stars 1.13k forks source link

Support for eu-west-2 (London)? #300

Closed proffalken closed 7 years ago

proffalken commented 7 years ago

Hi all,

I'm currently getting the following stacktrace and I'm wondering if it's because I'm running this against London:

Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: 2017-03-21 15:45:20.802 - INFO  Monkey - [Monkey.java:132] CHAOS Monkey Running ...
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: 2017-03-21 15:45:20.804 - INFO  AWSClient - [AWSClient.java:338] Getting all auto-scaling groups in region 'eu-west-2'.
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: 2017-03-21 15:45:20.902 - INFO  Monkey - [Monkey.java:138] Reporting what I did...
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: 2017-03-21 15:45:20.904 - ERROR Monkey$1 - [Monkey.java:157] CHAOS Monkey Error:
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: java.lang.IllegalArgumentException: hostname cannot be null
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.amazonaws.util.AwsHostNameUtils.parseRegion(AwsHostNameUtils.java:79)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.amazonaws.util.AwsHostNameUtils.parseRegionName(AwsHostNameUtils.java:59)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.amazonaws.AmazonWebServiceClient.computeSignerByURI(AmazonWebServiceClient.java:263)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.amazonaws.AmazonWebServiceClient.setEndpoint(AmazonWebServiceClient.java:215)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.client.aws.AWSClient.asgClient(AWSClient.java:239)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.client.aws.AWSClient.describeAutoScalingGroups(AWSClient.java:345)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.client.aws.chaos.ASGChaosCrawler.groups(ASGChaosCrawler.java:87)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.client.aws.chaos.ASGChaosCrawler.groups(ASGChaosCrawler.java:80)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.basic.chaos.BasicChaosMonkey.doMonkeyBusiness(BasicChaosMonkey.java:110)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.Monkey.run(Monkey.java:134)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at com.netflix.simianarmy.Monkey$1.run(Monkey.java:155)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
Mar 21 15:45:20 ackbar-0d7ad3a336fdd49fa gradlew[21094]: at java.lang.Thread.run(Thread.java:745)

Is anyone able to provide advice on whether Simian Army runs against London yet?

Thanks,

Matt

mlafeldt commented 7 years ago

Support for eu-west-2 was added in AWS Java SDK 1.11.70.

However, the project currently uses version 1.11.28:

https://github.com/Netflix/SimianArmy/blob/e2d95e581a8bd75faae81f166daa4297add747c5/build.gradle#L41

So fixing may be as easy as bumping that version.

proffalken commented 7 years ago

Sadly, that's not it.

I've updated build.gradle to use both 1.11.82 and 1.11.107 and I get exactly the same result.

I'd love to move to the new Chaos Monkey, but as I don't run spinnaker, it's not really an option. :(

proffalken commented 7 years ago

OK, fixed it, it was an issue with the formatting in the config file

If you put quotes around the "region" variable in client.properties, they are not removed when the endpoint is created.

If you remove the quotes it works fine.