capsman-download-packages: get info from log
Relying on older packages in local storage may be problematic due to
size constraints. Let's check the log for required packages.
(cherry picked from commit c4a5f8787a)
This commit is contained in:
parent
0695c99318
commit
d21cd2271f
2 changed files with 22 additions and 12 deletions
|
|
@ -53,6 +53,25 @@ $WaitFullyConnected;
|
|||
}
|
||||
}
|
||||
|
||||
:if ($Updated = false && [ / system resource get uptime ] < 2m) do={
|
||||
$LogPrintExit2 info $0 ("No packages downloaded, yet. Delaying for logs.") false;
|
||||
:delay 2m;
|
||||
}
|
||||
|
||||
:foreach Log in=[ / log find where topics=({"caps", "error"}) \
|
||||
message~("upgrade status: failed, failed to download file '.*-" . $InstalledVersion . "-.*\\.npk', no such file") ] do={
|
||||
:local Message [ / log get $Log message ];
|
||||
:local Package [ :pick $Message \
|
||||
([ :find $Message "'" ] + 1) \
|
||||
[ :find $Message ("-" . $InstalledVersion . "-") ] ];
|
||||
:local Arch [ :pick $Message \
|
||||
([ :find $Message ("-" . $InstalledVersion . "-") ] + 2 + [ :len $InstalledVersion ]) \
|
||||
[ :find $Message ".npk" ] ];
|
||||
:if ([ $DownloadPackage $Package $InstalledVersion $Arch $PackagePath ] = true) do={
|
||||
:set Updated true;
|
||||
}
|
||||
}
|
||||
|
||||
:if ($Updated = true) do={
|
||||
:if ([ :len [ / system script find where name="capsman-rolling-upgrade" ] ] > 0) do={
|
||||
/ system script run capsman-rolling-upgrade;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue