class Bosh::Director::DeploymentPlan::AgentStateMigrator
Public Class Methods
new(deployment_plan, logger)
click to toggle source
# File lib/bosh/director/deployment_plan/agent_state_migrator.rb, line 4 def initialize(deployment_plan, logger) @deployment_plan = deployment_plan @logger = logger end
Public Instance Methods
get_state(instance)
click to toggle source
# File lib/bosh/director/deployment_plan/agent_state_migrator.rb, line 9 def get_state(instance) @logger.debug("Requesting current VM state for: #{instance.agent_id}") agent = AgentClient.with_vm_credentials_and_agent_id(instance.credentials, instance.agent_id) state = agent.get_state @logger.debug("Received VM state: #{state.pretty_inspect}") verify_state(instance, state) @logger.debug('Verified VM state') state.delete('release') if state.include?('job') state['job'].delete('release') end state end
verify_state(instance, state)
click to toggle source
# File lib/bosh/director/deployment_plan/agent_state_migrator.rb, line 25 def verify_state(instance, state) unless state.kind_of?(Hash) @logger.error("Invalid state for '#{instance.vm_cid}': #{state.pretty_inspect}") raise AgentInvalidStateFormat, "VM '#{instance.vm_cid}' returns invalid state: " + "expected Hash, got #{state.class}" end end