connecting api clients

Kapil Thangavelu kapil.thangavelu at canonical.com
Tue Jun 17 15:04:34 UTC 2014


Hi Folks,

There's a general issue that's been brewing with core and client access for
the last few stable releases, which has gotten quite a bit worse with 1.19
that i wanted to bring up. Namely its how does an api client access the api.

Ignoring history, at the moment with a 'jenv' file is basically required
for a client to be able to construct a secure, authenticated connection to
the end point as certs, passwords and endpoint url are in jenv file.

Unfortunately the jenv file format is an evolved one rather than a design
one, more to the point, its been changing without notice and breaking
clients.

The most recent breaking change from 1.18 to 1.19 is the endpoint addresses
have gone from being a list of public api endpoint per server, to a list of
all addresses (including lots of unreachable ones) per server with no way
of distinguishing which addresses correspond to which server or type/name
of network. At the moment the juju cli just initiates connections en masse
to all the addresses and stops when it gets a working connection, this is a
heavy burden for other clients though.

Ideally the cli client would distinguish which address in the cache its
actually using to connect as opposed to just recording a bunch of addresses
that don't work. Also it would ideally record network names/types for those
addresses and distinguish between multiple servers.

There's a few bugs entries related to this.
https://bugs.launchpad.net/juju-core/+bug/1308491
https://bugs.launchpad.net/juju-core/+bug/1311227

cheers,

Kapil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20140617/167e32b8/attachment-0001.html>


More information about the Juju-dev mailing list