Cluster start ----------------- |clusterix start| ----------------- | | v ----------------- ------------------- ------ |Checkstart |-------------->| already started |---->|stop| ----------------- ------------------- ------ | | v ----------------- | while (true) |----<--- ----------------- | | | | | v | ----------------- | |activenode | ^ ----------------- | | | | v | ----------------- | |control | ^ ----------------- | | | | v | ----------------------- | |write information iam| ^ ----------------------- | | | | v | ----------------- | |sleep | ^ ----------------- | | | | v | ----------------- | |done |--->---- ----------------- Control subroutine --------------------- |check public network|--OK----------->--- --------------------- | | | | v KO --------------- | |other is alive| --KO---- | --------------- | | | v | | -------------- | OK |start service| v | -------------- | | | | v v | | ------ | | |stop| | | ------ KO | | | | v | -------------- ------------- v |you are active| --NO--> |start service| | -------------- ------------- | | | | | | | YES v | | | KO ----------<------------- | | | v | ---------------- | |not both active| v ---------------- | | | v | ----- | |stop| | ------ KO | v ------------------------ ------------------- ----- |check private interface|--KO-->|stop service force|-->|stop| ------------------------ ------------------- ----- | | OK | v ---------------------------------- ---------- ----- |check public interface other node|--KO-->|no action|-->|stop| ---------------------------------- --------- ----- | | OK v ------------------- |stop service force| ------------------- | | v ------ |stop| ------ start service subroutine ------------- ------ |I am active|--YES----------->---|stop| ------------- ------ | | NO v ----------- |remotestop| ----------- | v _______________ |killremotestop| --------------- | v ------------- |mount device| ------------ | v ------------- |configure ip| ------------- | v --------- |mailsend| --------- | v ----------------------- |start external program| ----------------------- | v ----- |stop| -----