vmbuilder: Creates mostly empty EC2 images on 64-bit

Bug #493510 reported by Eric Hammond
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
vm-builder (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I'm using vmbuilder on 32-bit and 64-bit EC2 instances with identical arguments except for --arch, --kernel, and --ramdisk. The 32-bit EC2 images are created fine, but the 64-bit images are practically empty except for a few /var directories.

I have tracked this down to the extra mount which is performed by vmbuilder when run on the 64-bit instance to generate a 64-bit image:

2009-12-07 07:58:23,638 INFO : Mounting target filesystems
2009-12-07 07:58:23,638 DEBUG : Mounting /
2009-12-07 07:58:23,639 DEBUG : ['mount', '-o', 'loop', '/mnt/vmbuilderDscdmG/root.img', '/mnt/vmbuilderDscdmG/target/']
2009-12-07 07:58:23,719 DEBUG : Creating /var/run in root filesystem
2009-12-07 07:58:23,720 DEBUG : Creating /var/lock in root filesystem
2009-12-07 07:58:23,720 DEBUG : Mounting /
2009-12-07 07:58:23,720 DEBUG : ['mount', '-o', 'loop', '/mnt/vmbuilderDscdmG/root_.img', '/mnt/vmbuilderDscdmG/target/']
2009-12-07 07:58:23,728 DEBUG : Creating /var/run in root filesystem
2009-12-07 07:58:23,729 DEBUG : Creating /var/lock in root filesystem
2009-12-07 07:58:23,730 DEBUG : Mounting /mnt
2009-12-07 07:58:23,730 DEBUG : ['mount', '-o', 'loop', '/mnt/vmbuilderDscdmG/____.img', '/mnt/vmbuilderDscdmG/target/mnt']
2009-12-07 07:58:23,739 INFO : Installing guest operating system. This might take some time...

The first mount of / is for the "root.img" file which is eventually used to create the actual EC2 image. Unfortunately, the second mount of "root_.img" on top of / causes everything to be written to "root_.img" which is never used to create the bundle.

Here is the ec2-bundle-image command which shows that it is looking for the system files in "root.img", and not "root_.img" (which is where they were placed because of the second mount above):

2009-12-07 08:03:29,471 DEBUG : ['ec2-bundle-image', '--image', '/mnt/dest-karmic-20091207-0758/root.img', '--cert', '/mnt/cert-XXX.pem', '--privatekey', '/mnt/pk-XXX.pem', '--user', 'XXX', '--prefix', 'ubuntu-9.10-karmic-x86_64-xxxxxxxxxxxx-20091207-0758', '-r', 'x86_64', '-d', '/mnt/vmbuilderDscdmG', '--kernel', 'aki-fd15f694', '--ramdisk', 'ari-c515f6ac']

This problem is currently making it impossible for me to generate 64-bit EC2 images.

Here is the vmbuilder command I am running. It works on 32-bit with only the obvious slight modifications:

sudo vmbuilder/vmbuilder xen ubuntu \
    --suite=karmic \
    --arch=amd64 \
    --dest=/mnt/dest-karmic-20091207-0758 \
    --tmp=/mnt \
    --ec2 \
    --ec2-version="$description" \
    --manifest=/mnt/$prefix \
    --lock-user \
    --components="main,restricted,universe,multiverse" \
    --part=part-${arch}.txt \
    --ec2-bundle \
    --ec2-upload \
    --ec2-register \
    --ec2-bucket=$bucket \
    --ec2-prefix=$prefix \
    --ec2-user=$AWS_USER_ID \
    --ec2-cert=$cert \
    --ec2-key=$pk \
    --ec2-access-key=$AWS_ACCESS_KEY_ID \
    --ec2-secret-key=$AWS_SECRET_ACCESS_KEY \
    --ec2-kernel=aki-fd15f694 \
    --ec2-ramdisk=ari-c515f6ac \
    --install-mirror=http://ec2-us-east-mirror.rightscale.com/ubuntu \
    --ppa=alestic/ppa \
    --addpkg=runurl \
    --addpkg=ncurses-dev \
    --addpkg=vim \
    --addpkg=zip \
    --addpkg=unzip \
    --addpkg=libgnutls-dev \
    --addpkg=sox \
    --addpkg=libsox-fmt-all \
    --addpkg=cracklib-runtime \
    --addpkg=wamerican \
    --addpkg=wbritish \
    --addpkg=libstdc++6 \
    --addpkg=libcurl3 \
    --addpkg=libxml2 \
    --addpkg=collectd \
    --addpkg=libc6-i386 \
    --execscript=$(pwd)/setup-xxxxxxxx-server \
    --debug

ProblemType: Bug
Architecture: amd64
Date: Mon Dec 7 10:04:29 2009
DistroRelease: Ubuntu 9.10
Ec2AMI: ami-ab15f6c2
Ec2AMIManifest: ubuntu-images-us/ubuntu-karmic-9.10-amd64-server-20091027.1.manifest.xml
Ec2AvailabilityZone: us-east-1a
Ec2InstanceType: c1.xlarge
Ec2Kernel: aki-fd15f694
Ec2Ramdisk: ari-c515f6ac
Package: python-vm-builder 0.11.3-0ubuntu1
PackageArchitecture: all
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: User Name 2.6.31-302.7-ec2
SourcePackage: vm-builder
Tags: ec2-images
Uname: Linux 2.6.31-302-ec2 x86_64

Revision history for this message
Eric Hammond (esh) wrote :
Revision history for this message
Eric Hammond (esh) wrote :

No sooner entered as a bug than I think I've tracked this down to an invalid "part" file I was using:

  root 10240 a1
  root 2048 a1
  /mnt 1 b

Note the extra "root" entry.

I don't know if this can be used to create validation code to prevent other people from making this dumb mistake, but I'm marking this bug invalid now.

Changed in vm-builder (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.