From 3973318d41146827fee904fc9174b88dc3cbdcc5 Mon Sep 17 00:00:00 2001 From: Aria Li Date: Thu, 7 Sep 2023 09:41:33 -0700 Subject: [PATCH] (PUP-11928) Give more specific error messages for /puppet/v3/tasks API Currently, when a task is omitted due to a failure, Puppet Server logs an exception with a generic error message and provides no details on how to resolve the error: `ERROR [qtp1527520408-905] [puppetserver] Puppet Failed to validate task` This commit removes the generic message that overrides the original error message in the rescued error. Instead, the rescued error message is logged. --- lib/puppet/info_service/task_information_service.rb | 2 +- spec/unit/info_service_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/puppet/info_service/task_information_service.rb b/lib/puppet/info_service/task_information_service.rb index b880487ef9f..afde5c90ac4 100644 --- a/lib/puppet/info_service/task_information_service.rb +++ b/lib/puppet/info_service/task_information_service.rb @@ -13,7 +13,7 @@ def self.tasks_per_environment(environment_name) task.validate {:module => {:name => task.module.name}, :name => task.name, :metadata => task.metadata} rescue Puppet::Module::Task::Error => err - Puppet.log_exception(err, 'Failed to validate task') + Puppet.log_exception(err) nil end end diff --git a/spec/unit/info_service_spec.rb b/spec/unit/info_service_spec.rb index 693cef7659c..7c9ee12c2c1 100644 --- a/spec/unit/info_service_spec.rb +++ b/spec/unit/info_service_spec.rb @@ -47,7 +47,7 @@ :content => metadata.to_json}]]}) File.write("#{modpath}/#{mod_name}/tasks/atask.json", "NOT JSON") - expect(Puppet).to receive(:send_log).with(:err, 'Failed to validate task') + expect(Puppet).to receive(:send_log).with(:err, /unexpected token at 'NOT JSON'/) @tasks = Puppet::InfoService.tasks_per_environment(env_name) expect(@tasks.map{|t| t[:name]}).to contain_exactly('test1::btask', 'test1::ctask')