Comment 0 for bug 1090410

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

It seems that upload-bundle and download-bundle do not handle a '/' in the bucket name. Older versions of the ec2-ami tools also had this restriction.

$ truncate --size 1m foo; cloud-publish-image amd64 foo smoser-private-images/foo
failed: euca-upload-bundle --bucket smoser-private-images/foo --manifest /tmp/cloud-publish-image.U6Ziy8/foo.manifest.xml
Checking bucket: smoser-private-images/foo
Creating bucket: smoser-private-images/foo
S3ResponseError: 404 Not Found
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist</Message><BucketName>smoser-private-images</BucketName><RequestId>1F4D1C616626FE59</RequestId><HostId>qmo6OQs4Rad6NHpofzYv590JqB0IrTPIM3kNSjgLQ31B0E1AeNxnwfRtExCfjZwm</HostId></Error>
failed to upload bundle to smoser-private-images/foo/foo.manifest.xml

What went wrong there is that upload-bundle tried to check for a bucket named 'smoser-private-images/foo' rather than 'smoser-private-images'. The ec2 api and ec2-ami tools now accept this, and realize that you want to create a bucket without a / and a "directory" in that bucket.

Note, if the bucket already exists, this seems to work.

Delete-bundle seems also broken:
$ euca-delete-bundle --bucket smoser-private-images/prefix --prefix foo.img
<unknown>:1:0: no element found
$ ec2-delete-bundle --bucket smoser-private-images --prefix prefix/foo.img
--prefix has invalid value 'prefix/foo.img': '/' character not allowed.
Try 'ec2-delete-bundle --help'
$ ec2-delete-bundle --bucket smoser-private-images/prefix --prefix foo.img
Deleting files:
   - foo.img.manifest.xml
   - foo.img.part.00
Continue [y/N]: y
Deleted foo.img.manifest.xml
Deleted foo.img.part.00
ec2-delete-bundle complete.

Note above there that
 a.) if a bucket already exists, then 'upload-bundle' seems OK with / in the bucket name.
 b.) i used 'cloud-publish-image' as a convienence wrapper.
 c.) delete-bundle interestingly wines about '/' in prefix, it wants that as part of the bucket name (strange).

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: euca2ools 2.0.2-1ubuntu2
ProcVersionSignature: Ubuntu 3.5.0-19.30-generic 3.5.7
Uname: Linux 3.5.0-19-generic x86_64
ApportVersion: 2.6.1-0ubuntu6
Architecture: amd64
Date: Fri Dec 14 10:00:30 2012
EcryptfsInUse: Yes
InstallationDate: Installed on 2011-10-19 (422 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MarkForUpload: True
PackageArchitecture: all
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: euca2ools
UpgradeStatus: Upgraded to quantal on 2011-11-07 (403 days ago)