Difference between revisions of "NOC:ctwug version"
From CTWUG Wiki
Bigmikedavis (talk | contribs) (New page: == Purpose == == Dependencies == == Script == == WMS == Wug Management System) |
Bigmikedavis (talk | contribs) |
||
| Line 4: | Line 4: | ||
== Script == | == Script == | ||
| + | :local fid [/system identity get name] | ||
| + | :local fserial [/system routerboard get serial-number] | ||
| + | :local fver [/system resource get version] | ||
| + | :local fcpu [/system resource get cpu] | ||
| + | :local fcpufreq [/system resource get cpu-frequency] | ||
| + | :local farch [/system resource get architecture-name] | ||
| + | :local fboard [/system resource get board-name] | ||
| + | :local ffw [/system routerboard get current-firmware] | ||
| + | :local fip [/ip address get 0 address] | ||
| + | :local ffile "ctwug_version.rsc" | ||
| + | :local fpolicy 0 | ||
| + | |||
| + | /user | ||
| + | :local fospf 0 | ||
| + | :foreach id in [/user find name=ctwug_ospf] do={ | ||
| + | :set fospf 1 | ||
| + | } | ||
| + | |||
| + | :if ([/system script find name=ctwug_init] != "" ) do={ | ||
| + | :local fpolicys [/system script get ctwug_init policy] | ||
| + | :for i from=0 to=([:len $fpolicys] -1) do={ | ||
| + | :local fchar [:pick $fpolicys $i] | ||
| + | :if ($fchar = "reboot") do={:set fpolicy ($fpolicy+1)} | ||
| + | :if ($fchar = "read") do={:set fpolicy ($fpolicy+2)} | ||
| + | :if ($fchar = "write") do={:set fpolicy ($fpolicy+4)} | ||
| + | :if ($fchar = "policy") do={:set fpolicy ($fpolicy+8)} | ||
| + | :if ($fchar = "test") do={:set fpolicy ($fpolicy+16)} | ||
| + | :if ($fchar = "password") do={:set fpolicy ($fpolicy+32)} | ||
| + | :if ($fchar = "sniff") do={:set fpolicy ($fpolicy+64)} | ||
| + | :if ($fchar = "sensitive") do={:set fpolicy ($fpolicy+128)} | ||
| + | } | ||
| + | } | ||
| + | |||
| + | :local fpath ("web/api/update? id=".$fid."&serial=".$fserial."&update=2&version=".$fver."&cpu=".$fcpu."&freq=".$fcpufreq."&arch=".$farch."&board=".$fboard."&fw=".$ffw."&ip=".$fip."&ospf=".$fospf."& policy=".$fpolicy) | ||
| + | :local fpath2 $fpath | ||
| + | :local fpath "" | ||
| + | :for i from=0 to=( [:len $fpath2] - 1) do={ | ||
| + | :local fchar [:pick $fpath2 $i] | ||
| + | :if ($fchar = " ") do={ | ||
| + | :set fchar "%20" | ||
| + | } | ||
| + | :set fpath ($fpath.$fchar) | ||
| + | } | ||
| + | |||
| + | /tool fetch host=noc.ctwug.za.net address=noc.ctwug.za.net src-path=$fpath dst-path=$ffile mode=http | ||
| + | :delay 1 | ||
| + | :local temp [/file get $ffile size] | ||
| + | :if ( $temp > 2) do={ | ||
| + | /import $ffile | ||
| + | } | ||
== WMS == | == WMS == | ||
[[Wug Management System]] | [[Wug Management System]] | ||
Revision as of 21:07, 17 November 2012
Contents
Purpose
Dependencies
Script
:local fid [/system identity get name]
:local fserial [/system routerboard get serial-number]
:local fver [/system resource get version]
:local fcpu [/system resource get cpu]
:local fcpufreq [/system resource get cpu-frequency]
:local farch [/system resource get architecture-name]
:local fboard [/system resource get board-name]
:local ffw [/system routerboard get current-firmware]
:local fip [/ip address get 0 address]
:local ffile "ctwug_version.rsc"
:local fpolicy 0
/user
:local fospf 0
:foreach id in [/user find name=ctwug_ospf] do={
:set fospf 1
}
:if ([/system script find name=ctwug_init] != "" ) do={
:local fpolicys [/system script get ctwug_init policy]
:for i from=0 to=([:len $fpolicys] -1) do={
:local fchar [:pick $fpolicys $i]
:if ($fchar = "reboot") do={:set fpolicy ($fpolicy+1)}
:if ($fchar = "read") do={:set fpolicy ($fpolicy+2)}
:if ($fchar = "write") do={:set fpolicy ($fpolicy+4)}
:if ($fchar = "policy") do={:set fpolicy ($fpolicy+8)}
:if ($fchar = "test") do={:set fpolicy ($fpolicy+16)}
:if ($fchar = "password") do={:set fpolicy ($fpolicy+32)}
:if ($fchar = "sniff") do={:set fpolicy ($fpolicy+64)}
:if ($fchar = "sensitive") do={:set fpolicy ($fpolicy+128)}
}
}
:local fpath ("web/api/update? id=".$fid."&serial=".$fserial."&update=2&version=".$fver."&cpu=".$fcpu."&freq=".$fcpufreq."&arch=".$farch."&board=".$fboard."&fw=".$ffw."&ip=".$fip."&ospf=".$fospf."& policy=".$fpolicy)
:local fpath2 $fpath
:local fpath ""
:for i from=0 to=( [:len $fpath2] - 1) do={
:local fchar [:pick $fpath2 $i]
:if ($fchar = " ") do={
:set fchar "%20"
}
:set fpath ($fpath.$fchar)
}
/tool fetch host=noc.ctwug.za.net address=noc.ctwug.za.net src-path=$fpath dst-path=$ffile mode=http
:delay 1
:local temp [/file get $ffile size]
:if ( $temp > 2) do={
/import $ffile
}