[Pacemaker] Improvement for the communication failure of booth

yusuke iida yusk.iida at gmail.com
Mon Feb 11 21:52:26 EST 2013


Hi, Jiaju

2012/12/18 Jiaju Zhang <jjzhang at suse.de>:
> Good suggestion! I think it may need to introduce a notifier callback so
> that the failure of communicating with the problematic node can be
> notified to the "active" node. This makes sense for the active node,
> because it will make the admin know how many healthy "passive" nodes
> currently there are and any potential issues might be resolved in
> advance.
>
> Regarding the implementation of this feature, I think it is doable
> although it may need a lot of changes;)

I performed implementation about the state indication.

This function displays the communication state of paxos of each site.
In order to view the status we have extended the display of the "booth
client list" command.

The display format is as follows.
# booth client list
ticket: ticketA, owner: None, expires: INF
        site: <site ip>, state: <init | waiting promise | promised |
waiting accept | acceped>

I below shows an example of a status display.

Constitution: 3 sites, 1 ticket
siteA: 192.168.201.131(grant)
siteB: 192.168.201.132
siteC: 192.168.201.133

"""initial state"""
siteA # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/08 20:21:54
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: accepted

siteB # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/08 20:21:53
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: accepted

siteC # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/08 20:21:54
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: accepted

"""siteA is down"""
siteB # booth client list
ticket: ticketA, owner: 192.168.201.133, expires: 2013/02/12 11:00:45
        site: 192.168.201.131, state: waiting accept
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: accepted

siteC # booth client list
ticket: ticketA, owner: 192.168.201.133, expires: 2013/02/12 11:00:46
        site: 192.168.201.131, state: waiting accept
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: accepted

"""siteB is down"""
siteA # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/12 11:14:41
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: waiting accept
        site: 192.168.201.133, state: accepted

siteC # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/12 11:14:41
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: waiting accept
        site: 192.168.201.133, state: accepted

"""communication blockade between siteB-siteC"""
siteA # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/12 11:33:20
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: accepted

siteB # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/12 11:33:19
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: accepted
        site: 192.168.201.133, state: waiting accept

siteC # booth client list
ticket: ticketA, owner: 192.168.201.131, expires: 2013/02/12 11:33:19
        site: 192.168.201.131, state: accepted
        site: 192.168.201.132, state: waiting accept
        site: 192.168.201.133, state: accepted

I want a repository to merge it if I do not have any problem.
https://github.com/jjzhang/booth/pull/49

Best regards,
Yusuke.

--
----------------------------------------
METRO SYSTEMS CO., LTD

Yusuke Iida
Mail: yusk.iida at gmail.com
----------------------------------------




More information about the Pacemaker mailing list