mirror of
https://git.eworm.de/cgit/routeros-scripts
synced 2025-08-18 08:39:13 +02:00
capsman-rolling-upgrade: move code into function
This commit is contained in:
parent
c2df671d6f
commit
4cbf9fab74
4 changed files with 103 additions and 83 deletions
|
@ -12,30 +12,35 @@
|
||||||
#
|
#
|
||||||
# !! Do not edit this file, it is generated from template!
|
# !! Do not edit this file, it is generated from template!
|
||||||
|
|
||||||
:local 0 [ :jobname ];
|
|
||||||
:global GlobalFunctionsReady;
|
:global GlobalFunctionsReady;
|
||||||
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
||||||
|
|
||||||
:global LogPrintExit2;
|
:local Main do={
|
||||||
:global ScriptLock;
|
: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 ] ];
|
:local InstalledVersion [ /system/package/update/get installed-version ];
|
||||||
:if ($RemoteCapCount > 0) do={
|
|
||||||
:local Delay (600 / $RemoteCapCount);
|
:local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ];
|
||||||
:if ($Delay > 120) do={ :set Delay 120; }
|
:if ($RemoteCapCount > 0) do={
|
||||||
:foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
|
:local Delay (600 / $RemoteCapCount);
|
||||||
:local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
|
:if ($Delay > 120) do={ :set Delay 120; }
|
||||||
:if ([ :len $RemoteCapVal ] > 1) do={
|
:foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
|
||||||
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
:local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
|
||||||
" (" . $RemoteCapVal->"identity" . ")...") false;
|
:if ([ :len $RemoteCapVal ] > 1) do={
|
||||||
/caps-man/remote-cap/upgrade $RemoteCap;
|
$LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
||||||
} else={
|
" (" . $RemoteCapVal->"identity" . ")...") false;
|
||||||
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") 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 ];
|
||||||
|
|
|
@ -13,41 +13,46 @@
|
||||||
# !! This is just a template to generate the real script!
|
# !! This is just a template to generate the real script!
|
||||||
# !! Pattern '%TEMPL%' is replaced, paths are filtered.
|
# !! Pattern '%TEMPL%' is replaced, paths are filtered.
|
||||||
|
|
||||||
:local 0 [ :jobname ];
|
|
||||||
:global GlobalFunctionsReady;
|
:global GlobalFunctionsReady;
|
||||||
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
||||||
|
|
||||||
:global LogPrintExit2;
|
:local Main do={
|
||||||
:global ScriptLock;
|
: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 ] ];
|
:local InstalledVersion [ /system/package/update/get installed-version ];
|
||||||
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
|
|
||||||
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ];
|
:local RemoteCapCount [ :len [ /caps-man/remote-cap/find ] ];
|
||||||
:if ($RemoteCapCount > 0) do={
|
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
|
||||||
:local Delay (600 / $RemoteCapCount);
|
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ];
|
||||||
:if ($Delay > 120) do={ :set Delay 120; }
|
:if ($RemoteCapCount > 0) do={
|
||||||
:foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
|
:local Delay (600 / $RemoteCapCount);
|
||||||
:foreach RemoteCap in=[ /interface/wifi/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
:if ($Delay > 120) do={ :set Delay 120; }
|
||||||
:foreach RemoteCap in=[ /interface/wifiwave2/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
:foreach RemoteCap in=[ /caps-man/remote-cap/find where version!=$InstalledVersion ] do={
|
||||||
:local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
|
:foreach RemoteCap in=[ /interface/wifi/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
||||||
:local RemoteCapVal [ /interface/wifi/capsman/remote-cap/get $RemoteCap ];
|
:foreach RemoteCap in=[ /interface/wifiwave2/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
||||||
:local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ];
|
:local RemoteCapVal [ /caps-man/remote-cap/get $RemoteCap ];
|
||||||
:if ([ :len $RemoteCapVal ] > 1) do={
|
:local RemoteCapVal [ /interface/wifi/capsman/remote-cap/get $RemoteCap ];
|
||||||
|
:local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ];
|
||||||
|
:if ([ :len $RemoteCapVal ] > 1) do={
|
||||||
# NOT /caps-man/ #
|
# NOT /caps-man/ #
|
||||||
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
|
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
|
||||||
# NOT /caps-man/ #
|
# NOT /caps-man/ #
|
||||||
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
$LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
||||||
" (" . $RemoteCapVal->"identity" . ")...") false;
|
" (" . $RemoteCapVal->"identity" . ")...") false;
|
||||||
/caps-man/remote-cap/upgrade $RemoteCap;
|
/caps-man/remote-cap/upgrade $RemoteCap;
|
||||||
/interface/wifi/capsman/remote-cap/upgrade $RemoteCap;
|
/interface/wifi/capsman/remote-cap/upgrade $RemoteCap;
|
||||||
/interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap;
|
/interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap;
|
||||||
} else={
|
} else={
|
||||||
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false;
|
$LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
|
||||||
|
}
|
||||||
|
:delay ($Delay . "s");
|
||||||
}
|
}
|
||||||
:delay ($Delay . "s");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$Main [ :jobname ];
|
||||||
|
|
|
@ -12,31 +12,36 @@
|
||||||
#
|
#
|
||||||
# !! Do not edit this file, it is generated from template!
|
# !! Do not edit this file, it is generated from template!
|
||||||
|
|
||||||
:local 0 [ :jobname ];
|
|
||||||
:global GlobalFunctionsReady;
|
:global GlobalFunctionsReady;
|
||||||
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
||||||
|
|
||||||
:global LogPrintExit2;
|
:local Main do={
|
||||||
:global ScriptLock;
|
:local ScriptName [ :tostr $1 ];
|
||||||
|
|
||||||
$ScriptLock $0;
|
:global LogPrintExit2;
|
||||||
|
:global ScriptLock;
|
||||||
|
|
||||||
:local InstalledVersion [ /system/package/update/get installed-version ];
|
$ScriptLock $ScriptName;
|
||||||
|
|
||||||
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
|
:local InstalledVersion [ /system/package/update/get installed-version ];
|
||||||
:if ($RemoteCapCount > 0) do={
|
|
||||||
:local Delay (600 / $RemoteCapCount);
|
:local RemoteCapCount [ :len [ /interface/wifi/capsman/remote-cap/find ] ];
|
||||||
:if ($Delay > 120) do={ :set Delay 120; }
|
:if ($RemoteCapCount > 0) do={
|
||||||
:foreach RemoteCap in=[ /interface/wifi/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
:local Delay (600 / $RemoteCapCount);
|
||||||
:local RemoteCapVal [ /interface/wifi/capsman/remote-cap/get $RemoteCap ];
|
:if ($Delay > 120) do={ :set Delay 120; }
|
||||||
:if ([ :len $RemoteCapVal ] > 1) do={
|
:foreach RemoteCap in=[ /interface/wifi/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
||||||
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
|
:local RemoteCapVal [ /interface/wifi/capsman/remote-cap/get $RemoteCap ];
|
||||||
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
:if ([ :len $RemoteCapVal ] > 1) do={
|
||||||
" (" . $RemoteCapVal->"identity" . ")...") false;
|
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
|
||||||
/interface/wifi/capsman/remote-cap/upgrade $RemoteCap;
|
$LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
||||||
} else={
|
" (" . $RemoteCapVal->"identity" . ")...") false;
|
||||||
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false;
|
/interface/wifi/capsman/remote-cap/upgrade $RemoteCap;
|
||||||
|
} else={
|
||||||
|
$LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
|
||||||
|
}
|
||||||
|
:delay ($Delay . "s");
|
||||||
}
|
}
|
||||||
:delay ($Delay . "s");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$Main [ :jobname ];
|
||||||
|
|
|
@ -12,31 +12,36 @@
|
||||||
#
|
#
|
||||||
# !! Do not edit this file, it is generated from template!
|
# !! Do not edit this file, it is generated from template!
|
||||||
|
|
||||||
:local 0 [ :jobname ];
|
|
||||||
:global GlobalFunctionsReady;
|
:global GlobalFunctionsReady;
|
||||||
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
||||||
|
|
||||||
:global LogPrintExit2;
|
:local Main do={
|
||||||
:global ScriptLock;
|
:local ScriptName [ :tostr $1 ];
|
||||||
|
|
||||||
$ScriptLock $0;
|
:global LogPrintExit2;
|
||||||
|
:global ScriptLock;
|
||||||
|
|
||||||
:local InstalledVersion [ /system/package/update/get installed-version ];
|
$ScriptLock $ScriptName;
|
||||||
|
|
||||||
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ];
|
:local InstalledVersion [ /system/package/update/get installed-version ];
|
||||||
:if ($RemoteCapCount > 0) do={
|
|
||||||
:local Delay (600 / $RemoteCapCount);
|
:local RemoteCapCount [ :len [ /interface/wifiwave2/capsman/remote-cap/find ] ];
|
||||||
:if ($Delay > 120) do={ :set Delay 120; }
|
:if ($RemoteCapCount > 0) do={
|
||||||
:foreach RemoteCap in=[ /interface/wifiwave2/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
:local Delay (600 / $RemoteCapCount);
|
||||||
:local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ];
|
:if ($Delay > 120) do={ :set Delay 120; }
|
||||||
:if ([ :len $RemoteCapVal ] > 1) do={
|
:foreach RemoteCap in=[ /interface/wifiwave2/capsman/remote-cap/find where version!=$InstalledVersion ] do={
|
||||||
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
|
:local RemoteCapVal [ /interface/wifiwave2/capsman/remote-cap/get $RemoteCap ];
|
||||||
$LogPrintExit2 info $0 ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
:if ([ :len $RemoteCapVal ] > 1) do={
|
||||||
" (" . $RemoteCapVal->"identity" . ")...") false;
|
:set ($RemoteCapVal->"name") ($RemoteCapVal->"common-name");
|
||||||
/interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap;
|
$LogPrintExit2 info $ScriptName ("Starting upgrade for " . $RemoteCapVal->"name" . \
|
||||||
} else={
|
" (" . $RemoteCapVal->"identity" . ")...") false;
|
||||||
$LogPrintExit2 warning $0 ("Remote CAP vanished, skipping upgrade.") false;
|
/interface/wifiwave2/capsman/remote-cap/upgrade $RemoteCap;
|
||||||
|
} else={
|
||||||
|
$LogPrintExit2 warning $ScriptName ("Remote CAP vanished, skipping upgrade.") false;
|
||||||
|
}
|
||||||
|
:delay ($Delay . "s");
|
||||||
}
|
}
|
||||||
:delay ($Delay . "s");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$Main [ :jobname ];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue