Method: Bosh::Director::Jobs::UpdateRelease#perform

Defined in:
lib/bosh/director/jobs/update_release.rb

#performvoid

This method returns an undefined value.

Extracts release tarball, verifies release manifest and saves release in DB



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/bosh/director/jobs/update_release.rb', line 45

def perform
  logger.info("Processing update release")
  if @rebase
    logger.info("Release rebase will be performed")
  end

  single_step_stage("Downloading remote release") { download_remote_release } if @remote_release
  single_step_stage("Extracting release") { extract_release }
  single_step_stage("Verifying manifest") { verify_manifest }

  with_release_lock(@name) { process_release }

  if @rebase && @packages_unchanged && @jobs_unchanged
    raise DirectorError,
          "Rebase is attempted without any job or package changes"
  end

  "Created release `#{@name}/#{@version}'"
rescue Exception => e
  remove_release_version_model
  raise e
ensure
  if @tmp_release_dir && File.exists?(@tmp_release_dir)
    FileUtils.rm_rf(@tmp_release_dir)
  end
end