From 2ad5eb9dccd0a297c31613af4114feba4ed75a61 Mon Sep 17 00:00:00 2001 From: olegphenomenon Date: Thu, 6 Jan 2022 16:25:28 +0200 Subject: [PATCH] update error messages reason --- app/jobs/nameserver_record_validation_job.rb | 10 +++++++--- app/services/nameserver_validator.rb | 8 ++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/jobs/nameserver_record_validation_job.rb b/app/jobs/nameserver_record_validation_job.rb index 5647b62ba..aa1761995 100644 --- a/app/jobs/nameserver_record_validation_job.rb +++ b/app/jobs/nameserver_record_validation_job.rb @@ -74,16 +74,20 @@ class NameserverRecordValidationJob < ApplicationJob end def parse_result(result, nameserver) + domain = Domain.find(nameserver.domain_id) + text = "" case result[:reason] when 'answer' - text = "No any answer comes from **#{nameserver}**. Nameserver not exist" + text = "No any answer comes from **#{nameserver.hostname}**. Nameserver not exist" when 'serial' - text = "Serial number for nameserver hostname **#{nameserver}** doesn't present. SOA validation failed." + text = "Serial number for nameserver hostname **#{nameserver.hostname}** doesn't present. SOA validation failed." when 'not found' - text = "Seems nameserver hostname **#{nameserver}** doesn't exist" + text = "Seems nameserver hostname **#{nameserver.hostname}** doesn't exist" when 'exception' text = "Something goes wrong, exception reason: **#{result[:error_info]}**" + when 'domain' + text = "#{domain} not found in zone" end logger.info text diff --git a/app/services/nameserver_validator.rb b/app/services/nameserver_validator.rb index 319a8dc92..aaa1f00a3 100644 --- a/app/services/nameserver_validator.rb +++ b/app/services/nameserver_validator.rb @@ -28,6 +28,14 @@ module NameserverValidator logger.info "Serial number - #{result.answer[0].serial.to_s} of #{hostname} - domain name: #{domain_name}" { result: true, reason: '' } + rescue Dnsruby::Refused => e + logger.error e.message + logger.error "failed #{hostname} validation of #{domain_name} domain name. Domain not found" + return { result: false, reason: 'domain', error_info: e } + rescue Dnsruby::NXDomain => e + logger.error e.message + logger.error "failed #{hostname} validation of #{domain_name} domain name. Domain not found" + return { result: false, reason: 'domain', error_info: e } rescue StandardError => e logger.error e.message logger.error "failed #{hostname} validation of #{domain_name} domain name"