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