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

Elastic Bamboo not up to date with EC2 instance types

    • Icon: Suggestion Suggestion
    • Resolution: Fixed
    • 5.11.0
    • None
    • None
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Bamboo's elastic image configuration provides a drop box of options to select EC2 instance type. However this list appears to be a static list that is not up to date with all of Amazon's EC2 instance types.

      From my scan the following types are missing

      • All M4 instances
        • m4.large
        • m4.xlarge
        • m4.2xlarge
        • m4.4xlarge
        • m4.10xlarge
      • One G2 instance
        • g2.8xlarge
      • All D2 instances
        • d2.xlarge
        • d2.2xlarge
        • d2.4xlarge
        • d2.8xlarge

      It is mainly the M4 instances that I want to use, but it seems Bamboo being out of date with the EC2 instance types is a recurrent issue. See BAM-14244, BAM-14779, BAM-6826, BAM-14208, BAM-12906, BAM-14023, BAM-12115 which are all related to this same issue historically.

      Unfortunately it appears there is no AWS API for determining the current available instance types, unless I've missed something. However perhaps factoring this out into configuration in Bamboo which can be updated manually by users, or from a resource hosted on an Atlassian site which can be updated when AWS change their instance types. Upgrading Bamboo software versions seems a painful way to deal with this.

      Please update the instance types available for elastic image configuration, and possibly consider a different approach for this configuration.

          Form Name

            [BAM-16836] Elastic Bamboo not up to date with EC2 instance types

            Bas, it looks like you're editing an image that requires PV virtualisation. M4 instances never supported that, we've started filtering them out recently. You need to select a type that supports PV or use an HVM image. See the type matrix for reference.

            Przemek Bruski added a comment - Bas, it looks like you're editing an image that requires PV virtualisation. M4 instances never supported that, we've started filtering them out recently. You need to select a type that supports PV or use an HVM image. See the type matrix for reference.

            When updating an Elastic Image configuration the M4 instance types are missing from the select box. This causes an NPE when saving changes to a config for which M4 was selected.

            The M4 types are correctly available when creating a new configuration.

            Version: 5.12.0-D20160504T132229
            Build: 51209
            Build Date: 04 May 2016
            Request information:
            Request URL: https://bidxbv.atlassian.net/builds/admin/elastic/image/configuration/saveElasticImageConfiguration.action
            Scheme: https
            Server: bidxbv.atlassian.net
            Port: 443
            URI: /builds/admin/elastic/image/configuration/saveElasticImageConfiguration.action
            Context path: /builds
            Servlet path: /admin/elastic/image/configuration/saveElasticImageConfiguration.action
            Path info:
            Query string:
            Stack Trace:

            {{java.lang.NullPointerException
            at com.atlassian.bamboo.util.BambooIterables.stream(BambooIterables.java:160)
            at com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl.toString(ElasticImageConfigurationImpl.java:167)
            at com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl.setInstanceTypes(ElasticImageConfigurationImpl.java:161)
            }}

            bas de witte added a comment - When updating an Elastic Image configuration the M4 instance types are missing from the select box. This causes an NPE when saving changes to a config for which M4 was selected. The M4 types are correctly available when creating a new configuration. Version: 5.12.0-D20160504T132229 Build: 51209 Build Date: 04 May 2016 Request information: Request URL: https://bidxbv.atlassian.net/builds/admin/elastic/image/configuration/saveElasticImageConfiguration.action Scheme: https Server: bidxbv.atlassian.net Port: 443 URI: /builds/admin/elastic/image/configuration/saveElasticImageConfiguration.action Context path: /builds Servlet path: /admin/elastic/image/configuration/saveElasticImageConfiguration.action Path info: Query string: Stack Trace: {{java.lang.NullPointerException at com.atlassian.bamboo.util.BambooIterables.stream(BambooIterables.java:160) at com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl.toString(ElasticImageConfigurationImpl.java:167) at com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl.setInstanceTypes(ElasticImageConfigurationImpl.java:161) }}

            Chris Cope added a comment -

            This works in at least 5.11.1.

            Chris Cope added a comment - This works in at least 5.11.1.

              Unassigned Unassigned
              ca1c27d2b5a3 Dion McMurtrie
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: