Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / installation / sdnc / src / main / scripts / sdnc.failover
1 #!/usr/bin/perl -s\r
2 use strict;\r
3 \r
4 my $keyWord_standby = "standby";\r
5 my $keyWord_active = "active";\r
6 my $keyWord_true = "true";\r
7 my $keyWord_false = "false";\r
8 my $keyWord_success = "success";\r
9 my $keyWord_failure = "failure";\r
10 my $file_cluster = "sdnc.cluster";\r
11 my $file_switchVoting = "switchVoting.sh";\r
12 my $file_isPrimaryCluster = "sdnc.isPrimaryCluster";\r
13 \r
14 if ((!(-e $file_cluster)) || (!(-e $file_switchVoting))|| (!(-e $file_isPrimaryCluster))) {\r
15   # file not exist.\r
16   print qq|$keyWord_failure\n|;\r
17   exit 1;\r
18 }\r
19 \r
20 my $roleRes = qx("./$file_isPrimaryCluster");\r
21 my $clusterRes = qx("./$file_cluster");\r
22 \r
23 if ( index ($clusterRes, $keyWord_standby) != -1) {\r
24         # We are at standby side\r
25         if ( index ($roleRes, $keyWord_false) != -1) {\r
26            # We are at Secondary cluster\r
27            sub_activate_secondary();\r
28     } elsif ( index ($roleRes, $keyWord_true) != -1) {\r
29        # We are at Primary cluster\r
30            sub_activate_primary();\r
31     } else {\r
32       # Error.\r
33       print qq|$keyWord_failure\n|;\r
34       exit 1;           \r
35         }       \r
36 } elsif ( index ($clusterRes, $keyWord_active) != -1) {\r
37     # We are at active side     \r
38         if ( index ($roleRes, $keyWord_false) != -1) {\r
39            # We are at Secondary cluster\r
40            sub_activate_primary();\r
41     } elsif ( index ($roleRes, $keyWord_true) != -1)  {\r
42        # We are at Primary cluster\r
43            sub_activate_secondary();\r
44     } else {\r
45       # Error.\r
46       print qq|$keyWord_failure\n|;\r
47       exit 1;           \r
48         }       \r
49 } else {\r
50    # Error.\r
51   print qq|$keyWord_failure\n|;\r
52   exit 1;   \r
53 }\r
54 \r
55 sub sub_activate_primary {\r
56                 #Switching voting in Primary cluster \r
57         system("./$file_switchVoting primary");\r
58             print qq|$keyWord_success\n|;\r
59 }\r
60 \r
61 sub sub_activate_secondary {\r
62                 #Switching voting in secondary cluster\r
63         system("./$file_switchVoting secondary");\r
64             print qq|$keyWord_success\n|;\r
65 }\r