eod status 8-jan-2013

Gustavo Niemeyer gustavo.niemeyer at canonical.com
Tue Jan 15 14:28:53 UTC 2013


On Wed, Jan 9, 2013 at 10:30 PM, Kapil Thangavelu
<kapil.thangavelu at canonical.com> wrote:
> That many semicolons makes me nervous ;-) Just to restate the changes then
> are
>
> 1. juju-* relation names are only valid for container require relations.
>
> the existing preserved semantics
>
> 2. juju-* interfaces or relation names can't be provided by a charm
> 3. juju-* interfaces can be required by a charm.
>
> Sounds good.

+1, plus adding a warn to cases matching (1) saying it is obsolete and
should be avoided, and after a large enough grace period that we don't
have to worry about right now, deprecating it with proper handling and
reporting of errors.

I haven't found a short description of the issue (maybe because I
skimmed too fast through it), so here is my attempt at it:

Relation names are designed to be globally unique (even across
relation type) and inner-facing, because they are identifiers used to
single-out that given relation within the charm implementation and
handling. Having a relation that has a requires relation named
"juju-info" breaks that, because it creates a duplicated relation
name, given that every charm has a relation named juju-info that it
provides implicitly.

Ironically, the very reason why we introduced the juju-* reserved
namespace was to handle juju-info. We just forgot to ban the requires
name from using it, and the implementation was lucky enough to never
stumble upon the bug so far. As a suggestion, that relation could
easily be named "container", for example.


gustavo @ http://niemeyer.net



More information about the Juju-dev mailing list