elasticity 4.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/HISTORY.md +4 -0
- data/lib/elasticity/job_flow_status.rb +3 -0
- data/lib/elasticity/job_flow_status_step.rb +4 -1
- data/lib/elasticity/version.rb +1 -1
- data/spec/lib/elasticity/job_flow_status_spec.rb +5 -0
- data/spec/lib/elasticity/job_flow_status_step_spec.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ODg5Y2I0ODUyNGUyYmViNDA4Y2NiM2ZiYmMzNGI5OTM4YzFhNGFlZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzE3ZTQ1Y2M0ZWM5NzE3NjEyNzE3NDNkNGNkZjQ4ZTUwOGRiYmI0Yw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjgxOGQ4ZGU4ZTQ5ODlmMTk3NGI4MTFiMjEyNDUzMWQ1NWE5N2I5OTFhMjZj
|
10
|
+
NWE3M2I3MmM4NzhhNzNjNzRkNGQyMzgzYjczMjkyZDBkNDNhMzljNTQzYmIx
|
11
|
+
YWRiNzQyYjBkNjZhN2JlOWZmMDI1MzU2ZjIyNDg5ZDk0NGM0NGY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjNlZTMwYTA2ZTBkYmIxMDBhYmFhNDQ1OTNlOTJjOTM0Y2M1ZmE0MmFkZjM2
|
14
|
+
ZDhjYmEwZjkyNDA0MWZlM2YxZjE1NmNjMmU0Mjc3ZjNkNjNlOTZhYWZiZTQ4
|
15
|
+
NDY3NmYzZDZjNGI1OWJiMWU5Nzc1NWU5ZGI5ZWQxNzY2NTY4NzQ=
|
data/HISTORY.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 4.0.1 - September 4, 2014
|
2
|
+
|
3
|
+
- Now tracking the Master Instance ID and Created At timestamp for job flows and steps, via @AuraBorea (Thanks!) [#73](https://github.com/rslifka/elasticity/issues/73).
|
4
|
+
|
1
5
|
## 4.0 - May 21, 2014
|
2
6
|
|
3
7
|
- Fix for issue [#69](https://github.com/rslifka/elasticity/issues/69). The AWS region was previously being derived from the placement. With the advent of VPC/subnet IDs being set, placement is not always relevant (as the VPC subnet ID implicitly defines a placement). Since region cannot be derived it is now available directly on `JobFlow`.
|
@@ -13,6 +13,7 @@ module Elasticity
|
|
13
13
|
attr_accessor :duration
|
14
14
|
attr_accessor :instance_count
|
15
15
|
attr_accessor :master_instance_type
|
16
|
+
attr_accessor :master_instance_id
|
16
17
|
attr_accessor :slave_instance_type
|
17
18
|
attr_accessor :last_state_change_reason
|
18
19
|
attr_accessor :installed_steps
|
@@ -58,6 +59,8 @@ module Elasticity
|
|
58
59
|
|
59
60
|
jobflow_status.instance_count = xml_element.xpath('./Instances/InstanceCount').text.strip
|
60
61
|
jobflow_status.master_instance_type = xml_element.xpath('./Instances/MasterInstanceType').text.strip
|
62
|
+
master_instance_id = xml_element.xpath('./Instances/MasterInstanceId').text.strip
|
63
|
+
jobflow_status.master_instance_id = (master_instance_id == '') ? (nil) : (master_instance_id)
|
61
64
|
jobflow_status.slave_instance_type = xml_element.xpath('./Instances/SlaveInstanceType').text.strip
|
62
65
|
|
63
66
|
master_public_dns_name = xml_element.xpath('./Instances/MasterPublicDnsName').text.strip
|
@@ -4,6 +4,7 @@ module Elasticity
|
|
4
4
|
|
5
5
|
attr_accessor :name
|
6
6
|
attr_accessor :state
|
7
|
+
attr_accessor :created_at
|
7
8
|
attr_accessor :started_at
|
8
9
|
attr_accessor :ended_at
|
9
10
|
|
@@ -13,10 +14,12 @@ module Elasticity
|
|
13
14
|
job_flow_step = JobFlowStatusStep.new
|
14
15
|
job_flow_step.name = xml_element.xpath('./StepConfig/Name').text.strip
|
15
16
|
job_flow_step.state = xml_element.xpath('./ExecutionStatusDetail/State').text.strip
|
17
|
+
created_at = xml_element.xpath('./ExecutionStatusDetail/CreationDateTime').text.strip
|
18
|
+
job_flow_step.created_at = (created_at == '') ? (nil) : (Time.parse(created_at))
|
16
19
|
started_at = xml_element.xpath('./ExecutionStatusDetail/StartDateTime').text.strip
|
17
20
|
job_flow_step.started_at = (started_at == '') ? (nil) : (Time.parse(started_at))
|
18
21
|
ended_at = xml_element.xpath('./ExecutionStatusDetail/EndDateTime').text.strip
|
19
|
-
job_flow_step.ended_at = (ended_at ==
|
22
|
+
job_flow_step.ended_at = (ended_at == '') ? (nil) : (Time.parse(ended_at))
|
20
23
|
job_flow_step
|
21
24
|
end
|
22
25
|
|
data/lib/elasticity/version.rb
CHANGED
@@ -88,6 +88,9 @@ describe Elasticity::JobFlowStatus do
|
|
88
88
|
<SlaveInstanceType>
|
89
89
|
m1.small
|
90
90
|
</SlaveInstanceType>
|
91
|
+
<MasterInstanceId>
|
92
|
+
i-15a4417c
|
93
|
+
</MasterInstanceId>
|
91
94
|
<MasterInstanceType>
|
92
95
|
m1.small
|
93
96
|
</MasterInstanceType>
|
@@ -164,6 +167,7 @@ describe Elasticity::JobFlowStatus do
|
|
164
167
|
single_jobflow_status.ready_at.should == Time.parse('2011-10-04T21:49:18Z')
|
165
168
|
single_jobflow_status.ended_at.should == Time.parse('2011-10-05T21:49:18Z')
|
166
169
|
single_jobflow_status.duration.should == 1440
|
170
|
+
single_jobflow_status.master_instance_id.should == 'i-15a4417c'
|
167
171
|
single_jobflow_status.master_instance_type.should == 'm1.small'
|
168
172
|
single_jobflow_status.slave_instance_type.should == 'm1.small'
|
169
173
|
single_jobflow_status.instance_count.should == '4'
|
@@ -191,6 +195,7 @@ describe Elasticity::JobFlowStatus do
|
|
191
195
|
multiple_jobflow_statuses.map(&:ready_at).should == [Time.parse('2011-10-04T21:49:18Z'), nil]
|
192
196
|
multiple_jobflow_statuses.map(&:ended_at).should == [Time.parse('2011-10-05T21:49:18Z'), nil]
|
193
197
|
multiple_jobflow_statuses.map(&:duration).should == [1440, nil]
|
198
|
+
multiple_jobflow_statuses.map(&:master_instance_id).should == ['i-15a4417c', nil]
|
194
199
|
multiple_jobflow_statuses.map(&:master_instance_type).should == %w(m1.small c1.medium)
|
195
200
|
multiple_jobflow_statuses.map(&:slave_instance_type).should == %w(m1.small c1.medium)
|
196
201
|
multiple_jobflow_statuses.map(&:instance_count).should == %w(4 2)
|
@@ -18,6 +18,9 @@ describe Elasticity::JobFlowStatusStep do
|
|
18
18
|
</StepConfig>
|
19
19
|
<ExecutionStatusDetail>
|
20
20
|
<State>FAILED</State>
|
21
|
+
<CreationDateTime>
|
22
|
+
2011-10-04T21:46:16Z
|
23
|
+
</CreationDateTime>
|
21
24
|
<StartDateTime>
|
22
25
|
2011-10-04T21:49:16Z
|
23
26
|
</StartDateTime>
|
@@ -32,6 +35,8 @@ describe Elasticity::JobFlowStatusStep do
|
|
32
35
|
</StepConfig>
|
33
36
|
<ExecutionStatusDetail>
|
34
37
|
<State>PENDING</State>
|
38
|
+
<CreationDateTime>
|
39
|
+
</CreationDateTime>
|
35
40
|
<StartDateTime>
|
36
41
|
</StartDateTime>
|
37
42
|
<EndDateTime>
|
@@ -54,6 +59,7 @@ describe Elasticity::JobFlowStatusStep do
|
|
54
59
|
jobflow_step = Elasticity::JobFlowStatusStep.from_member_element(@members_nodeset[0])
|
55
60
|
jobflow_step.name.should == "Setup Hive"
|
56
61
|
jobflow_step.state.should == "FAILED"
|
62
|
+
jobflow_step.created_at.should == Time.parse("2011-10-04T21:46:16Z")
|
57
63
|
jobflow_step.started_at.should == Time.parse("2011-10-04T21:49:16Z")
|
58
64
|
jobflow_step.ended_at.should == Time.parse("2011-10-04T21:51:16Z")
|
59
65
|
end
|
@@ -64,6 +70,7 @@ describe Elasticity::JobFlowStatusStep do
|
|
64
70
|
jobflow_steps = Elasticity::JobFlowStatusStep.from_members_nodeset(@members_nodeset)
|
65
71
|
jobflow_steps.map(&:name).should == ["Setup Hive", "Run Hive Script"]
|
66
72
|
jobflow_steps.map(&:state).should == ["FAILED", "PENDING"]
|
73
|
+
jobflow_steps.map(&:created_at).should == [Time.parse("2011-10-04T21:46:16Z"), nil]
|
67
74
|
jobflow_steps.map(&:started_at).should == [Time.parse("2011-10-04T21:49:16Z"), nil]
|
68
75
|
jobflow_steps.map(&:ended_at).should == [Time.parse("2011-10-04T21:51:16Z"), nil]
|
69
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Slifka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05
|
11
|
+
date: 2014-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|