Details
-
Bug
-
Resolution: Fixed
-
Low
-
5.2.2, 5.5, 5.7.1, 5.7.2, 5.8.1, 5.9.4
-
Severity 3 - Minor
-
Description
Every time Bamboo is started and doesn't have EC2 enabled, it generates a harmless system error (see the attached screenshot) and there is this line in the Bamboo logs:
2013-12-02 23:08:22,933 INFO [localhost-startStop-1] [BambooContainer] Starting Bamboo... 2013-12-02 23:08:22,933 INFO [localhost-startStop-1] [BambooContainer] Reticulating splines... 2013-12-02 23:08:22,957 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-4] [BambooSmackClient] No IM server specified. Bamboo Smack client not initialised. 2013-12-02 23:08:22,965 INFO [localhost-startStop-1] [AgentManagerImpl] Initialising local agents... 2013-12-02 23:08:22,980 INFO [localhost-startStop-1] [DefaultBuildAgent] Ensuring the temp path '/opt/atlassian/bamboo/temp' exists. 2013-12-02 23:08:22,981 INFO [localhost-startStop-1] [DefaultBuildAgent] Build agent 'Default Agent' started. Waiting for builds... 2013-12-02 23:08:22,981 INFO [7-BAM::Default Agent::Agent:pool-19-thread-1] [BuildAgentControllerImpl] Agent 'Default Agent' ready to take build from queue... 2013-12-02 23:08:22,990 INFO [localhost-startStop-1] [ElasticImageConfigurationManagerImpl] Checking if stock EC2 images need updating... 2013-12-02 23:08:23,008 INFO [localhost-startStop-1] [ElasticImageConfigurationManagerImpl] No changes for image ami-430a452a 2013-12-02 23:08:23,022 INFO [localhost-startStop-1] [ElasticImageConfigurationManagerImpl] No changes for image ami-a10b44c8 2013-12-02 23:08:23,053 INFO [localhost-startStop-1] [ElasticImageConfigurationManagerImpl] No changes for image ami-976edafe 2013-12-02 23:08:23,093 INFO [localhost-startStop-1] [ElasticImageConfigurationManagerImpl] No changes for image ami-4488f72d 2013-12-02 23:08:23,101 INFO [localhost-startStop-1] [ElasticImageConfigurationManagerImpl] No changes for image ami-a30b44ca 2013-12-02 23:08:23,139 INFO [localhost-startStop-1] [DefaultErrorHandler] Recording an error: Expected 0 or 1 default images for US_EAST_1, EBS, x86_64
From this comment below that offers details and a workaround:
Notes
During startup Bamboo checks if the stock Elastic Image Configuration data shipped with Bamboo matches configuration stored in database. When Bamboo will find any stock Elastic Image Configuration with an outdated AMI ID in database it will update AMI ID in all Elastic Image Configurations which are using the same AMI ID as this outdated stock Elastic Image Configuration.
The following error
Expected 0 or 1 default images for US_EAST_1, EBS, x86_64
is reported by Bamboo when during startup it will detect multiple stock Elastic Image Configurations which:
- are shipped/managed by Bamboo
- share the same region, root device type, architecture and OS name
- might have different AMI ID
This is an unexpected state that might be caused by:
- a bug in earlier versions of Bamboo (upgrade task creating new entry in ELASTIC_IMAGE table instead of updating existing one
- manual modification of database
It is possible that customer has created their own Elastic Image Configurations using AMI ID from any of those duplicate stock Elastic Image Configurations. Proceeding with the normal update procedure would mean that Bamboo would modify AMI ID in all those Elastic Image Configuration. We decided not to do it to avoid possibility of altering configuration that was deliberately created by our customers.
Workaround
Customers not using EC2:
- Stop Bamboo
- Run the following query delete from ELASTIC_IMAGE where SHIPPED_WITH_BAMBOO = true
- Restart Bamboo to recreate entries in ELASTIC_IMAGE table
Customers using EC2:
- Navigate to Administration > Image configurations and rename one of the duplicate configurations to "DELETE_ME"
- Stop Bamboo
- Run the following query delete from ELASTIC_IMAGE where NAME = 'DELETE_ME'
- Restart Bamboo to update entries in ELASTIC_IMAGE table