From 28d2aa10469c8eae71fa158853a4c3c8e9ef2575 Mon Sep 17 00:00:00 2001 From: nilsver Date: Thu, 23 Jan 2025 14:33:23 +0000 Subject: [PATCH 1/2] fix rbcli service in proxy/ips --- resources/libraries/ips_services.rb | 15 +++++++++++++++ resources/recipes/configure.rb | 4 ++-- resources/recipes/prepare_system.rb | 18 ++++++++++-------- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/resources/libraries/ips_services.rb b/resources/libraries/ips_services.rb index 01d5e81..4e741f7 100644 --- a/resources/libraries/ips_services.rb +++ b/resources/libraries/ips_services.rb @@ -19,6 +19,21 @@ def ips_services end end + begin + file_services = JSON.parse(File.read('/etc/redborder/services.json')) + rescue Errno::ENOENT, JSON::ParserError => e + Chef::Log.warn("Error loading services from file: #{e.message}") + file_services = {} + end + + systemd_services = node.attributes['redborder']['systemdservices'] + systemd_services.each do |service_name, systemd_name| + sys_name = systemd_name.join(',') + if file_services.key?(sys_name) + ips_services[service_name] = file_services[sys_name] + end + end + ips_services end end diff --git a/resources/recipes/configure.rb b/resources/recipes/configure.rb index bca8fc4..1a2cdd5 100644 --- a/resources/recipes/configure.rb +++ b/resources/recipes/configure.rb @@ -240,7 +240,7 @@ if ips_services['snmp'] action :add else - actopm :remove + action :remove end end @@ -338,7 +338,7 @@ if ips_services['redborder-monitor'] && sensor_id > 0 action :add else - actio :remove + action :remove end end diff --git a/resources/recipes/prepare_system.rb b/resources/recipes/prepare_system.rb index cf04851..9c75ab5 100644 --- a/resources/recipes/prepare_system.rb +++ b/resources/recipes/prepare_system.rb @@ -65,13 +65,15 @@ memory_services(sysmem_total) # Build service list for rbcli -services = node['redborder']['services'] || [] -systemd_services = node['redborder']['systemdservices'] || [] -service_enablement = {} +if !File.exist?('/etc/redborder/services.json') + services = node['redborder']['services'] || [] + systemd_services = node['redborder']['systemdservices'] || [] + service_enablement = {} -systemd_services.each do |service_name, systemd_name| - service_enablement[systemd_name.first] = services[service_name] -end + systemd_services.each do |service_name, systemd_name| + service_enablement[systemd_name.first] = services[service_name] + end -Chef::Log.info('Saving services enablement into /etc/redborder/services.json') -File.write('/etc/redborder/services.json', JSON.pretty_generate(service_enablement)) + Chef::Log.info('Saving services enablement into /etc/redborder/services.json') + File.write('/etc/redborder/services.json', JSON.pretty_generate(service_enablement)) +end From 4a8433c5c09657f9c869a901b58bb7876f513ab9 Mon Sep 17 00:00:00 2001 From: nilsver Date: Thu, 23 Jan 2025 14:39:43 +0000 Subject: [PATCH 2/2] rubocop made me do this --- resources/recipes/prepare_system.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/recipes/prepare_system.rb b/resources/recipes/prepare_system.rb index 9c75ab5..cbe3ff9 100644 --- a/resources/recipes/prepare_system.rb +++ b/resources/recipes/prepare_system.rb @@ -65,7 +65,7 @@ memory_services(sysmem_total) # Build service list for rbcli -if !File.exist?('/etc/redborder/services.json') +unless File.exist?('/etc/redborder/services.json') services = node['redborder']['services'] || [] systemd_services = node['redborder']['systemdservices'] || [] service_enablement = {}