From eaf313e8c674871fc46c286170a42b71d2ff4d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Negr=C3=B3n?= <45871721+manegron@users.noreply.github.com> Date: Mon, 27 May 2024 13:37:52 +0100 Subject: [PATCH 1/2] Improvement/old school services list (#20) * Add old school service list with colors and correct tabs * Refactor colors not in use --- resources/lib/service.rb | 58 ++++++++++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/resources/lib/service.rb b/resources/lib/service.rb index 05e6e39..918bf8a 100644 --- a/resources/lib/service.rb +++ b/resources/lib/service.rb @@ -13,17 +13,21 @@ def initialize end class ServiceListCmd < CmdParse::Command + RESET = "\033[0m" + RED = "\033[31m" + GREEN = "\033[32m" + YELLOW = "\033[33m" + def initialize $parser.data[:all_services] = false super('list', takes_commands: false) short_desc('List services from node') - options.on('-x', '--extend', 'Extended information') { puts 'Extended information' } - options.on('-a', '--all', 'All services') { $parser.data[:all_services] = true } end def execute() utils = Utils.instance - node = utils.get_node(Socket.gethostname.split(".").first) + node_name = Socket.gethostname.split(".").first + node = utils.get_node(node_name) unless node puts 'ERROR: Node not found!' @@ -31,24 +35,50 @@ def execute() end services = node.attributes['redborder']['services'] || [] - systemd_services = node.attributes['redborder']['systemdservices'] + systemd_services = node.attributes['redborder']['systemdservices'] || [] systemctl_services = [] - services.each do |service,enabled| - if $parser.data[:all_services] == false and enabled == false - next - else - if systemd_services and systemd_services[service] - systemd_services[service].each do |systemd_service| - systemctl_services.push(systemd_service) - end + not_enable_services = [] + + services.each do |service, enabled| + not_enable_services.push(service) unless enabled + + if systemd_services[service] + systemd_services[service].each do |systemd_service| + systemctl_services.push(systemd_service) end end end + # Counters + running = 0 + stopped = 0 + errors = 0 + + # Paint service list + printf("=========================== Services ============================\n") + printf("%-33s %-10s\n", "Service", "Status(#{node_name})") + printf("-----------------------------------------------------------------\n") + systemctl_services.uniq.each do |systemd_service| - ret = system("systemctl status #{systemd_service} &>/dev/null") ? "OK" : "Fail" - puts "Status of service #{systemd_service}: #{ret}" + if system("systemctl status #{systemd_service} &>/dev/null") + ret = "running" + running = running + 1 + printf("%-33s #{GREEN}%-10s#{RESET}\n", "#{systemd_service}:", ret) + elsif not_enable_services.include?systemd_service + ret = "not running" + stopped = stopped + 1 + printf("%-33s #{YELLOW}%-10s#{RESET}\n", "#{systemd_service}:", ret) + else + ret = "not running!!" + errors = errors + 1 + printf("%-33s #{RED}%-10s#{RESET}\n", "#{systemd_service}:", ret) + end end + + printf("-----------------------------------------------------------------\n") + printf("%-33s %-10s\n","Total:", systemctl_services.count) + printf("-----------------------------------------------------------------\n") + printf("Running: #{running} / Stopped: #{stopped} / Errors: #{errors}\n\n") end end From 55f892d0355182ed7968184ff72010ee7da87b1f Mon Sep 17 00:00:00 2001 From: vimesa Date: Mon, 27 May 2024 14:07:04 +0100 Subject: [PATCH 2/2] Release 0.1.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ceddfb2..6e8bf73 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.15 +0.1.0