Class: Bosh::Director::Jobs::ImportCompiledPackages
- Defined in:
- lib/bosh/director/jobs/import_compiled_packages.rb
Instance Attribute Summary
Attributes inherited from BaseJob
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(export_dir) ⇒ ImportCompiledPackages
constructor
A new instance of ImportCompiledPackages.
- #perform ⇒ Object
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(export_dir) ⇒ ImportCompiledPackages
Returns a new instance of ImportCompiledPackages.
13 14 15 16 17 |
# File 'lib/bosh/director/jobs/import_compiled_packages.rb', line 13 def initialize(export_dir) @export_dir = export_dir @blobstore_client = Bosh::Director::App.instance.blobstores.blobstore end |
Class Method Details
.job_type ⇒ Object
9 10 11 |
# File 'lib/bosh/director/jobs/import_compiled_packages.rb', line 9 def self.job_type :import_compiled_packages end |
Instance Method Details
#perform ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/bosh/director/jobs/import_compiled_packages.rb', line 19 def perform export = Bosh::Director::CompiledPackage::CompiledPackagesExport.new(file: export_path) export.extract do |manifest, packages| release_name = manifest.fetch('release_name') release_version_version = manifest.fetch('release_version') release = Bosh::Director::Models::Release[name: release_name] release_version = Bosh::Director::Models::ReleaseVersion[version: release_version_version, release: release] inserter = Bosh::Director::CompiledPackage::CompiledPackageInserter.new(@blobstore_client) packages.each { |p| p.check_blob_sha } packages.each do |package| inserter.insert(package, release_version) end end ensure FileUtils.rm_rf(@export_dir) end |