Cory, Alex, good pointers!
I had provider set to GLOBAL and require in UNIT. Maybe that's why. Let
me take a look your example and follow your instructions here to give it
another try.
Thank you guys!
On 06/07/2017 11:44 AM, Cory Johns wrote:
Alex beat me to it, but here's a marginally more complete example:
https://gist.github.com/johnsca/a91cb5897d92dfb6741ee1a09d82b39b
The key points are:
* The interface needs to be UNIT scoped (because you care about
individual units)
* The joined handler sets a state for each unit that joins
* The @when('rel.connected') predicate in the charm layer matches all
units that have had that state set, so the set of conversations in the
interface layer includes those units, and only those units. This is
trivially all of the units in my example, but you could also set a
different state in a -changed handler based on data sent by each
remote unit, and the conversations would only include the units that
had that specific state set when you matched that state using @when
Alex: A conversation will always have a scope, so that list
comprehension isn't necessary.
On Wed, Jun 7, 2017 at 11:38 AM, Alex Kavanagh
<alex.kavan...@canonical.com <mailto:alex.kavan...@canonical.com>> wrote:
Hi
I'm assuming you are using charms.reactive; if not then look into
relation_ids command.
In your interface, count the number of conversations that have a
scope set to something other than None. scope shouldn't be None,
but I've had cases where it has been (it may have been a bug):
So in the provider.py RelationBase derived class, something along
the lines of:
num = len([c for c in self.conversations() if c.scope])
in a method would be a relatively simple way of doing it.
(There may be better ways of doing this!)
Cheers
Alex.
On Wed, Jun 7, 2017 at 4:22 PM, fengxia <fx...@lenovo.com
<mailto:fx...@lenovo.com>> wrote:
Hi Juju,
I'm building two charms and linking them with one relation,
one charm ("A") will provide and the other ("B") will require.
The deployment will have one "A" and three "B"s. How do I know
all three Bs have joined? I'm thinking to use a counter in A's
relation, then at relation-joined hook by B to add this
counter. But set_remote() and set_local() didn't work. Not
sure what's the right way to achieve this?
--
Feng xia
Engineer
Lenovo USA
Phone: 5088011794 <tel:5088011794>
fx...@lenovo.com <mailto:fx...@lenovo.com>
Lenovo.com
Twitter | Facebook | Instagram | Blogs | Forums
9
--
Juju mailing list
Juju@lists.ubuntu.com <mailto:Juju@lists.ubuntu.com>
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/juju
<https://lists.ubuntu.com/mailman/listinfo/juju>
--
Alex Kavanagh - Software Engineer
Cloud Dev Ops - Solutions & Product Engineering - Canonical Ltd
--
Juju mailing list
Juju@lists.ubuntu.com <mailto:Juju@lists.ubuntu.com>
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/juju
<https://lists.ubuntu.com/mailman/listinfo/juju>
--
Feng xia
Engineer
Lenovo USA
Phone: 5088011794
fx...@lenovo.com
Lenovo.com
Twitter | Facebook | Instagram | Blogs | Forums
--
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/juju