Class: Bosh::Director::Jobs::RunErrand

Inherits:
BaseJob show all
Defined in:
lib/bosh/director/jobs/run_errand.rb

Instance Attribute Summary

Attributes inherited from BaseJob

#task_id

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseJob

#begin_stage, #event_log, #logger, perform, #result_file, #single_step_stage, #task_cancelled?, #task_checkpoint, #track_and_log

Constructor Details

#initialize(deployment_name, errand_name) ⇒ RunErrand

Returns a new instance of RunErrand.



12
13
14
15
16
# File 'lib/bosh/director/jobs/run_errand.rb', line 12

def initialize(deployment_name, errand_name)
  @deployment_name = deployment_name
  @errand_name = errand_name
  @instance_manager = Api::InstanceManager.new
end

Class Method Details

.job_typeObject



8
9
10
# File 'lib/bosh/director/jobs/run_errand.rb', line 8

def self.job_type
  :run_errand
end

Instance Method Details

#performObject



18
19
20
21
22
23
24
25
26
# File 'lib/bosh/director/jobs/run_errand.rb', line 18

def perform
  instance = @instance_manager.find_by_name(@deployment_name, @errand_name, 0)

  agent = @instance_manager.agent_client_for(instance)
  agent_task_result = agent.run_errand

  director_task_result = extract_director_task_result(agent_task_result)
  result_file.write(JSON.dump(director_task_result) + "\n")
end