#!/usr/bin/perl -s use strict; my $keyWord_standby = "standby"; my $keyWord_active = "active"; my $keyWord_true = "true"; my $keyWord_false = "false"; my $keyWord_success = "success"; my $keyWord_failure = "failure"; my $file_cluster = "sdnc.cluster"; my $file_switchVoting = "switchVoting.sh"; my $file_isPrimaryCluster = "sdnc.isPrimaryCluster"; if ((!(-e $file_cluster)) || (!(-e $file_switchVoting))|| (!(-e $file_isPrimaryCluster))) { # file not exist. print qq|$keyWord_failure\n|; exit 1; } my $roleRes = qx("./$file_isPrimaryCluster"); my $clusterRes = qx("./$file_cluster"); if ( index ($clusterRes, $keyWord_standby) != -1) { # We are at standby side if ( index ($roleRes, $keyWord_false) != -1) { # We are at Secondary cluster sub_activate_secondary(); } elsif ( index ($roleRes, $keyWord_true) != -1) { # We are at Primary cluster sub_activate_primary(); } else { # Error. print qq|$keyWord_failure\n|; exit 1; } } elsif ( index ($clusterRes, $keyWord_active) != -1) { # We are at active side if ( index ($roleRes, $keyWord_false) != -1) { # We are at Secondary cluster sub_activate_primary(); } elsif ( index ($roleRes, $keyWord_true) != -1) { # We are at Primary cluster sub_activate_secondary(); } else { # Error. print qq|$keyWord_failure\n|; exit 1; } } else { # Error. print qq|$keyWord_failure\n|; exit 1; } sub sub_activate_primary { #Switching voting in Primary cluster system("./$file_switchVoting primary"); print qq|$keyWord_success\n|; } sub sub_activate_secondary { #Switching voting in secondary cluster system("./$file_switchVoting secondary"); print qq|$keyWord_success\n|; }