class Bosh::Director::CompiledReleaseManifest
Public Class Methods
new(compiled_package_group, templates, stemcell)
click to toggle source
# File lib/bosh/director/compiled_release_manifest.rb, line 6 def initialize(compiled_package_group, templates, stemcell) @compiled_packages = compiled_package_group @templates = templates @stemcell = stemcell end
Public Instance Methods
generate_manifest()
click to toggle source
# File lib/bosh/director/compiled_release_manifest.rb, line 12 def generate_manifest manifest = {} manifest['compiled_packages'] = @compiled_packages.compiled_packages.map do |compiled_package| { 'name' => compiled_package.package.name, 'version' => compiled_package.package.version, 'fingerprint' => compiled_package.package.fingerprint, 'sha1' => compiled_package.sha1, 'stemcell' => "#{@stemcell.operating_system}/#{@stemcell.version}", 'dependencies' => get_dependencies(compiled_package), } end manifest['jobs'] = @templates.map do |template| { 'name' => template.name, 'version' => template.version, 'fingerprint' => template.fingerprint, 'sha1' => template.sha1, } end manifest['commit_hash'] = @compiled_packages.release_version.commit_hash manifest['uncommitted_changes'] = @compiled_packages.release_version.uncommitted_changes manifest['name'] = @compiled_packages.release_version.release.name manifest['version'] = @compiled_packages.release_version.version manifest end
get_dependencies(compiled_package)
click to toggle source
# File lib/bosh/director/compiled_release_manifest.rb, line 43 def get_dependencies(compiled_package) dependencies = [] compiled_package.package.dependency_set.each do |name| dependencies << name end dependencies end
logger()
click to toggle source
# File lib/bosh/director/compiled_release_manifest.rb, line 60 def logger @logger ||= Config.logger end
write(dest_path)
click to toggle source
# File lib/bosh/director/compiled_release_manifest.rb, line 53 def write(dest_path) manifest = generate_manifest manifest_yaml = YAML.dump(manifest) logger.debug("release.MF contents of #{manifest['name']}/#{manifest['version']} compiled release tarball:\n " + manifest_yaml) File.open(dest_path, 'w') { |f| f.write(manifest_yaml) } end