module Bosh::Workspace::ProjectDeploymentHelper
Public Instance Methods
build_project_deployment()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 51 def build_project_deployment resolve_director_uuid say("Generating deployment manifest") ManifestBuilder.build(project_deployment, work_dir) if domain_name = project_deployment.domain_name say("Transforming to dynamic networking (dns)") DnsHelper.transform(project_deployment.merged_file, domain_name) end end
create_placeholder_deployment()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 35 def create_placeholder_deployment resolve_director_uuid File.open(project_deployment.merged_file, "w") do |file| file.write(placeholder_deployment_content) end end
no_deployment_err()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 27 def no_deployment_err err "No deployment set" end
not_a_bosh_workspace_deployment()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 31 def not_a_bosh_workspace_deployment err "Deployment is not a bosh-workspace deployment: #{deployment}" end
offline!()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 67 def offline! @offline = true end
offline?()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 71 def offline? @offline end
project_deployment()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 9 def project_deployment @project_deployment ||= ProjectDeployment.new(project_deployment_file) end
project_deployment=(deployment)
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 13 def project_deployment=(deployment) @project_deployment = ProjectDeployment.new(deployment) end
project_deployment?()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 4 def project_deployment? File.exists?(project_deployment_file) && project_deployment_file?(project_deployment_file) end
project_deployment_file?(deployment)
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 17 def project_deployment_file?(deployment) ProjectDeployment.new(deployment).manifest.has_key?("templates") end
require_project_deployment()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 21 def require_project_deployment no_deployment_err unless deployment not_a_bosh_workspace_deployment unless project_deployment? validate_project_deployment end
resolve_director_uuid()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 63 def resolve_director_uuid use_targeted_director_uuid if director_uuid_current? end
validate_project_deployment()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 43 def validate_project_deployment unless project_deployment.valid? say("Validation errors:".make_red) project_deployment.errors.each { |error| say("- #{error}") } err("'#{project_deployment.file}' is not valid".make_red) end end
Private Instance Methods
bosh_status()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 115 def bosh_status @bosh_status ||= director.get_status end
bosh_uuid()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 119 def bosh_uuid bosh_status["uuid"] end
deployment_basename()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 106 def deployment_basename File.basename(deployment) end
deployment_dir()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 102 def deployment_dir File.dirname(deployment) end
director_uuid_current?()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 87 def director_uuid_current? project_deployment.director_uuid == "current" end
no_warden_error()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 82 def no_warden_error say("Please put 'director_uuid: #{bosh_uuid}' in '#{deployment}'") err("'director_uuid: current' may not be used in production") end
placeholder_deployment_content()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 110 def placeholder_deployment_content { "director_uuid" => project_deployment.director_uuid }.to_yaml + "# Don't edit; placeholder deployment for: #{project_deployment.file}" end
project_deployment_file()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 95 def project_deployment_file @project_deployment_file ||= begin path = File.join(deployment_dir, "../deployments", deployment_basename) File.expand_path path end end
use_targeted_director_uuid()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 77 def use_targeted_director_uuid no_warden_error unless warden_cpi? project_deployment.director_uuid = bosh_uuid end
warden_cpi?()
click to toggle source
# File lib/bosh/workspace/helpers/project_deployment_helper.rb, line 91 def warden_cpi? bosh_status["cpi"] == "warden" || bosh_status["name"] =~ /Bosh Lite/i end