Bambooooooooo?
Asked by James Barwick:

Is Elastic services EC2 required? I created my AWS account, but can't figure out how to get this "ami-xxx" number. When I search for an AMI, and select an available instance, and press launch, the id turns into an 'instance id in the form of i-xxx, not ami-xxx'.

So. I'm stuck at the "instance" creation of the bamboo configuration and not yet into the 'plan' stuff.

Any advise for this newbie?

Counting down my free 30 day trial to see if Bamboo CI can replace Hudson...hope I can get it to work satisfactorily, else ... and if I go out of budget... didn't know this AWS/EC2 thing was required...hope not.

Unable to contact AWS to get AMI details: AmazonServiceException: Status Code: 400, AWS Service: AmazonEC2, AWS Request ID: 9b077d92-ade5-4902-97fd-f394fc38d1a8, AWS Error Code: InvalidAMIID.NotFound, AWS Error Message: The image id '\[ami-3aa2ea68\]' does not exist

And

Unable to contact AWS to get AMI details: AmazonServiceException: Status Code: 400, AWS Service: AmazonEC2, AWS Request ID: 02532353-5ce2-4ecc-af68-2149c9a868b3, AWS Error Code: InvalidAMIID.Malformed, AWS Error Message: Invalid id: "i-08d5f55e" (expecting "ami-...")

Thanks!


Answers:
author: James Barwick
body: For the time being, the original question is answered: Yes, Amazon Web Services Elestic images are required. No 'stock' image worked (for me), so I created my own. The image, however, must be in the US N. Virginia region else Bamboo will not find it (regardless of the bamboo region configuration)


author: James Barwick
body: 1) I don't want to use US East region

2) I don't want to use the stock images. My needs are not so great and the stock images are way too expenseive per minute or hour to run.

I have found the problem:

The "Create Elastic Image Configuration" section does NOT use the selected AWS Region in the Configuration block. You can create Elastic Image Configurations in the US East region ONLY.

This is unacceptable. And is therefore a bug. Atlassian should fix this.

Currently I will run the instance in US East. However, I CANNOT go beyond the trial period with this restriction. It is a deal breaker.

comments: author: Przemek Bruski
body: If you don't want to use US East, you have to create your own images or copy the ones from US East.

You can create a separate image configuration with the same ami id as the stock images and set the instance type to whatever you want.

With spot instances, even the larger instances are cheap.


author: James Barwick
body: Yes, I created my own image. This is fine.

However, in Bamboo, you cannot define it. It will only allow you to enter AMI numbers in the US East region.

As I said, this is a bug. It needs to be fixed.


author: Przemek Bruski
body: Elastic Bamboo is mandatory only for OnDemand. For self hosted version, you use it only if you want it. For self hosted, depending on your license, you can use local or remote agents.

If you're on OnDemand, check if you selected US East 1 as your region in Elastic Bamboo configuration.

comments: author: James Barwick
body: I tried to set all of the Regions to the same for the AMI and Bamboo (Singapore).

Also, if I was to create a AMI, I have no idea where to start. My current choices have yielded "Micro" AMI's with only 600MB of RAM. when I "ssh -X", X cannot even start the Java applications (or even Firefox for that matter), so I don't think I can compile anything. This seems a bit unfair as there are Windows "free tier" servers, and those would get more than 600MB of RAM...try running windows with less. Totally unfair to us UNIXers. (digress...sorry).

Any suggestions on a very very cost effective AMI from the marketplace or community that I can use with Bamboo? That can run java/ant/eclipse build with Android-SDK...cheap..I mean darn cheap. ($0 budget right now until I can prove the concept to the purse holders).


author: Przemek Bruski
body: If you're just starting with Bamboo, use US East. Atlassian provides stock images in that region, you have to create your own images in other regions.

The best tip for cost effective use of EC2 is to use spot instances. You can configure them in the Elastic Bamboo configuration.


author: James Barwick
body: Thanks. I'll give it a try.


author: James Barwick
body: Still the same problem. When I create a new instance, it is given an "i-12345" number, not an "ami-12345" number. When I try to type in "i-12345" in the Bamboo Elastic AMI number, it says my message above "invalid, expect "aim-xxxx""

So, even using a AMI from US East as you suggest doesn't work because it gives an "i-xxx" number for the instance ID. Sigh.


author: Przemek Bruski
body: AWS uses i-XXX as instance keys, ami-XXXX are used for image keys.

Images (aka AMIs) are more or less disk templates used to create an instance for you.

So, when you defined an Elastic Image configuration, it has to be an ami (template). You can't use an instance (i-XXXX), because it's an instance, not a template for creating instances.


author: James Barwick
body: Got it. But we're still not getting the question answered. HOW to fill in the elastic image configuration details in Bamboo?

I even went so far as to purchase a software subscription on AWS. Did that. Then started the instance. Instance can be started/stopped. It's a "small" instance.

The software has the following ami id's

US East (Virginia)ami-bf5021d6Launch with EC2 Console  
US West (Oregon)ami-b3bf2f83Launch with EC2 Console  
US West (Northern California)ami-5d456c18Launch with EC2 Console  
EU West (Ireland)ami-75190b01Launch with EC2 Console  
Asia Pacific (Singapore)ami-46f5bb14Launch with EC2 Console  
Asia Pacific (Sydney)ami-9352c1a9Launch with EC2 Console  
Asia Pacific (Tokyo)ami-9ffa709eLaunch with EC2 Console  
South America (Sao Paulo)ami-a665c0bbLaunch with EC2 Conso

So, these are valid ami id's? No? I tried every one. None work. They all say:

Unable to contact AWS to get AMI details: AmazonServiceException: Status Code: 400, AWS Service: AmazonEC2, AWS Request ID: 43963fd3-d826-440f-8088-798e286779e2, AWS Error Code: InvalidAMIID.NotFound, AWS Error Message: The image id '\[ami-bf5021d6\]' does not exist

Thanks for any help you can give. I really do appriciate it.


author: Przemek Bruski
body: Your Bamboo comes with stock images. You should be able to see them on image configuration page when you choose US East as your region.


Tags: aws