]> git.openstreetmap.org Git - chef.git/commitdiff
Add an ohai plugin to gather LLDP data
authorTom Hughes <tom@compton.nu>
Fri, 12 Nov 2021 17:21:37 +0000 (17:21 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 12 Nov 2021 17:21:37 +0000 (17:21 +0000)
cookbooks/hardware/recipes/default.rb
cookbooks/hardware/templates/default/lldp.rb.erb [new file with mode: 0644]

index 3d29ade8e9e9734bd346f70432de2322e7b5c7d8..751810a3e9faa5f63c98efafb6d6450230f7c8a0 100644 (file)
@@ -199,13 +199,17 @@ service "irqbalance" do
   supports :status => false, :restart => true, :reload => false
 end
 
-# Link Layer Discovery Protocol Daemon
 package "lldpd"
+
 service "lldpd" do
   action [:start, :enable]
   supports :status => true, :restart => true, :reload => true
 end
 
+ohai_plugin "lldp" do
+  template "lldp.rb.erb"
+end
+
 tools_packages = []
 status_packages = {}
 
diff --git a/cookbooks/hardware/templates/default/lldp.rb.erb b/cookbooks/hardware/templates/default/lldp.rb.erb
new file mode 100644 (file)
index 0000000..4932cd0
--- /dev/null
@@ -0,0 +1,17 @@
+require "json"
+
+Ohai.plugin(:Lldp) do
+  provides "lldp"
+
+  collect_data(:default) do
+    lldp Mash.new
+
+    json = JSON.parse(%x(/sbin/lldpctl -f json))
+
+    json["lldp"].each do |key, value|
+      lldp[key] = value
+    end
+
+    lldp
+  end
+end