Module: check_mk
Branch: master
Commit: ac63a6977cad4b27e12d25ea28ebf52976d086d3
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ac63a6977cad4b…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Tue Oct 2 15:40:13 2018 +0200
6737 FIX docker_node_network: Wrong API implementation caused a lot of small inventory
historie files
Change-Id: I35f5ef9584f9a22a5eced17e2dca902b6bc57df0
---
.werks/6737 | 10 ++++++++++
inventory/docker_node_network | 25 +++++++++++++------------
2 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/.werks/6737 b/.werks/6737
new file mode 100644
index 0000000..aa274ce
--- /dev/null
+++ b/.werks/6737
@@ -0,0 +1,10 @@
+Title: docker_node_network: Wrong API implementation caused a lot of small inventory
historie files
+Level: 1
+Component: inv
+Compatible: compat
+Edition: cre
+Version: 1.6.0i1
+Date: 1538487487
+Class: fix
+
+
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"] = {