Method: Bosh::Director::Jobs::UpdateRelease#perform
- Defined in:
- lib/bosh/director/jobs/update_release.rb
#perform ⇒ void
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 |