X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=sdnc-a1-controller%2Foam%2Finstallation%2Fsdnc%2Fsrc%2Fmain%2Fscripts%2Fsdnc.failover;fp=sdnc-a1-controller%2Foam%2Finstallation%2Fsdnc%2Fsrc%2Fmain%2Fscripts%2Fsdnc.failover;h=b002ae67cd55282fa2892f1a4bd9614dc8bce101;hb=b6fe5a1bbad372357f6b441e1657dd8bbe48dc1a;hp=0000000000000000000000000000000000000000;hpb=4e0c72d8a2570e256911eab7cc34f770a1aa327a;p=nonrtric.git diff --git a/sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/sdnc.failover b/sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/sdnc.failover new file mode 100755 index 00000000..b002ae67 --- /dev/null +++ b/sdnc-a1-controller/oam/installation/sdnc/src/main/scripts/sdnc.failover @@ -0,0 +1,65 @@ +#!/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|; +}