class Object

Public Instance Methods

merge_templates(deployment, workdir) click to toggle source
# File lib/bosh/workspace/rspec/shared_workspace_examples.rb, line 27
def merge_templates(deployment, workdir)
  Bosh::Workspace::ManifestBuilder.build(deployment, workdir)
end
normalize_and_load_deployment_manifest(manifest_file) click to toggle source
# File lib/bosh/workspace/rspec/manifest_matcher.rb, line 15
def normalize_and_load_deployment_manifest(manifest_file)
  manifest_hash = YAML.load_file manifest_file
  Bosh::Cli::DeploymentManifest.new(manifest_hash).normalize
end
prepare_templates(deployment, workdir) click to toggle source
# File lib/bosh/workspace/rspec/shared_workspace_examples.rb, line 36
def prepare_templates(deployment, workdir)
  releases_dir = File.join(workdir, '.releases')
  callback = Bosh::Workspace::GitCredentialsProvider
             .new(File.join(workdir, '.credentials.yml')).callback

  deployment.releases.each do |release|
    begin
      update_release_repo(release, releases_dir, callback, true)
    rescue Bosh::Cli::CliError => e
      if e.message =~ /not allowed in offline mode/ ||
         e.message =~ /could not find version/i
        update_release_repo(release, releases_dir, callback, false)
      end
    end
  end
end
update_release_repo(release, releases_dir, callback, offline = false) click to toggle source
# File lib/bosh/workspace/rspec/shared_workspace_examples.rb, line 31
def update_release_repo(release, releases_dir, callback, offline = false)
  Bosh::Workspace::Release.new(
    release, releases_dir, callback, offline: offline).update_repo
end