Class: Bosh::Director::Errand::JobManager
- Defined in:
- lib/bosh/director/errand/job_manager.rb
Instance Method Summary collapse
-
#delete_instances ⇒ void
Deletes all errand job instances.
-
#initialize(deployment, job, blobstore, event_log, logger) ⇒ JobManager
constructor
A new instance of JobManager.
- #prepare ⇒ Object
-
#update_instances ⇒ void
Creates/updates all errand job instances.
Constructor Details
#initialize(deployment, job, blobstore, event_log, logger) ⇒ JobManager
Returns a new instance of JobManager.
8 9 10 11 12 13 14 |
# File 'lib/bosh/director/errand/job_manager.rb', line 8 def initialize(deployment, job, blobstore, event_log, logger) @deployment = deployment @job = job @blobstore = blobstore @event_log = event_log @logger = logger end |
Instance Method Details
#delete_instances ⇒ void
This method returns an undefined value.
Deletes all errand job instances
39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/bosh/director/errand/job_manager.rb', line 39 def delete_instances instances = @job.instances.map(&:model).compact if instances.empty? @logger.info('No errand instances to delete') return end @logger.info('Deleting errand instances') event_log_stage = @event_log.begin_stage('Deleting errand instances', instances.size, [@job.name]) instance_deleter = InstanceDeleter.new(@deployment) instance_deleter.delete_instances(instances, event_log_stage) deallocate_vms end |
#prepare ⇒ Object
16 17 18 19 |
# File 'lib/bosh/director/errand/job_manager.rb', line 16 def prepare @job.bind_unallocated_vms @job.bind_instance_networks end |
#update_instances ⇒ void
This method returns an undefined value.
Creates/updates all errand job instances
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/bosh/director/errand/job_manager.rb', line 23 def update_instances dns_binder = DeploymentPlan::DnsBinder.new(@deployment) dns_binder.bind_deployment instance_vm_binder = DeploymentPlan::InstanceVmBinder.new(@event_log) instance_vm_binder.bind_instance_vms(@job.instances) job_renderer = JobRenderer.new(@job, @blobstore) job_renderer.render_job_instances job_updater = JobUpdater.new(@deployment, @job, job_renderer) job_updater.update end |