Class: Bosh::Director::ReleaseJob

Inherits:
Object
  • Object
show all
Defined in:
lib/bosh/director/jobs/release/release_job.rb

Instance Method Summary collapse

Constructor Details

#initialize(job_meta, release_model, release_dir, packages, logger) ⇒ ReleaseJob

Returns a new instance of ReleaseJob.



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/bosh/director/jobs/release/release_job.rb', line 3

def initialize(job_meta, release_model, release_dir, packages, logger)
  @name = job_meta['name']
  @version = job_meta['version']
  @sha1 = job_meta['sha1']
  @fingerprint = job_meta['fingerprint']

  @packages = packages
  @release_model = release_model
  @release_dir = release_dir
  @logger = logger
end

Instance Method Details

#createObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/bosh/director/jobs/release/release_job.rb', line 15

def create
  template = create_template
  unpack

  job_manifest = load_manifest
  validate_templates(job_manifest)
  validate_monit

  template.blobstore_id = BlobUtil.create_blob(job_tgz)
  template.package_names = parse_package_names(job_manifest)

  validate_logs(job_manifest)
  template.logs = job_manifest['logs'] if job_manifest['logs']

  validate_properties(job_manifest)
  template.properties = job_manifest['properties'] if job_manifest['properties']

  validate_links(job_manifest)

  template.save
end