Code review comment for lp://staging/~wallyworld/goose/public-containers

Revision history for this message
Ian Booth (wallyworld) wrote :

Reviewers: mp+140821_code.launchpad.net,

Message:
Please take a look.

Description:
Introduce container ACLs

The purpose of this branch is to support Swift container ACLs, allowing
a public container to be set up to store the juju tools.
Containers which are public do not require authorisation tokens, and the
setup workflow for accessing the container is different.
For a private container, the OpenStack client authenticates in order to
not only get the authorisation token, but also the URLs
used to access the various service end points (incl swift). For public
containers, we just want to be able to nominate the
swift URL directly. So the OpenStack client implementation has been
split into authenticated and unauthenticated variants.
Authenticated clients are initialised with user credentials as before.
Unauthenticated clients are given a base URL and all
authentication operations are NOOPs. The swift client doesn't care
whether it is initialised with a public or authenticated
connection to OpenStack; it works the same either way, but operations
which are forbidden by the ACL will return a 401.

The next step in this work is to configure the OpenStack provider in
juju-core to be able to use a public container from which it
gets the juju tools. This will mirror what the ec2 provider does.

https://code.launchpad.net/~wallyworld/goose/public-containers/+merge/140821

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/6962052/

Affected files:
   A [revision details]
   M client/auth_client.go
   A client/client.go
   M http/client.go
   M nova/live_test.go
   M swift/live_test.go
   M swift/local_test.go
   M swift/swift.go
   M testservices/swiftservice/service_http.go
   M testservices/swiftservice/service_http_test.go

« Back to merge proposal