]> git.nbdom.net Git - nb.git/commitdiff
ovh-api
authorroot <sys@15gifts.com>
Tue, 17 Oct 2017 10:10:01 +0000 (11:10 +0100)
committerroot <sys@15gifts.com>
Tue, 17 Oct 2017 10:10:01 +0000 (11:10 +0100)
bin/ovh-api

index 92b73f63199a1cd6e6790739b9df068f8f18a2bc..873e04f25e10cb36a8b4fde86cfdff9721742659 100755 (executable)
@@ -25,6 +25,7 @@ my %EXIT_ROUTED = (
   'master' => 0,
   'none'   => 1,
   'slave'  => 2,
+  'err'    => 9,
 );
 
 #################################################################################
@@ -135,7 +136,7 @@ sub hostname {
 
 sub ip_routed {
   my $ip = shift @_;
-  my $rec = query("/ip/$ip") or exit 9;
+  my $rec = query("/ip/$ip") or exit $EXIT_ROUTED{err};
   my @routed;
   my %dbl;
   my @ips = ips();
@@ -147,23 +148,23 @@ sub ip_routed {
 
   } elsif ($rec->{type} eq 'loadBalancing') {
 
-    my $frontends = query("/ipLoadbalancing/ip-$ip/frontend") or exit 9;
+    my $frontends = query("/ipLoadbalancing/ip-$ip/frontend") or exit $EXIT_ROUTED{err};
 
     for my $frontend_id (@$frontends) {
 
-      my $frontend = query("/ipLoadbalancing/ip-$ip/frontend/$frontend_id") or exit 9;
+      my $frontend = query("/ipLoadbalancing/ip-$ip/frontend/$frontend_id") or exit $EXIT_ROUTED{err};
       #use Data::Dumper; warn Dumper($frontend);
       next unless $frontend->{defaultBackendId};
       next if $frontend->{disabled} !~ /^(0|false)$/;
 
-      my $farms = query("/ipLoadbalancing/ip-$ip/".$frontend->{type}."/farm") or exit 9;
+      my $farms = query("/ipLoadbalancing/ip-$ip/".$frontend->{type}."/farm") or exit $EXIT_ROUTED{err};
       #use Data::Dumper; warn Dumper($farms);
       for my $farm_id (@$farms) {
         next if $farm_id != $frontend->{defaultBackendId};
 
-        my $servers = query("/ipLoadbalancing/ip-$ip/".$frontend->{type}."/farm/$farm_id/server") or exit 9;
+        my $servers = query("/ipLoadbalancing/ip-$ip/".$frontend->{type}."/farm/$farm_id/server") or exit $EXIT_ROUTED{err};
         for my $id_server (@$servers) {
-          my $server = query("/ipLoadbalancing/ip-$ip/".$frontend->{type}."/farm/$farm_id/server/$id_server") or exit 9;
+          my $server = query("/ipLoadbalancing/ip-$ip/".$frontend->{type}."/farm/$farm_id/server/$id_server") or exit $EXIT_ROUTED{err};
 
           #use Data::Dumper; warn Dumper($server);
           next if $server->{status} ne 'active';
@@ -218,7 +219,7 @@ sub ip_move {
 
   my $localhost = hostname();
 
-  my $rec = query("/ip/$ip") or exit 9;
+  my $rec = query("/ip/$ip") or exit $EXIT_ROUTED{err};
 
   my $type = $rec->{type};
   $type eq 'failover' or die "$ip $type is not an ip failover!\n";
@@ -246,7 +247,8 @@ sub query {
   die "$NAME: Connection failed" unless ref $response eq 'OvhApi::Answer';
        if ($response->isFailure()) {
          die "$NAME: ERR: Connection failed" if $response->error() =~ /Internal Server Error/;
-         warn "$NAME: ERR: ".$response->error()."\n";
+         warn "$NAME: ERR: ".$response->error();#."\n";
+    exit $EXIT_ROUTED{none} if $response->error() =~ /The requested object.*does not exist/;
     return;
   }