SDN Controller Programming Guide

65
Teaming Service
Teaming helps in grouping a set of mandatory applications and control the role of the controller
node in the cluster based on the mandatory application availability status. Based on the teaming
configuration a controller node joins the team when all the mandatory applications joins the team.
Following are the different types of teaming events that joined application might receive:
BECOME_SUSPENDEDController node is not part of the team yet. Stay in suspended mode
BECOME_LEADERController node elected as a leader of the team
BECOME_MEMBERController node became a team member
NEW_LEADERRecent election resulted in a new team leader. Leader ID is notified through the
event
MEMBER_JOINA new member node joined the team. Joined node ID is notified through the
event
MEMBER_LEAVEA member node left the team. Left node ID is notified through the event
Following diagram explains the state diagram of teaming service.
Figure 32 Teaming Service State Diagram
Init Suspend
MemberLeader
BECOME_SUSPENDED
BECOME_SUSPENDED
NEW_LEADER
BECOME_MEMBER
BECOME_LEADER
Notifications
are not sent
if HA Service
is down
NEW_LEADER
MEMBER_JOIN
MEMBER_LEAVE
MEMBER_JOIN
MEMBER_LEAVE
State Transitions
INIT to BECOME_SUSPENDEDOn team Join, application receives SUSPEND notification
BECOME_SUSPEND to BECOME_MEMBERNode is now part of the team and is a member entity