Module: check_mk
Branch: master
Commit: 73e0897cabbdca1f10649c0a592d15b3fc5266c4
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=73e0897cabbdca…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Tue Oct 2 15:57:40 2018 +0200
6737 FIX docker_node_network: Wrong API implementation caused a lot of small inventory
history files
Change-Id: Ibdfcde85f6f461e16228d77c866cf7c214388f10
---
.werks/6737 | 11 +++++++++++
inventory/docker_node_network | 25 +++++++++++++------------
2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/.werks/6737 b/.werks/6737
new file mode 100644
index 0000000..7722b84
--- /dev/null
+++ b/.werks/6737
@@ -0,0 +1,11 @@
+Title: docker_node_network: Wrong API implementation caused a lot of small inventory
history files
+Level: 1
+Component: inv
+Class: fix
+Compatible: compat
+Edition: cre
+State: unknown
+Version: 1.6.0i1
+Date: 1538487487
+
+
diff --git a/inventory/docker_node_network b/inventory/docker_node_network
index fe610d4..71d1805 100644
--- a/inventory/docker_node_network
+++ b/inventory/docker_node_network
@@ -32,10 +32,6 @@ def _parse_docker_node_network(info):
def inv_docker_node_network_networks(info, inventory_tree, status_data_tree):
parsed = _parse_docker_node_network(info)
-
- inventory_networks =
inventory_tree.get_dict("software.applications.docker.networks.")
- status_networks =
status_data_tree.get_dict("software.applications.docker.networks.")
-
for network in parsed:
labels = sorted(["%s: %s" % (k,v) for k,v in
network.get("Labels", {}).items()])
@@ -49,20 +45,25 @@ def inv_docker_node_network_networks(info, inventory_tree,
status_data_tree):
"mac_address" : container["MacAddress"],
})
- status_networks[network["Name"]] = {
- "name" : network["Name"],
- "containers" : containers,
- }
+ network_name = network["Name"]
+ path = "software.applications.docker.networks.%s." % network_name
+ inventory_networks = inventory_tree.get_dict(path)
+ status_networks = status_data_tree.get_dict(path)
- inventory_networks[network["Name"]] = {
- "name" : network["Name"],
+ status_networks.update({
+ "name" : network_name,
+ "containers" : [{"name": 1}],
+ })
+
+ network_ = {
+ "name" : network_name,
"host_ifname" :
network["Options"]["com.docker.network.bridge.name"],
"network_id" : network["Id"][:12],
"scope" : network["Scope"],
}
-
if labels:
- inventory_networks[network["Name"]]["labels"] = ",
".join(labels)
+ network_["labels"] = ", ".join(labels)
+ inventory_networks.update(network_)
inv_info["docker_node_network.networks"] = {