NOC:ctwug version
From CTWUG Wiki
Purpose
- Updates NOC with all of the rb's settings
- Checks for an OSPF user
- Checks the ctwug_init script permissions
Dependencies
http://noc.ctwug.za.net/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
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
}