Role service-bird-lg: remove obsolete patching
This commit is contained in:
parent
8f8184f4cf
commit
7dcd90cff6
2 changed files with 0 additions and 65 deletions
|
@ -1,59 +0,0 @@
|
||||||
From 0e45d90b7044225125ef92568deb4305f815224f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Baptiste Jonglez <baptiste--git@jonglez.org>
|
|
||||||
Date: Wed, 12 Feb 2014 15:47:27 +0100
|
|
||||||
Subject: [PATCH] Simplify parsing of 'show protocols' to avoid future
|
|
||||||
breakages
|
|
||||||
|
|
||||||
The current parsing method (ugly regexp) is hard to understand and prone
|
|
||||||
to breakage:
|
|
||||||
|
|
||||||
- Bird 1.4 changed the date format, which broke the parser ()
|
|
||||||
- Bird 2.0 changed the format of the "Table" field, which again broke the parser (#36)
|
|
||||||
|
|
||||||
The new method is much simpler, does not involve any regexp, and should
|
|
||||||
thus resist small syntax changes in Bird's output.
|
|
||||||
|
|
||||||
Important limitation: parsing will be messed up if the date contains a
|
|
||||||
space character. There is no space in the default date format of Bird
|
|
||||||
(checked with Bird 1.3 to Bird 2.0), but since the date format is
|
|
||||||
configurable in Bird, it may happen anyway. In particular, setting
|
|
||||||
"timeformat protocol iso long" in Bird will break bird-lg's parser.
|
|
||||||
|
|
||||||
Fixes #36
|
|
||||||
---
|
|
||||||
lg.py | 15 ++++++++++-----
|
|
||||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lg.py b/lg.py
|
|
||||||
index b4bdd8b..6a9f4e7 100644
|
|
||||||
--- a/lg.py
|
|
||||||
+++ b/lg.py
|
|
||||||
@@ -223,8 +223,6 @@ def whois():
|
|
||||||
|
|
||||||
|
|
||||||
SUMMARY_UNWANTED_PROTOS = ["Kernel", "Static", "Device"]
|
|
||||||
-SUMMARY_RE_MATCH = r"(?P<name>[\w_]+)\s+(?P<proto>\w+)\s+(?P<table>\w+)\s+(?P<state>\w+)\s+(?P<since>((|\d\d\d\d-\d\d-\d\d\s)|(\d\d:)\d\d:\d\d|\w\w\w\d\d))($|\s+(?P<info>.*))"
|
|
||||||
-
|
|
||||||
|
|
||||||
@app.route("/summary/<hosts>")
|
|
||||||
@app.route("/summary/<hosts>/<proto>")
|
|
||||||
@@ -251,9 +249,16 @@ def summary(hosts, proto="ipv4"):
|
|
||||||
for line in res[1:]:
|
|
||||||
line = line.strip()
|
|
||||||
if line and (line.split() + [""])[1] not in SUMMARY_UNWANTED_PROTOS:
|
|
||||||
- m = re.match(SUMMARY_RE_MATCH, line)
|
|
||||||
- if m:
|
|
||||||
- data.append(m.groupdict())
|
|
||||||
+ split = line.split()
|
|
||||||
+ if len(split) >= 5:
|
|
||||||
+ props = dict()
|
|
||||||
+ props["name"] = split[0]
|
|
||||||
+ props["proto"] = split[1]
|
|
||||||
+ props["table"] = split[2]
|
|
||||||
+ props["state"] = split[3]
|
|
||||||
+ props["since"] = split[4]
|
|
||||||
+ props["info"] = ' '.join(split[5:]) if len(split) > 5 else ""
|
|
||||||
+ data.append(props)
|
|
||||||
else:
|
|
||||||
app.logger.warning("couldn't parse: %s", line)
|
|
||||||
|
|
|
@ -7,12 +7,6 @@
|
||||||
notify:
|
notify:
|
||||||
- restart bird-lg-webservice
|
- restart bird-lg-webservice
|
||||||
|
|
||||||
- name: apply patch simplify-parsing
|
|
||||||
patch:
|
|
||||||
src: simplify-parsing.patch
|
|
||||||
basedir: "{{ lg_path }}"
|
|
||||||
strip: 1
|
|
||||||
|
|
||||||
- name: write vhost lookingglass.conf
|
- name: write vhost lookingglass.conf
|
||||||
template:
|
template:
|
||||||
src: lookingglass_vhost.conf.j2
|
src: lookingglass_vhost.conf.j2
|
||||||
|
|
Loading…
Reference in a new issue