in lib/instance_agent/plugins/codedeploy/command_poller.rb [108:142]
def process_command(command, spec)
log(:debug, "Calling #{@plugin.to_s}.execute_command")
begin
deployment_id = InstanceAgent::Plugins::CodeDeployPlugin::DeploymentSpecification.parse(spec).deployment_id
DeploymentCommandTracker.create_ongoing_deployment_tracking_file(deployment_id)
@plugin.execute_command(command, spec)
log(:debug, 'Calling PutHostCommandComplete: "Succeeded"')
@deploy_control_client.put_host_command_complete(
:command_status => 'Succeeded',
:diagnostics => {:format => "JSON", :payload => gather_diagnostics()},
:host_command_identifier => command.host_command_identifier)
rescue ScriptError => e
log(:debug, 'Calling PutHostCommandComplete: "Code Error" ')
@deploy_control_client.put_host_command_complete(
:command_status => "Failed",
:diagnostics => {:format => "JSON", :payload => gather_diagnostics_from_script_error(e)},
:host_command_identifier => command.host_command_identifier)
log(:error, "Error during perform: #{e.class} - #{e.message} - #{e.backtrace.join("\n")}")
raise e
rescue Exception => e
log(:debug, 'Calling PutHostCommandComplete: "Code Error" ')
@deploy_control_client.put_host_command_complete(
:command_status => "Failed",
:diagnostics => {:format => "JSON", :payload => gather_diagnostics_from_error(e)},
:host_command_identifier => command.host_command_identifier)
log(:error, "Error during perform: #{e.class} - #{e.message} - #{e.backtrace.join("\n")}")
raise e
ensure
DeploymentCommandTracker.delete_deployment_command_tracking_file(deployment_id)
end
end