From 191aa8d721ed6adfd7fad6bb766c432ef5f70363 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 12 Nov 2021 17:21:37 +0000 Subject: [PATCH] Add an ohai plugin to gather LLDP data --- cookbooks/hardware/recipes/default.rb | 6 +++++- .../hardware/templates/default/lldp.rb.erb | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 cookbooks/hardware/templates/default/lldp.rb.erb diff --git a/cookbooks/hardware/recipes/default.rb b/cookbooks/hardware/recipes/default.rb index 3d29ade8e..751810a3e 100644 --- a/cookbooks/hardware/recipes/default.rb +++ b/cookbooks/hardware/recipes/default.rb @@ -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 index 000000000..4932cd069 --- /dev/null +++ b/cookbooks/hardware/templates/default/lldp.rb.erb @@ -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 -- 2.45.1