mortar 0.15.46 → 0.15.47
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mortar/command/base.rb +2 -2
- data/lib/mortar/local/controller.rb +1 -1
- data/lib/mortar/local/pig.rb +1 -1
- data/lib/mortar/pigversion.rb +9 -7
- data/lib/mortar/templates/project/project.properties +2 -2
- data/lib/mortar/version.rb +1 -1
- data/spec/mortar/command/base_spec.rb +13 -13
- data/spec/mortar/command/describe_spec.rb +4 -4
- data/spec/mortar/command/illustrate_spec.rb +7 -7
- data/spec/mortar/command/jobs_spec.rb +21 -21
- data/spec/mortar/command/local_spec.rb +13 -13
- data/spec/mortar/command/validate_spec.rb +4 -4
- data/spec/mortar/local/controller_spec.rb +7 -7
- data/spec/mortar/local/pig_spec.rb +10 -10
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7a981fb03efa2e8eca07f34e215b5a46a9bf297
|
4
|
+
data.tar.gz: 515d42fa8b43d9033e05bbddaea2d1090a27b583
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4940e4462c82f588dfcf1f90d4b12c7db48bdd87d1e69cda97c1ea8f28eab8b82995aef9f45a3c8f1a8b9004c176fe9717cb7e50df3f0cf10dc18043710b331e
|
7
|
+
data.tar.gz: 77ef37837fc0e9596fb4e73ba18b1aea3141868119a19c31dc898ec88efc2a10b8808e3b708032f43beacfefda7929e4ca5d24f5735866dedf7df0ee15c53806
|
data/lib/mortar/command/base.rb
CHANGED
@@ -296,7 +296,7 @@ protected
|
|
296
296
|
|
297
297
|
def self.replace_templates(help)
|
298
298
|
help.each do |line|
|
299
|
-
line.gsub!("<PIG_VERSION_OPTIONS>", "0.12-Hadoop-2")
|
299
|
+
line.gsub!("<PIG_VERSION_OPTIONS>", "0.12-Hadoop-2.7.3")
|
300
300
|
end
|
301
301
|
end
|
302
302
|
|
@@ -608,7 +608,7 @@ protected
|
|
608
608
|
end
|
609
609
|
|
610
610
|
def pig_version
|
611
|
-
pig_version_str = options[:pigversion] || '0.12-Hadoop-2'
|
611
|
+
pig_version_str = options[:pigversion] || '0.12-Hadoop-2.7.3'
|
612
612
|
pig_version = Mortar::PigVersion.from_string(pig_version_str)
|
613
613
|
end
|
614
614
|
|
data/lib/mortar/local/pig.rb
CHANGED
@@ -323,7 +323,7 @@ class Mortar::Local::Pig
|
|
323
323
|
def template_params_classpath(pig_version=nil)
|
324
324
|
# Need to support old watchtower plugins that don't set pig_version
|
325
325
|
if pig_version.nil?
|
326
|
-
pig_version = Mortar::PigVersion::
|
326
|
+
pig_version = Mortar::PigVersion::Pig012Hadoop273.new
|
327
327
|
end
|
328
328
|
[ "#{pig_directory(pig_version)}/*",
|
329
329
|
"#{pig_directory(pig_version)}/lib-local/*",
|
data/lib/mortar/pigversion.rb
CHANGED
@@ -16,20 +16,22 @@
|
|
16
16
|
|
17
17
|
module Mortar
|
18
18
|
module PigVersion
|
19
|
-
PIG_0_12_HADOOP_2_TGZ_NAME = "pig-0.12-
|
19
|
+
PIG_0_12_HADOOP_2_TGZ_NAME = "pig-0.12-Hadoop-2.7.3.tar.gz"
|
20
20
|
PIG_0_12_HADOOP_2_TGZ_DEFAULT_URL_PATH = "resource/pig_0_12_hadoop_2"
|
21
21
|
|
22
22
|
def PigVersion.from_string(pig_version_str)
|
23
23
|
if pig_version_str == '0.12'
|
24
|
-
raise ArgumentError, "Our Hadoop 1 clusters are no longer supported by EMR. Please use the default version of Pig: 0.12-Hadoop-2. If you're unsure of why you're seeing this error please ensure that the project.properties file is not setting pigversion to an unsupported value."
|
24
|
+
raise ArgumentError, "Our Hadoop 1 clusters are no longer supported by EMR. Please use the default version of Pig: 0.12-Hadoop-2.7.3. If you're unsure of why you're seeing this error please ensure that the project.properties file is not setting pigversion to an unsupported value."
|
25
25
|
elsif pig_version_str == '0.12-Hadoop-2'
|
26
|
-
|
26
|
+
raise ArgumentError, "EMR 3 is no longer supported. Please use the default version of Pig: 0.12-Hadoop-2.7.3. If you're unsure of why you're seeing this error please ensure that the project.properties file is not setting pigversion to an unsupported value."
|
27
|
+
elsif pig_version_str == '0.12-Hadoop-2.7.3'
|
28
|
+
return Pig012Hadoop273.new
|
27
29
|
else
|
28
|
-
raise ArgumentError, "Unsupported pig version: #{pig_version_str}. Options are: ['0.12-Hadoop-2]."
|
30
|
+
raise ArgumentError, "Unsupported pig version: #{pig_version_str}. Options are: ['0.12-Hadoop-2.7.3']."
|
29
31
|
end
|
30
32
|
end
|
31
33
|
|
32
|
-
class
|
34
|
+
class Pig012Hadoop273
|
33
35
|
def tgz_name
|
34
36
|
PIG_0_12_HADOOP_2_TGZ_NAME
|
35
37
|
end
|
@@ -43,7 +45,7 @@ module Mortar
|
|
43
45
|
end
|
44
46
|
|
45
47
|
def version
|
46
|
-
"0.12-Hadoop-2"
|
48
|
+
"0.12-Hadoop-2.7.3"
|
47
49
|
end
|
48
50
|
|
49
51
|
def pig_version
|
@@ -51,7 +53,7 @@ module Mortar
|
|
51
53
|
end
|
52
54
|
|
53
55
|
def cluster_backend
|
54
|
-
Mortar::API::Jobs::
|
56
|
+
Mortar::API::Jobs::CLUSTER_BACKEND__EMR_HADOOP_2_7_3
|
55
57
|
end
|
56
58
|
end
|
57
59
|
|
@@ -7,5 +7,5 @@
|
|
7
7
|
# http://help.mortardata.com/data_apps/build_your_own/running_a_mortar_project#toc_7SettingProjectDefaults
|
8
8
|
|
9
9
|
[DEFAULTS]
|
10
|
-
# Default new projects to using Pig 0.12-Hadoop-2
|
11
|
-
pigversion=0.12-Hadoop-2
|
10
|
+
# Default new projects to using Pig 0.12-Hadoop-2.7.3
|
11
|
+
pigversion=0.12-Hadoop-2.7.3
|
data/lib/mortar/version.rb
CHANGED
@@ -106,7 +106,7 @@ other\tgit@github.com:other.git (push)
|
|
106
106
|
context "method_added" do
|
107
107
|
it "replaces help templates" do
|
108
108
|
lines = Base.replace_templates(["line", "start <PIG_VERSION_OPTIONS>"])
|
109
|
-
lines.join("").should == 'linestart 0.12-Hadoop-2'
|
109
|
+
lines.join("").should == 'linestart 0.12-Hadoop-2.7.3'
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
@@ -147,7 +147,7 @@ other\tgit@github.com:other.git (push)
|
|
147
147
|
with_git_initialized_project do |p|
|
148
148
|
text = """
|
149
149
|
[DEFAULTS]
|
150
|
-
pigversion=0.12-Hadoop-2
|
150
|
+
pigversion=0.12-Hadoop-2.7.3
|
151
151
|
|
152
152
|
[other]
|
153
153
|
no_browser=true
|
@@ -155,7 +155,7 @@ no_browser=true
|
|
155
155
|
write_file(File.join(p.root_path, ".mortar-defaults"), text)
|
156
156
|
|
157
157
|
b = Base.new
|
158
|
-
b.options.should == {:pigversion => "0.12-Hadoop-2"}
|
158
|
+
b.options.should == {:pigversion => "0.12-Hadoop-2.7.3"}
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
@@ -166,7 +166,7 @@ no_browser=true
|
|
166
166
|
with_git_initialized_project do |p|
|
167
167
|
text = """
|
168
168
|
[DEFAULTS]
|
169
|
-
pigversion=0.12-Hadoop-2
|
169
|
+
pigversion=0.12-Hadoop-2.7.3
|
170
170
|
|
171
171
|
[other]
|
172
172
|
no_browser=true
|
@@ -176,14 +176,14 @@ no_browser=true
|
|
176
176
|
describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
|
177
177
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
178
178
|
|
179
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
179
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
180
180
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
|
181
181
|
mock(Launchy).open(describe_url) {Thread.new {}}
|
182
182
|
|
183
183
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
184
184
|
|
185
185
|
stderr, stdout, d = execute_and_return_command("describe pigscripts/my_script.pig my_alias --polling_interval 0.05", p, git)
|
186
|
-
d.options.should == {:pigversion => "0.12-Hadoop-2", :polling_interval => "0.05"}
|
186
|
+
d.options.should == {:pigversion => "0.12-Hadoop-2.7.3", :polling_interval => "0.05"}
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
@@ -194,7 +194,7 @@ no_browser=true
|
|
194
194
|
with_git_initialized_project do |p|
|
195
195
|
text = """
|
196
196
|
[DEFAULTS]
|
197
|
-
pigversion=0.12-Hadoop-2
|
197
|
+
pigversion=0.12-Hadoop-2.7.3
|
198
198
|
|
199
199
|
[my_script]
|
200
200
|
no_browser=true
|
@@ -204,12 +204,12 @@ no_browser=true
|
|
204
204
|
describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
|
205
205
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
206
206
|
|
207
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
207
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
208
208
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
|
209
209
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
210
210
|
|
211
211
|
stderr, stdout, d = execute_and_return_command("describe pigscripts/my_script.pig my_alias --polling_interval 0.05", p, git)
|
212
|
-
d.options.should == {:pigversion => "0.12-Hadoop-2", :polling_interval => "0.05", :no_browser => true}
|
212
|
+
d.options.should == {:pigversion => "0.12-Hadoop-2.7.3", :polling_interval => "0.05", :no_browser => true}
|
213
213
|
end
|
214
214
|
end
|
215
215
|
|
@@ -232,7 +232,7 @@ polling_interval=10
|
|
232
232
|
describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
|
233
233
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
234
234
|
|
235
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
235
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
236
236
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
|
237
237
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
238
238
|
|
@@ -250,19 +250,19 @@ polling_interval=10
|
|
250
250
|
[DEFAULTS]
|
251
251
|
clustersize=5
|
252
252
|
no_browser=true
|
253
|
-
pigversion=0.12-Hadoop-2
|
253
|
+
pigversion=0.12-Hadoop-2.7.3
|
254
254
|
"""
|
255
255
|
write_file(File.join(p.root_path, "project.properties"), text)
|
256
256
|
|
257
257
|
describe_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
|
258
258
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
259
259
|
|
260
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
260
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters=>[]) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
261
261
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_SUCCESS, "status_description" => "Success", "web_result_url" => describe_url})).ordered
|
262
262
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
263
263
|
|
264
264
|
stderr, stdout, d = execute_and_return_command("describe pigscripts/my_script.pig my_alias --polling_interval 0.05", p, git)
|
265
|
-
d.options.should == {:polling_interval => "0.05", :no_browser => true, :clustersize => "5", :pigversion => "0.12-Hadoop-2"}
|
265
|
+
d.options.should == {:polling_interval => "0.05", :no_browser => true, :clustersize => "5", :pigversion => "0.12-Hadoop-2.7.3"}
|
266
266
|
end
|
267
267
|
end
|
268
268
|
|
@@ -98,7 +98,7 @@ STDERR
|
|
98
98
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
99
99
|
parameters = ["name"=>"key", "value"=>"value" ]
|
100
100
|
|
101
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
101
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
102
102
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
103
103
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_GATEWAY_STARTING, "status_description" => "Gateway starting"})).ordered
|
104
104
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_PROGRESS, "status_description" => "Starting pig"})).ordered
|
@@ -129,7 +129,7 @@ STDOUT
|
|
129
129
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
130
130
|
parameters = ["name"=>"key", "value"=>"value" ]
|
131
131
|
|
132
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
132
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
133
133
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
134
134
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_GATEWAY_STARTING, "status_description" => "Gateway starting"})).ordered
|
135
135
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_PROGRESS, "status_description" => "Starting pig"})).ordered
|
@@ -163,7 +163,7 @@ STDOUT
|
|
163
163
|
column_number = 32
|
164
164
|
error_type = 'PigError'
|
165
165
|
|
166
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
166
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
167
167
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
168
168
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_FAILURE, "status_description" => "Failed",
|
169
169
|
"error_message" => error_message,
|
@@ -198,7 +198,7 @@ STDERR
|
|
198
198
|
describe_url = "https://mdog.datadoghq.com/describe/#{describe_id}"
|
199
199
|
parameters = ["name"=>"key", "value"=>"value" ]
|
200
200
|
|
201
|
-
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
201
|
+
mock(Mortar::Auth.api).post_describe("myproject", "my_script", "my_alias", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"describe_id" => describe_id})}
|
202
202
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
203
203
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_GATEWAY_STARTING, "status_description" => "Gateway starting"})).ordered
|
204
204
|
mock(Mortar::Auth.api).get_describe(describe_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Describe::STATUS_PROGRESS, "status_description" => "Starting pig"})).ordered
|
@@ -74,7 +74,7 @@ STDERR
|
|
74
74
|
parameters = ["name"=>"key", "value"=>"value" ]
|
75
75
|
|
76
76
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
77
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
77
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
78
78
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
79
79
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
|
80
80
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
|
@@ -108,7 +108,7 @@ STDOUT
|
|
108
108
|
parameters = ["name"=>"key", "value"=>"value" ]
|
109
109
|
|
110
110
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
111
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
111
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
112
112
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
113
113
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
|
114
114
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
|
@@ -142,7 +142,7 @@ STDOUT
|
|
142
142
|
parameters = ["name"=>"key", "value"=>"value" ]
|
143
143
|
|
144
144
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
145
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
145
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
146
146
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
147
147
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_SUCCESS, "status_description" => "Succeeded", "web_result_url" => illustrate_url})).ordered
|
148
148
|
|
@@ -169,7 +169,7 @@ STDOUT
|
|
169
169
|
parameters = ["name"=>"key", "value"=>"value" ]
|
170
170
|
|
171
171
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
172
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", true, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
172
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", true, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
173
173
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
174
174
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_SUCCESS, "status_description" => "Succeeded", "web_result_url" => illustrate_url})).ordered
|
175
175
|
|
@@ -195,7 +195,7 @@ STDOUT
|
|
195
195
|
parameters = ["name"=>"key", "value"=>"value" ]
|
196
196
|
|
197
197
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
198
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
198
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
199
199
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
200
200
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
|
201
201
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
|
@@ -232,7 +232,7 @@ STDOUT
|
|
232
232
|
error_type = 'PigError'
|
233
233
|
|
234
234
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
235
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
235
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", "my_alias", false, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
236
236
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
237
237
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_FAILURE,
|
238
238
|
"error_message" => error_message,
|
@@ -268,7 +268,7 @@ STDERR
|
|
268
268
|
parameters = ["name"=>"key", "value"=>"value" ]
|
269
269
|
|
270
270
|
# These don't test the validity of the error message, it only tests that the CLI can handle a message returned from the server
|
271
|
-
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
271
|
+
mock(Mortar::Auth.api).post_illustrate("myproject", "my_script", nil, false, is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"illustrate_id" => illustrate_id})}
|
272
272
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
273
273
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
|
274
274
|
mock(Mortar::Auth.api).get_illustrate(illustrate_id, :exclude_result => true).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Illustrate::STATUS_PROGRESS, "status_description" => "In progress"})).ordered
|
@@ -47,7 +47,7 @@ module Mortar::Command
|
|
47
47
|
cluster_size = 5
|
48
48
|
|
49
49
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
|
50
|
-
:pig_version => "0.12-Hadoop-2",
|
50
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
51
51
|
:project_script_path => be_a_kind_of(String),
|
52
52
|
:parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
|
53
53
|
:cluster_type => Jobs::CLUSTER_TYPE__SINGLE_JOB,
|
@@ -83,7 +83,7 @@ STDOUT
|
|
83
83
|
cluster_size = 5
|
84
84
|
|
85
85
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String),cluster_size,
|
86
|
-
:pig_version => "0.12-Hadoop-2",
|
86
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
87
87
|
:project_script_path => be_a_kind_of(String),
|
88
88
|
:parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
|
89
89
|
:cluster_type => Jobs::CLUSTER_TYPE__PERMANENT,
|
@@ -143,7 +143,7 @@ STDERR
|
|
143
143
|
cluster_size = 5
|
144
144
|
|
145
145
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String),cluster_size,
|
146
|
-
:pig_version => "0.12-Hadoop-2",
|
146
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
147
147
|
:project_script_path => be_a_kind_of(String),
|
148
148
|
:parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
|
149
149
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -179,7 +179,7 @@ STDOUT
|
|
179
179
|
cluster_size = 5
|
180
180
|
|
181
181
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String),cluster_size,
|
182
|
-
:pig_version => "0.12-Hadoop-2",
|
182
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
183
183
|
:project_script_path => be_a_kind_of(String),
|
184
184
|
:parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
|
185
185
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -215,7 +215,7 @@ STDOUT
|
|
215
215
|
cluster_id = "e2790e7e8c7d48e39157238d58191346"
|
216
216
|
|
217
217
|
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id,
|
218
|
-
:pig_version => "0.12-Hadoop-2",
|
218
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
219
219
|
:project_script_path => be_a_kind_of(String),
|
220
220
|
:parameters => [],
|
221
221
|
:notify_on_job_finish => false,
|
@@ -249,7 +249,7 @@ STDOUT
|
|
249
249
|
cluster_id = "e2790e7e8c7d48e39157238d58191346"
|
250
250
|
|
251
251
|
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id,
|
252
|
-
:pig_version => "0.12-Hadoop-2",
|
252
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
253
253
|
:project_script_path => be_a_kind_of(String),
|
254
254
|
:parameters => [],
|
255
255
|
:notify_on_job_finish => false,
|
@@ -281,9 +281,9 @@ STDOUT
|
|
281
281
|
job_url = "http://127.0.0.1:5000/jobs/job_detail?job_id=c571a8c7f76a4fd4a67c103d753e2dd5"
|
282
282
|
cluster_size = 2
|
283
283
|
|
284
|
-
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::
|
284
|
+
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::CLUSTER_BACKEND__EMR_HADOOP_2_7_3) {Excon::Response.new(:body => {'clusters' => []})}
|
285
285
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
|
286
|
-
:pig_version => "0.12-Hadoop-2",
|
286
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
287
287
|
:project_script_path => be_a_kind_of(String),
|
288
288
|
:parameters => [],
|
289
289
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -319,9 +319,9 @@ STDOUT
|
|
319
319
|
job_url = "http://127.0.0.1:5000/jobs/job_detail?job_id=c571a8c7f76a4fd4a67c103d753e2dd5"
|
320
320
|
cluster_size = 2
|
321
321
|
|
322
|
-
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::
|
322
|
+
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::CLUSTER_BACKEND__EMR_HADOOP_2_7_3) {Excon::Response.new(:body => {'clusters' => []})}
|
323
323
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
|
324
|
-
:pig_version => "0.12-Hadoop-2",
|
324
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
325
325
|
:project_script_path => be_a_kind_of(String),
|
326
326
|
:parameters => [],
|
327
327
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -358,7 +358,7 @@ STDOUT
|
|
358
358
|
job_url = "http://127.0.0.1:5000/jobs/job_detail?job_id=c571a8c7f76a4fd4a67c103d753e2dd5"
|
359
359
|
cluster_id = "e2790e7e8c7d48e39157238d58191346"
|
360
360
|
|
361
|
-
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id, :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => [], :notify_on_job_finish => false, :is_control_script=>false) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
|
361
|
+
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), cluster_id, :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => [], :notify_on_job_finish => false, :is_control_script=>false) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
|
362
362
|
|
363
363
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
364
364
|
stderr, stdout = execute("jobs:run pigscripts/my_script.pig --clusterid e2790e7e8c7d48e39157238d58191346 -d", p, @git)
|
@@ -399,7 +399,7 @@ STDOUT
|
|
399
399
|
huge_busy_cluster_status = Mortar::API::Clusters::STATUS_RUNNING
|
400
400
|
|
401
401
|
|
402
|
-
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::
|
402
|
+
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::CLUSTER_BACKEND__EMR_HADOOP_2_7_3) {
|
403
403
|
Excon::Response.new(:body => {
|
404
404
|
'clusters' => [
|
405
405
|
{ 'cluster_id' => small_cluster_id, 'size' => small_cluster_size, 'running_jobs' => [], 'status_code' => small_cluster_status },
|
@@ -411,7 +411,7 @@ STDOUT
|
|
411
411
|
]})
|
412
412
|
}
|
413
413
|
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), large_cluster_id,
|
414
|
-
:pig_version => "0.12-Hadoop-2",
|
414
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
415
415
|
:project_script_path => be_a_kind_of(String),
|
416
416
|
:parameters => [],
|
417
417
|
:notify_on_job_finish => true,
|
@@ -458,7 +458,7 @@ STDOUT
|
|
458
458
|
huge_busy_cluster_status = Mortar::API::Clusters::STATUS_RUNNING
|
459
459
|
|
460
460
|
|
461
|
-
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::
|
461
|
+
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::CLUSTER_BACKEND__EMR_HADOOP_2_7_3) {
|
462
462
|
Excon::Response.new(:body => {
|
463
463
|
'clusters' => [
|
464
464
|
{ 'cluster_id' => small_cluster_id, 'size' => small_cluster_size, 'running_jobs' => [], 'status_code' => small_cluster_status, 'tags' => ['small'] },
|
@@ -470,7 +470,7 @@ STDOUT
|
|
470
470
|
]})
|
471
471
|
}
|
472
472
|
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), large_cluster_id,
|
473
|
-
:pig_version => "0.12-Hadoop-2",
|
473
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
474
474
|
:project_script_path => be_a_kind_of(String),
|
475
475
|
:parameters => [],
|
476
476
|
:notify_on_job_finish => true,
|
@@ -510,7 +510,7 @@ Or by running:
|
|
510
510
|
large_h2_cluster_size = 5
|
511
511
|
large_h2_cluster_status = Mortar::API::Clusters::STATUS_RUNNING
|
512
512
|
|
513
|
-
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::
|
513
|
+
mock(Mortar::Auth.api).get_clusters(Mortar::API::Jobs::CLUSTER_BACKEND__EMR_HADOOP_2_7_3) {
|
514
514
|
Excon::Response.new(:body => {
|
515
515
|
'clusters' => [
|
516
516
|
{ 'cluster_id' => small_h2_cluster_id, 'size' => small_h2_cluster_size, 'running_jobs' => [], 'status_code' => small_h2_cluster_status },
|
@@ -518,14 +518,14 @@ Or by running:
|
|
518
518
|
]})
|
519
519
|
}
|
520
520
|
mock(Mortar::Auth.api).post_pig_job_existing_cluster("myproject", "my_script", is_a(String), large_h2_cluster_id,
|
521
|
-
:pig_version => "0.12-Hadoop-2",
|
521
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
522
522
|
:project_script_path => be_a_kind_of(String),
|
523
523
|
:parameters => [],
|
524
524
|
:notify_on_job_finish => true,
|
525
525
|
:is_control_script=>false) {Excon::Response.new(:body => {"job_id" => job_id, "web_job_url" => job_url})}
|
526
526
|
|
527
527
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
528
|
-
stderr, stdout = execute("jobs:run pigscripts/my_script.pig -g 0.12-Hadoop-2", p, @git)
|
528
|
+
stderr, stdout = execute("jobs:run pigscripts/my_script.pig -g 0.12-Hadoop-2.7.3", p, @git)
|
529
529
|
stdout.should == <<-STDOUT
|
530
530
|
Defaulting to running job on largest existing free cluster, id = 510bf0db3004860820ab6590, size = 5
|
531
531
|
Taking code snapshot... done
|
@@ -552,7 +552,7 @@ STDOUT
|
|
552
552
|
cluster_size = 5
|
553
553
|
|
554
554
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
|
555
|
-
:pig_version => "0.12-Hadoop-2",
|
555
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
556
556
|
:project_script_path => be_a_kind_of(String),
|
557
557
|
:parameters => match_array([{"name" => "FIRST", "value" => "FOO"}, {"name" => "SECOND", "value" => "BAR"}, {"name" => "THIRD", "value" => "BEAR"}]),
|
558
558
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -580,7 +580,7 @@ PARAMS
|
|
580
580
|
cluster_size = 5
|
581
581
|
|
582
582
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
|
583
|
-
:pig_version => "0.12-Hadoop-2",
|
583
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
584
584
|
:project_script_path => be_a_kind_of(String),
|
585
585
|
:parameters => match_array([{"name" => "FIRST", "value" => "FOO"}, {"name" => "SECOND", "value" => "BAR"}, {"name" => "THIRD", "value" => "BEAR"}]),
|
586
586
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -636,7 +636,7 @@ STDERR
|
|
636
636
|
mock(@git).sync_embedded_project.with_any_args.times(1) { "somewhere_over_the_rainbow" }
|
637
637
|
|
638
638
|
mock(Mortar::Auth.api).post_pig_job_new_cluster("myproject", "my_script", is_a(String), cluster_size,
|
639
|
-
:pig_version => "0.12-Hadoop-2",
|
639
|
+
:pig_version => "0.12-Hadoop-2.7.3",
|
640
640
|
:project_script_path => be_a_kind_of(String),
|
641
641
|
:parameters => match_array([{"name" => "FIRST_PARAM", "value" => "FOO"}, {"name" => "SECOND_PARAM", "value" => "BAR"}]),
|
642
642
|
:cluster_type => Jobs::CLUSTER_TYPE__PERSISTENT,
|
@@ -48,7 +48,7 @@ STDERR
|
|
48
48
|
mock(u).config_parameters.returns([])
|
49
49
|
end
|
50
50
|
any_instance_of(Mortar::Local::Controller) do |u|
|
51
|
-
mock(u).illustrate(pigscript, "some_alias", is_a(Mortar::PigVersion::
|
51
|
+
mock(u).illustrate(pigscript, "some_alias", is_a(Mortar::PigVersion::Pig012Hadoop273), [], false, false).returns(nil)
|
52
52
|
end
|
53
53
|
stderr, stdout = execute("local:illustrate #{script_name} some_alias", p)
|
54
54
|
stderr.should == ""
|
@@ -66,9 +66,9 @@ STDERR
|
|
66
66
|
mock(u).config_parameters.returns([])
|
67
67
|
end
|
68
68
|
any_instance_of(Mortar::Local::Controller) do |u|
|
69
|
-
mock(u).illustrate(pigscript, nil, is_a(Mortar::PigVersion::
|
69
|
+
mock(u).illustrate(pigscript, nil, is_a(Mortar::PigVersion::Pig012Hadoop273), [], false, false).returns(nil)
|
70
70
|
end
|
71
|
-
stderr, stdout = execute("local:illustrate #{script_name} -g 0.12-Hadoop-2", p)
|
71
|
+
stderr, stdout = execute("local:illustrate #{script_name} -g 0.12-Hadoop-2.7.3", p)
|
72
72
|
stderr.should == ""
|
73
73
|
end
|
74
74
|
end
|
@@ -85,9 +85,9 @@ STDERR
|
|
85
85
|
end
|
86
86
|
mock(Mortar::Project::PigScript).new(script_name, script_path).returns(pigscript)
|
87
87
|
any_instance_of(Mortar::Local::Controller) do |u|
|
88
|
-
mock(u).illustrate(pigscript, nil, is_a(Mortar::PigVersion::
|
88
|
+
mock(u).illustrate(pigscript, nil, is_a(Mortar::PigVersion::Pig012Hadoop273), [{"name"=>"first", "value"=>1},{"name"=>"second", "value"=>2}], false, false).returns(nil)
|
89
89
|
end
|
90
|
-
stderr, stdout = execute("local:illustrate #{script_name} -g 0.12-Hadoop-2", p)
|
90
|
+
stderr, stdout = execute("local:illustrate #{script_name} -g 0.12-Hadoop-2.7.3", p)
|
91
91
|
stderr.should == ""
|
92
92
|
end
|
93
93
|
end
|
@@ -125,9 +125,9 @@ STDERR
|
|
125
125
|
mock(u).config_parameters.returns([])
|
126
126
|
end
|
127
127
|
any_instance_of(Mortar::Local::Controller) do |u|
|
128
|
-
mock(u).run(pigscript, is_a(Mortar::PigVersion::
|
128
|
+
mock(u).run(pigscript, is_a(Mortar::PigVersion::Pig012Hadoop273), []).returns(nil)
|
129
129
|
end
|
130
|
-
stderr, stdout = execute("local:run pigscripts/#{script_name}.pig -g 0.12-Hadoop-2", p)
|
130
|
+
stderr, stdout = execute("local:run pigscripts/#{script_name}.pig -g 0.12-Hadoop-2.7.3", p)
|
131
131
|
stderr.should == ""
|
132
132
|
end
|
133
133
|
end
|
@@ -244,10 +244,10 @@ PARAMS
|
|
244
244
|
mock(u).config_parameters.returns([{"key"=>"k", "value"=>"v"}])
|
245
245
|
end
|
246
246
|
any_instance_of(Mortar::Local::Controller) do |u|
|
247
|
-
mock(u).install_and_configure(is_a(Mortar::PigVersion::
|
247
|
+
mock(u).install_and_configure(is_a(Mortar::PigVersion::Pig012Hadoop273), 'validate')
|
248
248
|
end
|
249
249
|
any_instance_of(Mortar::Local::Pig) do |u|
|
250
|
-
mock(u).run_pig_command(" -check #{pigscript.path}", is_a(Mortar::PigVersion::
|
250
|
+
mock(u).run_pig_command(" -check #{pigscript.path}", is_a(Mortar::PigVersion::Pig012Hadoop273), [{"key"=>"k", "value"=>"v"}])
|
251
251
|
end
|
252
252
|
stderr, stdout = execute("local:validate #{script_name}", p)
|
253
253
|
stderr.should == ""
|
@@ -265,10 +265,10 @@ PARAMS
|
|
265
265
|
mock(u).config_parameters.returns([])
|
266
266
|
end
|
267
267
|
any_instance_of(Mortar::Local::Controller) do |u|
|
268
|
-
mock(u).install_and_configure(is_a(Mortar::PigVersion::
|
268
|
+
mock(u).install_and_configure(is_a(Mortar::PigVersion::Pig012Hadoop273), 'validate')
|
269
269
|
end
|
270
270
|
any_instance_of(Mortar::Local::Pig) do |u|
|
271
|
-
mock(u).run_pig_command(" -check #{pigscript.path}", is_a(Mortar::PigVersion::
|
271
|
+
mock(u).run_pig_command(" -check #{pigscript.path}", is_a(Mortar::PigVersion::Pig012Hadoop273), [])
|
272
272
|
end
|
273
273
|
stderr, stdout = execute("local:validate pigscripts/#{script_name}.pig", p)
|
274
274
|
stderr.should == ""
|
@@ -316,7 +316,7 @@ STDERR
|
|
316
316
|
mock(u).run_stillson_luigi_client_cfg_expansion(luigi_script, config_parameters).returns(true)
|
317
317
|
end
|
318
318
|
any_instance_of(Mortar::Local::Controller) do |u|
|
319
|
-
mock(u).install_and_configure(is_a(Mortar::PigVersion::
|
319
|
+
mock(u).install_and_configure(is_a(Mortar::PigVersion::Pig012Hadoop273),'luigi')
|
320
320
|
end
|
321
321
|
any_instance_of(Mortar::Command::Local) do |u|
|
322
322
|
mock(u).sync_code_with_cloud().returns("some-git-ref")
|
@@ -347,7 +347,7 @@ STDERR
|
|
347
347
|
mock(u).run_luigi_script(luigi_script, %W{--myoption 2 --myotheroption 3})
|
348
348
|
end
|
349
349
|
any_instance_of(Mortar::Local::Controller) do |u|
|
350
|
-
mock(u).install_and_configure(is_a(Mortar::PigVersion::
|
350
|
+
mock(u).install_and_configure(is_a(Mortar::PigVersion::Pig012Hadoop273),'luigi')
|
351
351
|
end
|
352
352
|
any_instance_of(Mortar::Command::Local) do |u|
|
353
353
|
mock(u).sync_code_with_cloud().returns("some-git-ref")
|
@@ -73,7 +73,7 @@ STDERR
|
|
73
73
|
validate_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
|
74
74
|
parameters = ["name"=>"key", "value"=>"value" ]
|
75
75
|
|
76
|
-
mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
|
76
|
+
mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
|
77
77
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
78
78
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
|
79
79
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_PROGRESS, "status_description" => "Starting"})).ordered
|
@@ -103,7 +103,7 @@ STDOUT
|
|
103
103
|
column_number = 32
|
104
104
|
error_type = 'PigError'
|
105
105
|
|
106
|
-
mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"validate_id" => validate_id})}
|
106
|
+
mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => []) {Excon::Response.new(:body => {"validate_id" => validate_id})}
|
107
107
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
108
108
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_FAILURE, "status_description" => "Failed",
|
109
109
|
"error_message" => error_message,
|
@@ -137,7 +137,7 @@ STDERR
|
|
137
137
|
validate_id = "c571a8c7f76a4fd4a67c103d753e2dd5"
|
138
138
|
parameters = ["name"=>"key", "value"=>"value" ]
|
139
139
|
|
140
|
-
mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12-Hadoop-2", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
|
140
|
+
mock(Mortar::Auth.api).post_validate("myproject", "my_script", is_a(String), :pig_version => "0.12-Hadoop-2.7.3", :project_script_path => be_a_kind_of(String), :parameters => parameters) {Excon::Response.new(:body => {"validate_id" => validate_id})}
|
141
141
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_QUEUED, "status_description" => "Pending"})).ordered
|
142
142
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_GATEWAY_STARTING, "status_description" => "GATEWAY_STARTING"})).ordered
|
143
143
|
mock(Mortar::Auth.api).get_validate(validate_id).returns(Excon::Response.new(:body => {"status_code" => Mortar::API::Validate::STATUS_PROGRESS, "status_description" => "Starting"})).ordered
|
@@ -146,7 +146,7 @@ STDERR
|
|
146
146
|
mock(@git).sync_embedded_project.with_any_args.times(1) { "somewhere_over_the_rainbow" }
|
147
147
|
|
148
148
|
write_file(File.join(p.pigscripts_path, "my_script.pig"))
|
149
|
-
stderr, stdout = execute("validate my_script --polling_interval 0.05 -p key=value -g 0.12-Hadoop-2", p, @git)
|
149
|
+
stderr, stdout = execute("validate my_script --polling_interval 0.05 -p key=value -g 0.12-Hadoop-2.7.3", p, @git)
|
150
150
|
end
|
151
151
|
end
|
152
152
|
end
|
@@ -135,7 +135,7 @@ module Mortar::Local
|
|
135
135
|
mock(j).check_install.returns(true)
|
136
136
|
end
|
137
137
|
any_instance_of(Mortar::Local::Pig) do |p|
|
138
|
-
mock(p).install_or_update(is_a(Mortar::PigVersion::
|
138
|
+
mock(p).install_or_update(is_a(Mortar::PigVersion::Pig012Hadoop273), nil)
|
139
139
|
end
|
140
140
|
any_instance_of(Mortar::Local::Python) do |p|
|
141
141
|
mock(p).check_or_install.returns(true)
|
@@ -158,13 +158,13 @@ module Mortar::Local
|
|
158
158
|
|
159
159
|
it "checks for aws keys, checks depenendency installation, runs script" do
|
160
160
|
c = Mortar::Local::Controller.new
|
161
|
-
mock(c).install_and_configure("0.12-Hadoop-2", "run")
|
161
|
+
mock(c).install_and_configure("0.12-Hadoop-2.7.3", "run")
|
162
162
|
test_script = "foobar-script"
|
163
163
|
the_parameters = []
|
164
164
|
any_instance_of(Mortar::Local::Pig) do |p|
|
165
|
-
mock(p).run_script(test_script, "0.12-Hadoop-2", the_parameters)
|
165
|
+
mock(p).run_script(test_script, "0.12-Hadoop-2.7.3", the_parameters)
|
166
166
|
end
|
167
|
-
c.run(test_script, "0.12-Hadoop-2", the_parameters)
|
167
|
+
c.run(test_script, "0.12-Hadoop-2.7.3", the_parameters)
|
168
168
|
end
|
169
169
|
|
170
170
|
end
|
@@ -172,16 +172,16 @@ module Mortar::Local
|
|
172
172
|
context("illustrate") do
|
173
173
|
it "checks for aws keys, checks depenendency installation, runs the illustrate process" do
|
174
174
|
c = Mortar::Local::Controller.new
|
175
|
-
mock(c).install_and_configure("0.12-Hadoop-2", "illustrate")
|
175
|
+
mock(c).install_and_configure("0.12-Hadoop-2.7.3", "illustrate")
|
176
176
|
test_script = "foobar-script"
|
177
177
|
script_alias = "some_alias"
|
178
178
|
prune = false
|
179
179
|
no_browser = false
|
180
180
|
the_parameters = []
|
181
181
|
any_instance_of(Mortar::Local::Pig) do |p|
|
182
|
-
mock(p).illustrate_alias(test_script, script_alias, prune, no_browser, "0.12-Hadoop-2", the_parameters)
|
182
|
+
mock(p).illustrate_alias(test_script, script_alias, prune, no_browser, "0.12-Hadoop-2.7.3", the_parameters)
|
183
183
|
end
|
184
|
-
c.illustrate(test_script, script_alias, "0.12-Hadoop-2", the_parameters, prune, no_browser)
|
184
|
+
c.illustrate(test_script, script_alias, "0.12-Hadoop-2.7.3", the_parameters, prune, no_browser)
|
185
185
|
end
|
186
186
|
end
|
187
187
|
|
@@ -35,7 +35,7 @@ module Mortar::Local
|
|
35
35
|
# chmods bin/pig, removes tgz, and notes the installation
|
36
36
|
FakeFS do
|
37
37
|
pig = Mortar::Local::Pig.new
|
38
|
-
pig012Hadoop2 = Mortar::PigVersion::
|
38
|
+
pig012Hadoop2 = Mortar::PigVersion::Pig012Hadoop273.new
|
39
39
|
local_pig_archive = File.join(pig.local_install_directory, pig012Hadoop2.tgz_name)
|
40
40
|
mock(pig).download_file(pig.pig_archive_url(pig012Hadoop2), local_pig_archive, nil) do
|
41
41
|
# Simulate the tgz file being downloaded, this should be deleted
|
@@ -61,7 +61,7 @@ module Mortar::Local
|
|
61
61
|
|
62
62
|
it "does nothing if existing install and no update available" do
|
63
63
|
pig = Mortar::Local::Pig.new
|
64
|
-
pig012Hadoop2 = Mortar::PigVersion::
|
64
|
+
pig012Hadoop2 = Mortar::PigVersion::Pig012Hadoop273.new
|
65
65
|
|
66
66
|
mock(pig).should_do_pig_install?(pig012Hadoop2).returns(false)
|
67
67
|
mock(pig).should_do_pig_update?(pig012Hadoop2, nil).returns(false)
|
@@ -79,7 +79,7 @@ module Mortar::Local
|
|
79
79
|
|
80
80
|
it "does install if none has been done before" do
|
81
81
|
pig = Mortar::Local::Pig.new
|
82
|
-
pig012Hadoop2 = Mortar::PigVersion::
|
82
|
+
pig012Hadoop2 = Mortar::PigVersion::Pig012Hadoop273.new
|
83
83
|
|
84
84
|
mock(pig).should_do_pig_install?(pig012Hadoop2).returns(true)
|
85
85
|
mock(pig).should_do_lib_install?.returns(true)
|
@@ -93,7 +93,7 @@ module Mortar::Local
|
|
93
93
|
|
94
94
|
it "does install if one was done before but there is an update" do
|
95
95
|
pig = Mortar::Local::Pig.new
|
96
|
-
pig012Hadoop2 = Mortar::PigVersion::
|
96
|
+
pig012Hadoop2 = Mortar::PigVersion::Pig012Hadoop273.new
|
97
97
|
|
98
98
|
mock(pig).should_do_pig_install?(pig012Hadoop2).returns(false)
|
99
99
|
mock(pig).should_do_pig_update?(pig012Hadoop2, nil).returns(true)
|
@@ -208,7 +208,7 @@ module Mortar::Local
|
|
208
208
|
mock(pig).run_pig_command.with_any_args.returns(true)
|
209
209
|
mock(pig).show_illustrate_output_browser.with_any_args
|
210
210
|
stub(pig).make_pig_param_file.returns('param.file')
|
211
|
-
pig.illustrate_alias(script, 'my_alias', false, false, "0.12-Hadoop-2", [])
|
211
|
+
pig.illustrate_alias(script, 'my_alias', false, false, "0.12-Hadoop-2.7.3", [])
|
212
212
|
end
|
213
213
|
|
214
214
|
it "displays text results if illustrate was successful with no_browser" do
|
@@ -218,7 +218,7 @@ module Mortar::Local
|
|
218
218
|
stub(pig).run_pig_command.with_any_args.returns(true)
|
219
219
|
mock(pig).display.with_any_args
|
220
220
|
stub(pig).make_pig_param_file.returns('param.file')
|
221
|
-
pig.illustrate_alias(script, 'my_alias', false, true, "0.12-Hadoop-2", [])
|
221
|
+
pig.illustrate_alias(script, 'my_alias', false, true, "0.12-Hadoop-2.7.3", [])
|
222
222
|
end
|
223
223
|
|
224
224
|
it "skips results if illustrate was unsuccessful" do
|
@@ -228,7 +228,7 @@ module Mortar::Local
|
|
228
228
|
mock(pig).run_pig_command.with_any_args.returns(false)
|
229
229
|
mock(pig).show_illustrate_output_browser.with_any_args.never
|
230
230
|
stub(pig).make_pig_param_file.returns('param.file')
|
231
|
-
pig.illustrate_alias(script, 'my_alias', false, false, "0.12-Hadoop-2", [])
|
231
|
+
pig.illustrate_alias(script, 'my_alias', false, false, "0.12-Hadoop-2.7.3", [])
|
232
232
|
end
|
233
233
|
|
234
234
|
it "does not require login credentials for illustration" do
|
@@ -238,7 +238,7 @@ module Mortar::Local
|
|
238
238
|
mock(Mortar::Auth).user_s3_safe(true).returns('notloggedin-user-org')
|
239
239
|
mock(pig).run_pig_command.with_any_args.returns(true)
|
240
240
|
mock(pig).show_illustrate_output_browser.with_any_args
|
241
|
-
pig.illustrate_alias(script, 'my_alias', false, false, "0.12-Hadoop-2", [])
|
241
|
+
pig.illustrate_alias(script, 'my_alias', false, false, "0.12-Hadoop-2.7.3", [])
|
242
242
|
end
|
243
243
|
|
244
244
|
end
|
@@ -266,9 +266,9 @@ module Mortar::Local
|
|
266
266
|
expect(tpc.include?("pig-0.12")).to be_true
|
267
267
|
end
|
268
268
|
|
269
|
-
it "Works with 0.12-Hadoop-2 pig" do
|
269
|
+
it "Works with 0.12-Hadoop-2.7.3 pig" do
|
270
270
|
pig = Mortar::Local::Pig.new
|
271
|
-
tpc = pig.template_params_classpath(Mortar::PigVersion::
|
271
|
+
tpc = pig.template_params_classpath(Mortar::PigVersion::Pig012Hadoop273.new)
|
272
272
|
expect(tpc.include?("pig-0.12")).to be_true
|
273
273
|
end
|
274
274
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mortar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.47
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mortar Data
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rdoc
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.8.
|
33
|
+
version: 0.8.16
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.8.
|
40
|
+
version: 0.8.16
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: netrc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|