From e798dec8598263a833d59bbd6ea6401aab8df91c Mon Sep 17 00:00:00 2001 From: Kimmo Lehto Date: Wed, 7 Aug 2019 16:05:15 +0300 Subject: [PATCH 1/3] Warn if local clock and host clock are out of sync --- lib/pharos/phases/validate_host.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/pharos/phases/validate_host.rb b/lib/pharos/phases/validate_host.rb index ccaf2acf2..58576b7bd 100644 --- a/lib/pharos/phases/validate_host.rb +++ b/lib/pharos/phases/validate_host.rb @@ -6,6 +6,8 @@ class ValidateHost < Pharos::Phase title "Validate hosts" def call + logger.info { "Validating host clock sync ..." } + check_clock logger.info { "Validating current role matches ..." } check_role logger.info { "Validating distro and version ..." } @@ -22,6 +24,15 @@ def call validate_peer_address end + def check_clock + local_time = Time.now.to_i + server_time = transport.exec!('date +%s').to_i + + return if (server_time - local_time).abs < 60 + + logger.warn "Clock drift #{(server_time - local_time).abs} seconds - certificate validation may fail" + end + def check_distro_version return if host_configurer From 1555db899ccbac66de1a83b204ecca3a9a128770 Mon Sep 17 00:00:00 2001 From: Kimmo Lehto Date: Thu, 29 Aug 2019 16:04:06 +0300 Subject: [PATCH 2/3] Clarify --- lib/pharos/phases/validate_host.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pharos/phases/validate_host.rb b/lib/pharos/phases/validate_host.rb index 58576b7bd..282853b5c 100644 --- a/lib/pharos/phases/validate_host.rb +++ b/lib/pharos/phases/validate_host.rb @@ -6,7 +6,7 @@ class ValidateHost < Pharos::Phase title "Validate hosts" def call - logger.info { "Validating host clock sync ..." } + logger.info { "Validating localhost and host clock sync ..." } check_clock logger.info { "Validating current role matches ..." } check_role From 9c813e3c98684e8e7c9fb9843ab969b731447c67 Mon Sep 17 00:00:00 2001 From: Kimmo Lehto Date: Mon, 2 Sep 2019 09:20:56 +0300 Subject: [PATCH 3/3] Clean up excon error message --- lib/pharos/logging.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/pharos/logging.rb b/lib/pharos/logging.rb index 796881d8e..5b512930c 100644 --- a/lib/pharos/logging.rb +++ b/lib/pharos/logging.rb @@ -17,7 +17,11 @@ def self.format_exception(exc, severity = "ERROR") backtrace = "\n #{exc.backtrace.join("\n ")}" end - "Error: #{exc.message.strip}#{backtrace}" + if exc.is_a?(Excon::Errors::CertificateError) + "Error: #{exc.message.lines.first[/(.+?\))/, 1]}#{backtrace}" + else + "Error: #{exc.message.strip}#{backtrace}" + end end def self.log_level