Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-20403

M3 instances not available in US-East-2 for Elastic Agents

    XMLWordPrintable

Details

    Description

      Issue Summary

      Default Instance size for elastic agents on the Stock AMI's is set to M3. This is a legacy instance type, and is not available in all regions. (ie. US-EAST-2).

      Steps to Reproduce

      1. Change Elastic region to US-EAST-2
      2. Configure Elastic Image to create an M3 instance from instance size menu
      3. Start instance.

      Expected Results

      Elastic Instance starts

      Actual Results

      Instance Abandoned message in UI:

      Apr 15, 2019 2:48:42 PM Detected that a pending instance request for image [Ubuntu stock image], ami: ami-02d831c65c28fa2a0 has been abandoned.
      

      In atlassian-bamboo.log

      2019-04-15 14:48:42,650 ERROR [elastic-pool-2-thread-6] [RemoteEC2InstanceImpl] EC2 instance order for image ami-02d831c65c28fa2a0 failed.
      com.amazonaws.services.ec2.model.AmazonEC2Exception: The requested configuration is currently not supported. Please check the documentation for supported configurations. (Service: AmazonEC2; Status Code: 400; Error Code: Unsupported; Request ID: bf70e9c2-4411-4f58-a189-7a7ae97fae68)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1658)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1322)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1072)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:745)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:719)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:701)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:669)
      	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:651)
      	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:515)
      	at com.amazonaws.services.ec2.AmazonEC2Client.doInvoke(AmazonEC2Client.java:17597)
      	at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:17566)
      	at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:17555)
      	at com.amazonaws.services.ec2.AmazonEC2Client.executeRunInstances(AmazonEC2Client.java:16897)
      	at com.amazonaws.services.ec2.AmazonEC2Client.runInstances(AmazonEC2Client.java:16869)
      	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:498)
      	at com.atlassian.aws.CallTimingProxy$1.invoke(CallTimingProxy.java:34)
      	at com.sun.proxy.$Proxy1590.runInstances(Unknown Source)
      	at com.atlassian.aws.ec2.awssdk.launch.AwsInstanceLauncher.runInstance(AwsInstanceLauncher.java:101)
      	at com.atlassian.aws.ec2.awssdk.launch.AwsInstanceLauncher.call(AwsInstanceLauncher.java:69)
      	at com.atlassian.aws.ec2.RemoteEC2InstanceImpl.launchInstance(RemoteEC2InstanceImpl.java:363)
      	at com.atlassian.aws.ec2.RemoteEC2InstanceImpl.backgroundStart(RemoteEC2InstanceImpl.java:346)
      	at com.atlassian.aws.ec2.RemoteEC2InstanceImpl.access$100(RemoteEC2InstanceImpl.java:39)
      	at com.atlassian.aws.ec2.RemoteEC2InstanceImpl$1.run(RemoteEC2InstanceImpl.java:95)
      	at com.atlassian.aws.ec2.RemoteEC2InstanceImpl$CatchingRunnableDecorator.run(RemoteEC2InstanceImpl.java:79)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	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)
      

      Workaround

      Configure Elastic Instance to use an available instance type. Current generation of the M family are the M4 and M5 instance types.

      Attachments

        Issue Links

          Activity

            People

              achystoprudov Alexey Chystoprudov
              rwatson@atlassian.com Robert W
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: