Comment 8 for bug 939212

Revision history for this message
Scott Moser (smoser) wrote :

Chetan,
 I suspect you have not done an apt-get update before installing the ec2-ami-tools that you think are broken. I've done the following and verified that an instance will boot correctly after being re-bundled with lucid-updates versions of ec2-ami-tools:

## run an instance of ami-809a48e9
## us-east-1 ami-809a48e9 canonical ubuntu-lucid-10.04-i386-server-20120221
$ ec2-run-instances --region us-east-1 --instance-type m1.small ami-809a48e9
$ rhost=ec2-107-22-87-33.compute-1.amazonaws.com
$ ssh rhost

## now, assuming all variables are set up for use of ec2-api and ec2-ami
## tools

## add multiverse
$ sudo sed -i 's,main universe$,main universe multiverse,g' \
   /etc/apt/sources.list
$ sudo apt-get update -y
$ sudo apt-get install ec2-api-tools ec2-ami-tools -y
$ dpkg-query --show ec2-api-tools ec2-ami-tools
ec2-ami-tools 1.3-45758-0ubuntu1.1
ec2-api-tools 1.3.46266-0ubuntu1

## assuming all variables set up for use of this
$ BUNDLE_D=/mnt/my.bundle
$ sudo rm -Rf $BUNDLE_D
$ mkdir -p $BUNDLE_D
$ sudo sh -c modprobe loop || :
## may take quite a long time (10s of minutes)
$ sudo -E ec2-bundle-vol --arch i386 --destination $BUNDLE_D --prefix testbundle.img --user 950047163771 --size 10240 --exclude /mnt,/root/.ssh --cert=$EC2_CERT --privatekey=$EC2_PRIVATE_KEY
$ sudo chown -R 1000:1000 /mnt/wd
# get current availability-zone, security-group, instance-type, keypair
# from metadata service using ec2metadata
$ ec2-upload-bundle --access-key=$EC2_ACCESS_KEY --secret-key=$EC2_SECRET_KEY --bucket smoser-amitools-us-east-1 --manifest $BUNDLE_D/testbundle.img.manifest.xml
$ ec2-register --region us-east-1 --cert=$EC2_CERT --private-key=$EC2_PRIVATE_KEY smoser-amitools-us-east-1/testbundle.img.manifest.xml

AMI=ami-abcdefg
## run instance of $AMI
$ ec2-run-instances --region us-east-1 --cert=$EC2_CERT --private-key=$EC2_PRIVATE_KEY --key default $AMI --group default --instance-type m1.small

The instance came up fine, and I verified ssh to it.