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)
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 private- images/ foo --manifest /tmp/cloud- publish- image.U6Ziy8/ foo.manifest. xml private- images/ foo private- images/ foo <Code>NoSuchBuc ket</Code> <Message> The specified bucket does not exist</ Message> <BucketName> smoser- private- images< /BucketName> <RequestId> 1F4D1C616626FE5 9</RequestId> <HostId> qmo6OQs4Rad6NHp ofzYv590JqB0IrT PIM3kNSjgLQ31B0 E1AeNxnwfRtExCf jZwm</HostId> </Error> private- images/ foo/foo. manifest. xml
failed: euca-upload-bundle --bucket smoser-
Checking bucket: smoser-
Creating bucket: smoser-
S3ResponseError: 404 Not Found
<?xml version="1.0" encoding="UTF-8"?>
<Error>
failed to upload bundle to smoser-
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: private- images/ prefix --prefix foo.img private- images --prefix prefix/foo.img private- images/ prefix --prefix foo.img manifest. xml manifest. xml
$ euca-delete-bundle --bucket smoser-
<unknown>:1:0: no element found
$ ec2-delete-bundle --bucket smoser-
--prefix has invalid value 'prefix/foo.img': '/' character not allowed.
Try 'ec2-delete-bundle --help'
$ ec2-delete-bundle --bucket smoser-
Deleting files:
- foo.img.
- foo.img.part.00
Continue [y/N]: y
Deleted foo.img.
Deleted foo.img.part.00
ec2-delete-bundle complete.
Note above there that publish- image' as a convienence wrapper.
a.) if a bucket already exists, then 'upload-bundle' seems OK with / in the bucket name.
b.) i used 'cloud-
c.) delete-bundle interestingly wines about '/' in prefix, it wants that as part of the bucket name (strange).
ProblemType: Bug ature: Ubuntu 3.5.0-19.30-generic 3.5.7 ture: all DIR=<set>
DistroRelease: Ubuntu 12.10
Package: euca2ools 2.0.2-1ubuntu2
ProcVersionSign
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
PackageArchitec
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: euca2ools
UpgradeStatus: Upgraded to quantal on 2011-11-07 (403 days ago)