mirror of
				https://github.com/eworm-de/routeros-scripts.git
				synced 2024-05-11 05:55:19 +00:00 
			
		
		
		
	capsman-rolling-upgrade: move code into function
This commit is contained in:
		@@ -12,30 +12,35 @@
 | 
			
		||||
#
 | 
			
		||||
# !! Do not edit this file, it is generated from template!
 | 
			
		||||
 | 
			
		||||
:local 0 [ :jobname ];
 | 
			
		||||
:global GlobalFunctionsReady;
 | 
			
		||||
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
 | 
			
		||||
 | 
			
		||||
:global LogPrintExit2;
 | 
			
		||||
:global ScriptLock;
 | 
			
		||||
:local Main do={
 | 
			
		||||
  :local ScriptName [ :tostr $1 ];
 | 
			
		||||
 | 
			
		||||
$ScriptLock $0;
 | 
			
		||||
  :global LogPrintExit2;
 | 
			
		||||
  :global ScriptLock;
 | 
			
		||||
 | 
			
		||||
:local InstalledVersion [ /system/package/update/get installed-version ];
 | 
			
		||||
  $ScriptLock $ScriptName;
 | 
			
		||||
 | 
			
		||||
:local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ];
 | 
			
		||||
:if ($RemoteCapCount > 0) do={
 | 
			
		||||
  :local Delay (600 / $RemoteCapCount);
 | 
			
		||||
  :if ($Delay > 120) do={ :set Delay 120; }
 | 
			
		||||
  :foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
 | 
			
		||||
    :local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
 | 
			
		||||
    :if ([ :len $RemoteCapVal ] > 1) do={
 | 
			
		||||
      $LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \
 | 
			
		||||
        " (" . $RemoteCapVal->"identity" . ")...") false;
 | 
			
		||||
      /caps-man/remote-cap/upgrade $RemoteCap;
 | 
			
		||||
    } else={
 | 
			
		||||
      $LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false;
 | 
			
		||||
  :local InstalledVersion [ /system/package/update/get installed-version ];
 | 
			
		||||
 | 
			
		||||
  :local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ];
 | 
			
		||||
  :if ($RemoteCapCount > 0) do={
 | 
			
		||||
    :local Delay (600 / $RemoteCapCount);
 | 
			
		||||
    :if ($Delay > 120) do={ :set Delay 120; }
 | 
			
		||||
    :foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
 | 
			
		||||
      :local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
 | 
			
		||||
      :if ([ :len $RemoteCapVal ] > 1) do={
 | 
			
		||||
        $LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
 | 
			
		||||
          " (" . $RemoteCapVal->"identity" . ")...") false;
 | 
			
		||||
        /caps-man/remote-cap/upgrade $RemoteCap;
 | 
			
		||||
      } else={
 | 
			
		||||
        $LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
 | 
			
		||||
      }
 | 
			
		||||
      :delay ($Delay . "s");
 | 
			
		||||
    }
 | 
			
		||||
    :delay ($Delay . "s");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
$Main [ :jobname ];
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user