summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2011-03-29 21:51:35 (GMT)
committerChristian Pointner <equinox@helsinki.at>2011-03-29 21:51:35 (GMT)
commit9ed0da8ca5b125495b3a0796c60f98abb233e27f (patch)
tree9a79a2d2b43a0d2702228e2af4adf522185e3540
parent90d86556d7bcf29964f4c73b72ce47bcda7543aa (diff)
add initial nopcollect
-rw-r--r--nopcollect/conf.lua33
-rwxr-xr-xnopcollect/nopcollect54
-rw-r--r--nopcollect/nopcollect.conf8
-rwxr-xr-xnoprml/noprml (renamed from noprml/noprml.lua)0
-rw-r--r--nopsyncd/conf.lua2
-rw-r--r--nopsyncd/nopsyncd.conf4
-rwxr-xr-xnopsyncd/tcpserver.lua4
7 files changed, 102 insertions, 3 deletions
diff --git a/nopcollect/conf.lua b/nopcollect/conf.lua
new file mode 100644
index 0000000..eb1cd29
--- /dev/null
+++ b/nopcollect/conf.lua
@@ -0,0 +1,33 @@
+--
+-- rhnop
+--
+-- Copyright (C) 2011 Christian Pointner <equinox@helsinki.at>
+--
+-- This file is part of rhnop.
+--
+-- rhnop is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- any later version.
+--
+-- rhnop is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with rhnop. If not, see <http://www.gnu.org/licenses/>.
+--
+
+local conf = {}
+
+local file = assert(io.open("nopcollect.conf", "r"))
+for line in file:lines() do
+ local k,v = string.match(line, "^([^=#]+)=(.*)$")
+ if k and v and v ~= "" then
+ conf[k] = v
+ end
+end
+file:close()
+
+return conf
diff --git a/nopcollect/nopcollect b/nopcollect/nopcollect
new file mode 100755
index 0000000..04560e2
--- /dev/null
+++ b/nopcollect/nopcollect
@@ -0,0 +1,54 @@
+#!/usr/bin/lua
+--
+-- rhnop
+--
+-- Copyright (C) 2011 Christian Pointner <equinox@helsinki.at>
+--
+-- This file is part of rhnop.
+--
+-- rhnop is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- any later version.
+--
+-- rhnop is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with rhnop. If not, see <http://www.gnu.org/licenses/>.
+--
+--
+-- send now and next cart# and length to nopsyncd
+-- this script should be called by the now/next macro cart
+-- the arguments should be: now# nowlen next# nextlen
+--
+
+require "socket"
+
+conf = require "conf"
+
+-- connect to server (reconnect after error)
+local sock = assert(socket.tcp())
+
+local ret, err = sock:connect(conf.host, conf.port)
+if ret == nil then
+ print(err)
+ return 1
+end
+
+print "connection established"
+
+-- TODO: load all info we don't have yet
+
+while true do
+ local timestamp = sock:receive('*l')
+ -- TODO: check if connection is closed
+ print("received: '" .. timestamp .. "'")
+
+ -- TODO: check if we already fetched that timestamp
+ -- TODO: fetch info for the timestamp and insert it into local db
+end
+sock:close()
+return 0
diff --git a/nopcollect/nopcollect.conf b/nopcollect/nopcollect.conf
new file mode 100644
index 0000000..18316fb
--- /dev/null
+++ b/nopcollect/nopcollect.conf
@@ -0,0 +1,8 @@
+host=127.0.0.1
+port=2345
+
+db=nop
+#db_host=127.0.0.1
+#db_port=3306
+db_user=
+db_pwd=
diff --git a/noprml/noprml.lua b/noprml/noprml
index 360087d..360087d 100755
--- a/noprml/noprml.lua
+++ b/noprml/noprml
diff --git a/nopsyncd/conf.lua b/nopsyncd/conf.lua
index ee5487d..83257b5 100644
--- a/nopsyncd/conf.lua
+++ b/nopsyncd/conf.lua
@@ -21,7 +21,7 @@
local conf = {}
-local file = assert(io.open("/etc/rhnop/nopsyncd.conf", "r"))
+local file = assert(io.open("nopsyncd.conf", "r"))
for line in file:lines() do
local k,v = string.match(line, "^([^=#]+)=(.*)$")
if k and v and v ~= "" then
diff --git a/nopsyncd/nopsyncd.conf b/nopsyncd/nopsyncd.conf
index cf324e7..0338cb6 100644
--- a/nopsyncd/nopsyncd.conf
+++ b/nopsyncd/nopsyncd.conf
@@ -1,4 +1,6 @@
queue_name=/rhnop
+tcp_host=*
+tcp_port=2345
rddb_db=rivendell
rddb_host=127.0.0.1
@@ -8,6 +10,6 @@ rddb_pwd=
playlog_db=rhnop
playlog_host=127.0.0.1
-#playlog_port=3307
+#playlog_port=3306
playlog_user=
playlog_pwd=
diff --git a/nopsyncd/tcpserver.lua b/nopsyncd/tcpserver.lua
index 3b4c777..bd945b6 100755
--- a/nopsyncd/tcpserver.lua
+++ b/nopsyncd/tcpserver.lua
@@ -21,11 +21,13 @@
require "socket"
+conf = require "conf"
+
function init_server()
local server = assert(socket.tcp())
assert(server:setoption('reuseaddr', true))
- assert(server:bind("*", 2342))
+ assert(server:bind(conf.tcp_host, conf.tcp_port))
assert(server:listen(5))
return server