From 746e73a9ea27dc90047ac26950c21f963bf99af5 Mon Sep 17 00:00:00 2001 From: Kristian Lyngstol Date: Fri, 20 May 2016 16:48:03 +0200 Subject: Add system-generated op logs First up: Add a switch, get a log entry. This might require some filtering in the GUI eventually. This is why the user is set to 'system', even when we have an actual user that triggered the event. --- include/nms.pm | 2 +- include/nms/oplog.pm | 34 ++++++++++++++++++++++++++++++++++ include/nms/util.pm | 1 - 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 include/nms/oplog.pm (limited to 'include') diff --git a/include/nms.pm b/include/nms.pm index 273d65d..df4cc3a 100755 --- a/include/nms.pm +++ b/include/nms.pm @@ -8,7 +8,7 @@ use JSON; package nms; use base 'Exporter'; -our @EXPORT = qw(switch_disconnect switch_connect_ssh switch_connect_dlink switch_exec switch_exec_json switch_timeout db_connect); +our @EXPORT = qw(db_connect); BEGIN { require "config.pm"; diff --git a/include/nms/oplog.pm b/include/nms/oplog.pm new file mode 100644 index 0000000..c5194cf --- /dev/null +++ b/include/nms/oplog.pm @@ -0,0 +1,34 @@ +# vim:ts=8:sw=8 +use strict; +use warnings; +use utf8; +use DBI; +use Data::Dumper; +use JSON; +use nms; +package nms::oplog; + +use base 'Exporter'; +our @EXPORT = qw(oplog); +my $dbh; +my $query; +my $user; + +use Data::Dumper; + + +sub oplog { + $query->execute($_[0], "[$user]" . $_[1]); + $dbh->commit; +} + +BEGIN { + $user = $ENV{'REMOTE_USER'} || "internal"; + $dbh = nms::db_connect(); + $query = $dbh->prepare("INSERT INTO oplog (username, systems, log) VALUES('system',?,?)"); +} + +END { + $dbh->disconnect(); +} +1; diff --git a/include/nms/util.pm b/include/nms/util.pm index d2382f9..898aa9a 100644 --- a/include/nms/util.pm +++ b/include/nms/util.pm @@ -10,7 +10,6 @@ our @EXPORT = qw(guess_placement parse_switches_txt parse_switches parse_switch) # Parse a single switches.txt-formatted switch sub parse_switch { my ($switch, $subnet4, $subnet6, $mgtmt4, $mgtmt6, $lolid, $distro) = split(/ /); - my %foo = guess_placement($switch); my %ret = ( 'sysname' => "$switch", 'subnet4' => "$subnet4", -- cgit v1.2.3