Class: Bosh::Director::Jobs::ExportRelease

Inherits:
BaseJob show all
Includes:
LockHelper
Defined in:
lib/bosh/director/jobs/export_release.rb

Instance Attribute Summary

Attributes inherited from BaseJob

#task_id

Class Method Summary collapse

Instance Method Summary collapse

Methods included from LockHelper

#with_compile_lock, #with_deployment_lock, #with_release_lock, #with_release_locks, #with_stemcell_lock

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, release_name, release_version, stemcell_os, stemcell_version, options = {}) ⇒ ExportRelease

Returns a new instance of ExportRelease.



15
16
17
18
19
20
21
# File 'lib/bosh/director/jobs/export_release.rb', line 15

def initialize(deployment_name, release_name, release_version, stemcell_os, stemcell_version, options = {})
  @deployment_name = deployment_name
  @release_name = release_name
  @release_version = release_version
  @stemcell_os = stemcell_os
  @stemcell_version = stemcell_version
end

Class Method Details

.job_typeObject



11
12
13
# File 'lib/bosh/director/jobs/export_release.rb', line 11

def self.job_type
  :export_release
end

Instance Method Details

#performvoid

This method returns an undefined value.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/bosh/director/jobs/export_release.rb', line 25

def perform
  logger.info("Exporting release: #{@release_name}/#{@release_version} for #{@stemcell_os}/#{@stemcell_version}")

  release = Bosh::Director::Models::Release.find(:name => @release_name)
  if release.nil?
    raise ReleaseNotFound
  end

  matching_versions = release.versions_dataset.where(:version => @release_version).all
  if matching_versions.empty?
    raise ReleaseVersionNotFound
  end

  logger.info "!!!RELEASE: #{release.pretty_inspect}"
end