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 }