class Bosh::Director::Jobs::CloudCheck::ApplyResolutions
Public Class Methods
job_type()
click to toggle source
# File lib/bosh/director/jobs/cloud_check/apply_resolutions.rb, line 11 def self.job_type :cck_apply end
new(deployment_name, resolutions)
click to toggle source
@param [String] deployment_name Deployment name @param [Hash] resolutions Problem resolutions
# File lib/bosh/director/jobs/cloud_check/apply_resolutions.rb, line 17 def initialize(deployment_name, resolutions) @deployment_manager = Api::DeploymentManager.new @deployment = @deployment_manager.find_by_name(deployment_name) unless resolutions.kind_of?(Hash) raise CloudcheckInvalidResolutionFormat, "Invalid format for resolutions, Hash expected, #{resolutions.class} is given" end # Normalizing problem ids @resolutions = resolutions.inject({}) { |hash, (problem_id, solution_name)| hash[problem_id.to_s] = solution_name hash } @problem_resolver = ProblemResolver.new(@deployment) end
Public Instance Methods
perform()
click to toggle source
# File lib/bosh/director/jobs/cloud_check/apply_resolutions.rb, line 36 def perform with_deployment_lock(@deployment) do count, error_message = @problem_resolver.apply_resolutions(@resolutions) if error_message raise Bosh::Director::ProblemHandlerError, error_message end Bosh::Director::PostDeploymentScriptRunner.run_post_deploys_after_resurrection(@deployment) "#{count} resolved" end end