Propagating state change to multiple peers

Gustavo Niemeyer gustavo.niemeyer at canonical.com
Wed Jul 13 20:17:09 UTC 2011


(...)
> relation-changed hook.   This works fine when its a 1-to-1 relation.  But
> when I begin adding more new swift storage nodes, the rings need to be
> balanced for each new member and new configuration propagated to *all* nodes
> relating to swift-proxy, not only the new node.  It seems ensemble needs to
> have some notion of global state/relation changes that fire corresponding
> hooks on the central server and all its peers.

I'm not entirely sure I see the need you have, so please correct me if
I'm on the wrong track.

I believe you're looking for a concept we conveniently named as "peer
relations".  If you declare a relation of type "peer" (rather than
requires/provides), all of the service units deployed will
automatically join a relation which is made with the ring itself, so
"relation-list" will get you the precise number of peers participating
in the relation, and you get relation-get on any of them.

Does that solve the issue you're finding?

-- 
Gustavo Niemeyer
http://niemeyer.net
http://niemeyer.net/plus
http://niemeyer.net/twitter
http://niemeyer.net/blog

-- I never filed a patent.




More information about the Ensemble mailing list