The simplestreams stuff is all premised on being able to access an index
file relative to a base URL and then navigate to a product file relative
to the same base path. Given that the required authenticated access via
a provider storage interface doesn't really lend itself to the current
URL based approach, I'd like to leave it for now and revisit later if it
comes up as an issue.
Update: we discussed this on a hangout and the current approach is
acceptable.
https://codereview.appspot.com/9128047/diff/7001/environs/ec2/local_test.go#newcode389
environs/ec2/local_test.go:389: // The public bucket URL ends with
"/public-tools".
On 2013/05/16 08:59:11, fwereade wrote:
> Sorry, I'm not clear why this is. Is it because of that swapping out
of tools
> for public-tools? If so, I'm pretty sure that's not correct -- tools
> (public-tools) is for *tools*.
> And... shouldn't that be a signed URL anyway?
The public-tools is an artifact of other unrelated work to prevent tests
accidentally overwriting a real public bucket. There's a bug to clean up
how our tests work.
The use of the public bucket for metadata is actually removed in a
downstream branch since it's not needed for EC2 because the metadata is
all available via simplestreams.
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ ec2/ec2. go
File environs/ec2/ec2.go (right):
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ ec2/ec2. go#newcode361 ec2/ec2. go:361: // Add the simplestreams base URL off the
environs/
public bucket.
On 2013/05/16 08:59:11, fwereade wrote:
> Why not the private bucket?
The simplestreams stuff is all premised on being able to access an index
file relative to a base URL and then navigate to a product file relative
to the same base path. Given that the required authenticated access via
a provider storage interface doesn't really lend itself to the current
URL based approach, I'd like to leave it for now and revisit later if it
comes up as an issue.
Update: we discussed this on a hangout and the current approach is
acceptable.
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ ec2/local_ test.go ec2/local_ test.go (right):
File environs/
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ ec2/local_ test.go# newcode389 ec2/local_ test.go: 389: // The public bucket URL ends with
environs/
"/public-tools".
On 2013/05/16 08:59:11, fwereade wrote:
> Sorry, I'm not clear why this is. Is it because of that swapping out
of tools
> for public-tools? If so, I'm pretty sure that's not correct -- tools
> (public-tools) is for *tools*.
> And... shouldn't that be a signed URL anyway?
The public-tools is an artifact of other unrelated work to prevent tests
accidentally overwriting a real public bucket. There's a bug to clean up
how our tests work.
The use of the public bucket for metadata is actually removed in a
downstream branch since it's not needed for EC2 because the metadata is
all available via simplestreams.
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ imagemetadata/ simplestreams. go imagemetadata/ simplestreams. go (right):
File environs/
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ imagemetadata/ simplestreams. go#newcode212 imagemetadata/ simplestreams. go:212: if _, ok := NotFoundError) ; ok {
environs/
err.(*environs.
On 2013/05/16 06:47:13, jameinel wrote:
> generally I really prefer the:
> environs. IsNotFound( err)
> method. This still works, but I'm wondering if you prefer it?
Sadly only goose has nice error helpers like that
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ openstack/ local_test. go openstack/ local_test. go (right):
File environs/
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ openstack/ local_test. go#newcode423 openstack/ local_test. go:423: c.Check( strings. HasSuffix( urls[1] ,
environs/
"/imagemetadata"), Equals, true)
On 2013/05/16 08:59:11, fwereade wrote:
> Both unsigned..?
Yes. But in a downstream branch, the use of the public bucket URL for
EC2 is removed.
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ openstack/ provider. go openstack/ provider. go (right):
File environs/
https:/ /codereview. appspot. com/9128047/ diff/7001/ environs/ openstack/ provider. go#newcode626 openstack/ provider. go:626: publicBucketURL, err := Unlocked. URL("")
environs/
e.publicStorage
On 2013/05/16 08:59:11, fwereade wrote:
> Again, why not private?
The URL based access used by simplestreams doesn't really lend itself to
the client based access to the private bucket.
https:/ /codereview. appspot. com/9128047/