class Bosh::Director::Errand::Result
Constants
- AGENT_RUN_ERRAND_RESULT_SCHEMA
Attributes
exit_code[R]
Public Class Methods
from_agent_task_results(agent_task_result, logs_blobstore_id)
click to toggle source
Explicitly write out schema of the director task result to avoid accidently leaking agent task result extra fields.
# File lib/bosh/director/errand/result.rb, line 17 def self.from_agent_task_results(agent_task_result, logs_blobstore_id) AGENT_RUN_ERRAND_RESULT_SCHEMA.validate(agent_task_result) new(*agent_task_result.values_at('exit_code', 'stdout', 'stderr'), logs_blobstore_id) rescue Membrane::SchemaValidationError => e raise AgentInvalidTaskResult, e.message end
new(exit_code, stdout, stderr, logs_blobstore_id)
click to toggle source
# File lib/bosh/director/errand/result.rb, line 24 def initialize(exit_code, stdout, stderr, logs_blobstore_id) @exit_code = exit_code @stdout = stdout @stderr = stderr @logs_blobstore_id = logs_blobstore_id end
Public Instance Methods
short_description(job_name)
click to toggle source
# File lib/bosh/director/errand/result.rb, line 31 def short_description(job_name) title_prefix = "Errand '#{job_name}'" exit_code_suffix = "(exit code #{@exit_code})" if @exit_code == 0 "#{title_prefix} completed successfully #{exit_code_suffix}" elsif @exit_code > 128 "#{title_prefix} was canceled #{exit_code_suffix}" else "#{title_prefix} completed with error #{exit_code_suffix}" end end
to_hash()
click to toggle source
# File lib/bosh/director/errand/result.rb, line 44 def to_hash { 'exit_code' => @exit_code, 'stdout' => @stdout, 'stderr' => @stderr, 'logs' => { 'blobstore_id' => @logs_blobstore_id, }, } end