lp:~rogpeppe/juju-core/459-apiserver-charm-stream

Created by Roger Peppe and last modified
Get this branch:
bzr branch lp:~rogpeppe/juju-core/459-apiserver-charm-stream
Only Roger Peppe can upload to this branch. If you are Roger Peppe please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Roger Peppe
Project:
juju-core
Status:
Development

Recent revisions

2037. By Roger Peppe

state/apiserver: use authtag not user in API charm request

2036. By Roger Peppe

state/apiserver: rudiments of charm streaming

2035. By John A Meinel

[r=jameinel],[bug=1205371] state/apiserver/uniter: use cached APIAddresses

When Roger changed the common.Addresser code to use the cached
addresses, he missed the fact that Uniter had its own implementation.
This was because we weren't exposing StateAddress or CACert to the
Uniter. So this change moves the code around to share the common
APIAddresses method and uses it in the Uniter facade.

This also changes common.Addresser to be named common.StateAddresser
to make it clearer what is going on.

https://codereview.appspot.com/20940043/

2034. By Nate Finch

[r=natefinch] API endpoint for set. There actually already was an endpoint that was used by the GUI, but it has logic to treat empty strings as unsetting the configuration value, which is not the behavior we want. To maintain compatibility with the GUI, I created a new endpoint to be used by the client, called NewServiceSetForClientAPI, an intentionally ugly name to remind us that we want to merge the two functions as soon as possible. This new endpoint does not treat empty strings specially, so if you set a configuration value to an empty string it'll be set to an empty string, and you should use unset to unset it.

2033. By Frank Mueller

[r=themue] local: ensure that state and api ports are free

Evaluation of a way to ensure unused ports for state and API
of the local provider.

https://codereview.appspot.com/14527044/

2032. By John A Meinel

[r=jameinel] rpc/apiserver: logging improvements

This is a bunch of tweaks to the RPC logging statements to make them
nicer to use.

1) Add wall-clock time to responses. This lets you see quickly how
long a given RPC took to process.

2) Add a unique identifier per-connection. The code was sort of
written around remoteAddr (it collected it, at least), but it turns
out that isn't actually enough. Roger mentioned using the address of
an object, but those can be reused. Using a unique counter allows us
to both guarantee it is unique for the lifetime of the process, and
makes the numbers significantly smaller. I also went with Hex form
to save a couple bytes, but I'm not wedded to it. I could be
convinced that %d would be better than %x. I did go with [%x] to
ensure that you can search for a stream without hitting
prefix/suffix/etc matches.

3) Once the remote side has logged in, the log messages include the
Tag of that entity. I find that to be quite useful (especially to
clarify unit agents from machine agents, etc). The Facade they are
using is already in the requests (as Type).

This is based on my earlier patch that fixes the API endpoint bugs. I
could pull it out if that patch gets rejected, as it isn't an actual
dependency, just code committed after the other one. I don't expect it
will be an actual problem, though.

https://codereview.appspot.com/18990045/

2031. By John A Meinel

[r=jameinel] juju/api: don't warn on aborted connection

I've been playing with Roger's tweak to using cached API addresses
rather than determining them by reading the provider-state file. It
works, but it has a bug that when it successfully connects to the API
with the cached information, it causes the other goroutine to stop
with an "aborted" exception. That was being displayed to the user as a
WARNING which is pretty clearly incorrect. I can understand that we
don't want to silently consume errors, but errAborted should be
treated as control flow logic.

So I made that happen. I wanted to add testing that we output sane
information to the user, but it was clumsy to find the right hook
points. If people feel strongly I can try to track that down, but I
didn't want to lose the patch in flight.

https://codereview.appspot.com/17700043/

2030. By Andrew Wilkins

[r=axwalk],[bug=1246983] cmd/juju: use API for expose/unexpose

Partially fixes #1246983

https://codereview.appspot.com/18600045/

2029. By Andrew Wilkins

[r=axwalk],[bug=1246983] cmd/juju: use API for resolved

Partially fixes #1246983

https://codereview.appspot.com/20670044/

2028. By Andrew Wilkins

[r=axwalk],[bug=1233924],[bug=1247730] environs/simplestreams: fix GetMetadata

GetMetadata was dropping out if a datasource
returned no matching product IDs, without an
error. I've changed it to check that a non-
empty list of products is returned before
bailing out.

Fixes #1233924

https://codereview.appspot.com/14218044/

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~go-bot/juju-core/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers