aws-codedeploy-agent 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES.md CHANGED
@@ -1,3 +1,10 @@
1
- # 1.0.0
1
+ # 0.0.2
2
+
3
+ * Fix hanging deployment issue, where the server responds to a command
4
+ acknowledgement with 'Succeeded' or 'Failed' command status, by sending an
5
+ update back to the server to echo the command status and continue/unstick
6
+ the deployment. (panthomakos)
7
+
8
+ # 0.0.1
2
9
 
3
10
  * Converted to a gem for easier installation and use. (panthomakos)
@@ -5,7 +5,7 @@ $:.push File.expand_path("../vendor/gems/process_manager/lib", __FILE__)
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'aws-codedeploy-agent'
8
- s.version = '0.0.1'
8
+ s.version = '0.0.2'
9
9
  s.license = 'Apache-2.0'
10
10
  s.summary = 'AWS CodeDeploy Agent'
11
11
  s.description = 'CodeDeploy Agent is responsible for doing the actual work of deploying software on an individual EC2 instance.'
@@ -96,7 +96,17 @@ module InstanceAgent
96
96
  :host_command_identifier => command.host_command_identifier)
97
97
  status = output.command_status
98
98
  log(:debug, "Command Status = #{status}")
99
- true unless status == "Succeeded" || status == "Failed"
99
+
100
+ if status == 'Succeeded' || status == 'Failed'
101
+ log(:debug, "Calling PutHostCommandComplete: \"#{status}\" ")
102
+ @deploy_control_client.put_host_command_complete(
103
+ :command_status => status,
104
+ :diagnostics => {:format => "JSON", :payload => gather_diagnostics_from_acknowledge(status)},
105
+ :host_command_identifier => command.host_command_identifier)
106
+ return false
107
+ end
108
+
109
+ return true
100
110
  end
101
111
 
102
112
  def get_deployment_specification(command)
@@ -141,6 +151,20 @@ module InstanceAgent
141
151
  end
142
152
  gather_diagnostics_from_script_error(script_error)
143
153
  end
154
+
155
+ private
156
+ def gather_diagnostics_from_acknowledge(status)
157
+ begin
158
+ if status == 'Succeeded'
159
+ raise ScriptError.new(ScriptError::SUCCEEDED_CODE, "", ScriptLog.new), 'Succeeded'
160
+ else
161
+ raise ScriptError.new(ScriptError::UNKNOWN_ERROR_CODE, "", ScriptLog.new), 'Failed'
162
+ end
163
+ rescue ScriptError => e
164
+ script_error = e
165
+ end
166
+ gather_diagnostics_from_script_error(script_error)
167
+ end
144
168
  end
145
169
  end
146
170
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-codedeploy-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-01-29 00:00:00.000000000 Z
13
+ date: 2015-05-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json