Class: Bosh::Director::Errand::JobManager
- Defined in:
- lib/bosh/director/errand/job_manager.rb
Instance Method Summary collapse
- #create_missing_vms ⇒ Object
-
#delete_instances ⇒ void
Deletes all errand job instances.
-
#initialize(deployment, job, cloud, event_log, logger) ⇒ JobManager
constructor
A new instance of JobManager.
-
#update_instances ⇒ void
Creates/updates all errand job instances.
Constructor Details
#initialize(deployment, job, cloud, event_log, logger) ⇒ JobManager
Returns a new instance of JobManager.
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/bosh/director/errand/job_manager.rb', line 8 def initialize(deployment, job, cloud, event_log, logger) @deployment = deployment @job = job @event_log = event_log @logger = logger vm_deleter = Bosh::Director::VmDeleter.new(cloud, logger) @disk_manager = DiskManager.new(cloud, logger) @job_renderer = JobRenderer.create @vm_creator = Bosh::Director::VmCreator.new(cloud, logger, vm_deleter, @disk_manager, @job_renderer) end |
Instance Method Details
#create_missing_vms ⇒ Object
19 20 21 |
# File 'lib/bosh/director/errand/job_manager.rb', line 19 def create_missing_vms @vm_creator.create_for_instance_plans(@job.instance_plans_with_missing_vms, @deployment.ip_provider, @event_log) end |
#delete_instances ⇒ void
This method returns an undefined value.
Deletes all errand job instances
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/bosh/director/errand/job_manager.rb', line 33 def delete_instances instance_plans = bound_instance_plans if instance_plans.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', instance_plans.size, [@job.name]) dns_manager = DnsManagerProvider.create instance_deleter = InstanceDeleter.new(@deployment.ip_provider, dns_manager, @disk_manager) instance_deleter.delete_instance_plans(instance_plans, event_log_stage) end |
#update_instances ⇒ void
This method returns an undefined value.
Creates/updates all errand job instances
25 26 27 28 29 |
# File 'lib/bosh/director/errand/job_manager.rb', line 25 def update_instances links_resolver = DeploymentPlan::LinksResolver.new(@deployment, @logger) job_updater = JobUpdater.new(@deployment, @job, links_resolver, @disk_manager) job_updater.update end |