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

      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.

            [BAM-20403] M3 instances not available in US-East-2 for Elastic Agents

            Krystian Brazulewicz made changes -
            Remote Link Original: This issue links to "Page (Confluence)" [ 453799 ]
            Krystian Brazulewicz made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 494563 ]
            Pawel Skierczynski made changes -
            Remote Link New: This issue links to "Page (Confluence)" [ 453799 ]
            Alexey Chystoprudov made changes -
            Link New: This issue Testing discovered BAM-20630 [ BAM-20630 ]
            Marcin Walerianczyk made changes -
            Fix Version/s New: 6.10.2 [ 89592 ]
            Fix Version/s Original: 6.10.0 [ 86205 ]
            Monique Khairuliana (Inactive) made changes -
            Workflow Original: Bamboo Workflow 2016 v1 - Restricted [ 3140160 ] New: JAC Bug Workflow v3 [ 3386191 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Alexey Chystoprudov made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
            Alexey Chystoprudov made changes -
            Fix Version/s New: 6.10.0 [ 86205 ]
            Status Original: Open [ 1 ] New: In Progress [ 3 ]
            Alexey Chystoprudov made changes -
            Assignee New: Alexey Chystoprudov [ achystoprudov ]
            Robert W (Inactive) made changes -
            Description Original: h3. 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).

            h3. Steps to Reproduce
             # Change Elastic region to US-EAST-2
             # Configure Elastic Image to create an M3 instance from instance size menu
             # Start instance.

            h3. Expected Results

            Elastic Instance starts
            h3. Actual Results

            Instance Abandoned message in UI:
            {noformat}
            Apr 15, 2019 2:48:42 PM Detected that a pending instance request for image [Ubuntu stock image], ami: ami-02d831c65c28fa2a0 has been abandoned.
            {noformat}

            In {{atlassian-bamboo.log}}
            {noformat}
            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)
            {noformat}

            h3. Workaround

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

            New: h3. 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).

            h3. Steps to Reproduce
             # Change Elastic region to US-EAST-2
             # Configure Elastic Image to create an M3 instance from instance size menu
             # Start instance.

            h3. Expected Results

            Elastic Instance starts
            h3. Actual Results

            Instance Abandoned message in UI:
            {noformat}
            Apr 15, 2019 2:48:42 PM Detected that a pending instance request for image [Ubuntu stock image], ami: ami-02d831c65c28fa2a0 has been abandoned.
            {noformat}

            In {{atlassian-bamboo.log}}
            {noformat}
            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)
            {noformat}

            h3. Workaround

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

              achystoprudov Alexey Chystoprudov
              rwatson@atlassian.com Robert W (Inactive)
              Affected customers:
              0 This affects my team
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: