From 5901c2a6bf7c6f17a32bc957772dda9ec456ed55 Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Tue, 8 Apr 2008 09:39:36 +0000 Subject: Cleaning up code. git-svn-id: svn://svn.alpinelinux.org/acf/quagga/trunk@952 ab2d0c66-481e-0410-8bed-d214d4d58bed --- quagga-model.lua | 49 +++++++++++++++---------------------------------- 1 file changed, 15 insertions(+), 34 deletions(-) (limited to 'quagga-model.lua') diff --git a/quagga-model.lua b/quagga-model.lua index 279a1a2..fa88a04 100644 --- a/quagga-model.lua +++ b/quagga-model.lua @@ -1,5 +1,6 @@ module(..., package.seeall) +-- Load libraries require("fs") require("procps") require("getopts") @@ -7,28 +8,19 @@ require("format") require("posix") require("daemoncontrol") require("validator") +require("processinfo") +require("socket") +-- Set variables local configfile = "/etc/quagga/bgpd.conf" local processname = "bgpd" local packagename = "quagga" local baseurl = "/etc/quagga/" - local descr = { } -local function get_version() - local cmd_output_result, cmd_output_error - local cmd = "/sbin/apk_version -vs " .. packagename .." 2>/dev/null" - local f = io.popen( cmd ) - local cmdresult = f:read("*l") - if (cmdresult) and (#cmdresult > 0) then - cmd_output_result = string.match(cmdresult,"^%S*") or "Unknown" - else - cmd_output_error = "Program not installed" - end - f:close() - return cmd_output_result,cmd_output_error -end +-- ################################################################################ +-- LOCAL FUNCTIONS local function get_routes() local cmd_output_result, cmd_output_error @@ -51,24 +43,11 @@ local function get_bgpinfo() local cmd = "/usr/sbin/bgpd --version 2>/dev/null" local f = io.popen( cmd ) local cmd_output_result = f:read("*a") + -- bgpdport=179 return cmd_output_result,cmd_output_error end -local function autostarts() - local cmd_output_result, cmd_output_error - local cmd = "/sbin/rc_status | egrep '^S' | egrep '" .. processname .."' 2>/dev/null" - local f = io.popen( cmd ) - local cmdresult = f:read("*a") - if (cmdresult) and (#cmdresult > 0) then - cmd_output_result = "Process will autostart at next boot (at sequence '" .. string.match(cmdresult,"^%a+(%d%d)") .. "')" - else - cmd_output_error = "Not programmed to autostart" - end - f:close() - return cmd_output_result,cmd_output_error -end - -function process_status_text(procname) +local function process_status_text(procname) local t = procps.pidof(procname) if (t) and (#t > 0) then return "Enabled" @@ -85,13 +64,13 @@ function startstop_service ( self, action ) local cmdresult,cmdmessage,cmderror,cmdaction = daemoncontrol.daemoncontrol(processname, cmd) action.descr=cmdmessage action.errtxt=cmderror - -- Reporting back (true|false, the original acition) return cmdresult,action end function getstatus() local status = {} - local value, errtxt = get_version() + + local value, errtxt = processinfo.package_version(packagename) status.version = cfe({ name = "version", label="Program version", value=value, @@ -102,28 +81,29 @@ function getstatus() label="Program status", value=process_status_text(processname), }) - local autostart_sequense, autostart_errtxt = autostarts() + + local autostart_sequense, autostart_errtxt = processinfo.process_botsequence(processname) status.autostart = cfe({ name="autostart", label="Autostart sequence", value=autostart_sequense, errtxt=autostart_errtxt, }) - -- THIS IS WHERE WE PRESENT THE OUTPUT FROM TELNET status.iproute = cfe({ name="iproute", label="ip route", value=get_iproute(), }) + status.routes = cfe({ name="routes", label="route -n", value=get_routes(), }) + status.bgpstats = cfe({ name="bgpstats", label="BGP version", value=get_bgpinfo(), }) - return status end @@ -149,6 +129,7 @@ function get_logfile () return file end + function getconfig() local config = {} return config -- cgit v1.2.3