engineyard 2.3.3 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -122,6 +122,72 @@ describe "ey servers" do
122
122
  ]
123
123
  end
124
124
 
125
+ it "lists servers constrained to app servers" do
126
+ fast_ey %w[servers -c main -e giblets -qs --app-servers], :debug => false
127
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
128
+ ['app_master_hostname.compute-1.amazonaws.com', 'i-ddbbdd92', 'app_master' ],
129
+ ['app_hostname.compute-1.amazonaws.com', 'i-d2e3f1b9', 'app' ],
130
+ ]
131
+ end
132
+
133
+ it "lists servers constrained to db servers" do
134
+ fast_ey %w[servers -c main -e giblets -qs --db-servers], :debug => false
135
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
136
+ ['db_master_hostname.compute-1.amazonaws.com', 'i-d4cdddbf', 'db_master' ],
137
+ ['db_slave_1_hostname.compute-1.amazonaws.com', 'i-asdfasdfaj', 'db_slave', 'Slave I'],
138
+ ['db_slave_2_hostname.compute-1.amazonaws.com', 'i-asdfasdfaj', 'db_slave' ],
139
+ ]
140
+ end
141
+
142
+ it "lists servers constrained to db master" do
143
+ fast_ey %w[servers -c main -e giblets -qs --db-master], :debug => false
144
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
145
+ ['db_master_hostname.compute-1.amazonaws.com', 'i-d4cdddbf', 'db_master' ],
146
+ ]
147
+ end
148
+
149
+ it "lists servers constrained to db slaves" do
150
+ fast_ey %w[servers -c main -e giblets -qs --db-slaves], :debug => false
151
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
152
+ ['db_slave_1_hostname.compute-1.amazonaws.com', 'i-asdfasdfaj', 'db_slave', 'Slave I'],
153
+ ['db_slave_2_hostname.compute-1.amazonaws.com', 'i-asdfasdfaj', 'db_slave' ],
154
+ ]
155
+ end
156
+
157
+ it "lists servers constrained to utilities" do
158
+ fast_ey %w[servers -c main -e giblets -qs --utilities], :debug => false
159
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
160
+ ['util_fluffy_hostname.compute-1.amazonaws.com', 'i-80e3f1eb', 'util', 'fluffy' ],
161
+ ['util_rocky_hostname.compute-1.amazonaws.com', 'i-80etf1eb', 'util', 'rocky' ],
162
+ ]
163
+ end
164
+
165
+ it "lists servers constrained to utilities with names" do
166
+ fast_ey %w[servers -c main -e giblets -qs --utilities fluffy], :debug => false
167
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
168
+ ['util_fluffy_hostname.compute-1.amazonaws.com', 'i-80e3f1eb', 'util', 'fluffy' ],
169
+ ]
170
+ end
171
+
172
+ it "lists servers constrained to app servers and utilities" do
173
+ fast_ey %w[servers -c main -e giblets -qs --app --util], :debug => false
174
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
175
+ ['app_master_hostname.compute-1.amazonaws.com', 'i-ddbbdd92', 'app_master' ],
176
+ ['app_hostname.compute-1.amazonaws.com', 'i-d2e3f1b9', 'app' ],
177
+ ['util_fluffy_hostname.compute-1.amazonaws.com', 'i-80e3f1eb', 'util', 'fluffy' ],
178
+ ['util_rocky_hostname.compute-1.amazonaws.com', 'i-80etf1eb', 'util', 'rocky' ],
179
+ ]
180
+ end
181
+
182
+ it "lists servers constrained to app or util with name" do
183
+ fast_ey %w[servers -c main -e giblets -qs --app --util rocky], :debug => false
184
+ @out.split(/\n/).map {|x| x.split(/\t/) }.should == [
185
+ ['app_master_hostname.compute-1.amazonaws.com', 'i-ddbbdd92', 'app_master' ],
186
+ ['app_hostname.compute-1.amazonaws.com', 'i-d2e3f1b9', 'app' ],
187
+ ['util_rocky_hostname.compute-1.amazonaws.com', 'i-80etf1eb', 'util', 'rocky' ],
188
+ ]
189
+ end
190
+
125
191
  it "finds no servers with gibberish " do
126
192
  fast_failing_ey %w[servers --account main --environment gibberish]
127
193
  @err.should include('No environment found matching "gibberish"')
@@ -181,7 +181,7 @@ module SpecHelpers
181
181
 
182
182
  def extract_ssh_commands(output)
183
183
  raw_ssh_commands = [@out,@err].join("\n").split(/\n/).find_all do |line|
184
- line =~ /^bash -lc/ || line =~ /^ssh/
184
+ line =~ /^bash -lc/ || line =~ /^ssh/ || line =~ /^scp/
185
185
  end
186
186
 
187
187
  ssh_commands = raw_ssh_commands.map do |cmd|
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: engineyard
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Engine Yard Cloud Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-01 00:00:00.000000000 Z
11
+ date: 2014-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.6.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.6.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: highline
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.6.1
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
40
  version: 1.6.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: escape
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.0.4
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.0.4
55
55
  - !ruby/object:Gem::Dependency
@@ -70,210 +70,210 @@ dependencies:
70
70
  name: engineyard-cloud-client
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.16
75
+ version: 2.1.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.16
82
+ version: 2.1.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: net-ssh
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '2.7'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.7'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: launchy
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '2.1'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '2.1'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '2.0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2.0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 10.0.0
131
+ version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 10.0.0
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rdoc
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ! '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ! '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: fakeweb
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ! '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ! '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: fakeweb-matcher
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ! '>='
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ! '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: sinatra
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ! '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ! '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: realweb
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ~>
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
201
  version: 1.0.1
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ~>
206
+ - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: 1.0.1
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: open4
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - ~>
213
+ - - "~>"
214
214
  - !ruby/object:Gem::Version
215
215
  version: 1.0.1
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - ~>
220
+ - - "~>"
221
221
  - !ruby/object:Gem::Version
222
222
  version: 1.0.1
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: hashie
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - ! '>='
227
+ - - ">="
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - ! '>='
234
+ - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: gitable
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - ! '>='
241
+ - - ">="
242
242
  - !ruby/object:Gem::Version
243
243
  version: '0'
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ! '>='
248
+ - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: multi_json
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ! '>='
255
+ - - ">="
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ! '>='
262
+ - - ">="
263
263
  - !ruby/object:Gem::Version
264
264
  version: '0'
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: oj
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ! '>='
269
+ - - ">="
270
270
  - !ruby/object:Gem::Version
271
271
  version: '0'
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - ! '>='
276
+ - - ">="
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  description: This gem allows you to deploy your rails application to the Engine Yard
@@ -284,33 +284,38 @@ executables:
284
284
  extensions: []
285
285
  extra_rdoc_files: []
286
286
  files:
287
+ - LICENSE
288
+ - README.md
287
289
  - bin/ey
290
+ - lib/engineyard.rb
291
+ - lib/engineyard/cli.rb
288
292
  - lib/engineyard/cli/api.rb
289
293
  - lib/engineyard/cli/recipes.rb
290
294
  - lib/engineyard/cli/ui.rb
291
295
  - lib/engineyard/cli/web.rb
292
- - lib/engineyard/cli.rb
293
296
  - lib/engineyard/config.rb
294
- - lib/engineyard/deploy_config/ref.rb
295
297
  - lib/engineyard/deploy_config.rb
298
+ - lib/engineyard/deploy_config/ref.rb
296
299
  - lib/engineyard/error.rb
297
300
  - lib/engineyard/eyrc.rb
298
301
  - lib/engineyard/repo.rb
299
302
  - lib/engineyard/serverside_runner.rb
303
+ - lib/engineyard/templates.rb
300
304
  - lib/engineyard/templates/ey.yml.erb
301
305
  - lib/engineyard/templates/ey_yml.rb
302
- - lib/engineyard/templates.rb
303
306
  - lib/engineyard/thor.rb
304
307
  - lib/engineyard/version.rb
305
- - lib/engineyard.rb
306
308
  - lib/vendor/thor/Gemfile
309
+ - lib/vendor/thor/LICENSE.md
310
+ - lib/vendor/thor/README.md
311
+ - lib/vendor/thor/lib/thor.rb
312
+ - lib/vendor/thor/lib/thor/actions.rb
307
313
  - lib/vendor/thor/lib/thor/actions/create_file.rb
308
314
  - lib/vendor/thor/lib/thor/actions/create_link.rb
309
315
  - lib/vendor/thor/lib/thor/actions/directory.rb
310
316
  - lib/vendor/thor/lib/thor/actions/empty_directory.rb
311
317
  - lib/vendor/thor/lib/thor/actions/file_manipulation.rb
312
318
  - lib/vendor/thor/lib/thor/actions/inject_into_file.rb
313
- - lib/vendor/thor/lib/thor/actions.rb
314
319
  - lib/vendor/thor/lib/thor/base.rb
315
320
  - lib/vendor/thor/lib/thor/command.rb
316
321
  - lib/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb
@@ -319,25 +324,20 @@ files:
319
324
  - lib/vendor/thor/lib/thor/error.rb
320
325
  - lib/vendor/thor/lib/thor/group.rb
321
326
  - lib/vendor/thor/lib/thor/invocation.rb
327
+ - lib/vendor/thor/lib/thor/parser.rb
322
328
  - lib/vendor/thor/lib/thor/parser/argument.rb
323
329
  - lib/vendor/thor/lib/thor/parser/arguments.rb
324
330
  - lib/vendor/thor/lib/thor/parser/option.rb
325
331
  - lib/vendor/thor/lib/thor/parser/options.rb
326
- - lib/vendor/thor/lib/thor/parser.rb
327
332
  - lib/vendor/thor/lib/thor/rake_compat.rb
328
333
  - lib/vendor/thor/lib/thor/runner.rb
334
+ - lib/vendor/thor/lib/thor/shell.rb
329
335
  - lib/vendor/thor/lib/thor/shell/basic.rb
330
336
  - lib/vendor/thor/lib/thor/shell/color.rb
331
337
  - lib/vendor/thor/lib/thor/shell/html.rb
332
- - lib/vendor/thor/lib/thor/shell.rb
333
338
  - lib/vendor/thor/lib/thor/util.rb
334
339
  - lib/vendor/thor/lib/thor/version.rb
335
- - lib/vendor/thor/lib/thor.rb
336
- - lib/vendor/thor/LICENSE.md
337
- - lib/vendor/thor/README.md
338
340
  - lib/vendor/thor/thor.gemspec
339
- - LICENSE
340
- - README.md
341
341
  - spec/engineyard/cli/api_spec.rb
342
342
  - spec/engineyard/cli_spec.rb
343
343
  - spec/engineyard/config_spec.rb
@@ -357,6 +357,7 @@ files:
357
357
  - spec/ey/recipes/download_spec.rb
358
358
  - spec/ey/recipes/upload_spec.rb
359
359
  - spec/ey/rollback_spec.rb
360
+ - spec/ey/scp_spec.rb
360
361
  - spec/ey/servers_spec.rb
361
362
  - spec/ey/ssh_spec.rb
362
363
  - spec/ey/status_spec.rb
@@ -377,29 +378,38 @@ homepage: http://github.com/engineyard/engineyard
377
378
  licenses:
378
379
  - MIT
379
380
  metadata: {}
380
- post_install_message: ! "Thanks for installing the engineyard gem!\n\nNeed help? Problem?
381
- https://support.cloud.engineyard.com\nNot working? Uninstall this version to downgrade.\n\nIMPORTANT:\n
382
- \ Please verify eydeploy.rb files in staging after upgrading!\n Internals frequently
383
- change that could break eydeploy.rb.\n\nGetting started:\n 1. Run `ey init` to
384
- generate an annotated config file.\n 2. Review the ey.yml file and commit it to
385
- your repository.\n 3. Run `ey deploy` when you're ready to deploy.\nThe Engine
386
- Yard Pandas want to help you!\nEmail pandas@engineyard.com with your questions.\n"
381
+ post_install_message: |
382
+ Thanks for installing the engineyard gem!
383
+
384
+ Need help? Problem? https://support.cloud.engineyard.com
385
+ Not working? Uninstall this version to downgrade.
386
+
387
+ IMPORTANT:
388
+ Please verify eydeploy.rb files in staging after upgrading!
389
+ Internals frequently change that could break eydeploy.rb.
390
+
391
+ Getting started:
392
+ 1. Run `ey init` to generate an annotated config file.
393
+ 2. Review the ey.yml file and commit it to your repository.
394
+ 3. Run `ey deploy` when you're ready to deploy.
395
+ The Engine Yard Pandas want to help you!
396
+ Email pandas@engineyard.com with your questions.
387
397
  rdoc_options: []
388
398
  require_paths:
389
399
  - lib
390
400
  required_ruby_version: !ruby/object:Gem::Requirement
391
401
  requirements:
392
- - - ! '>='
402
+ - - ">="
393
403
  - !ruby/object:Gem::Version
394
- version: '0'
404
+ version: 1.9.3
395
405
  required_rubygems_version: !ruby/object:Gem::Requirement
396
406
  requirements:
397
- - - ! '>='
407
+ - - ">="
398
408
  - !ruby/object:Gem::Version
399
409
  version: '0'
400
410
  requirements: []
401
411
  rubyforge_project:
402
- rubygems_version: 2.1.10
412
+ rubygems_version: 2.2.2
403
413
  signing_key:
404
414
  specification_version: 4
405
415
  summary: Command-line deployment for the Engine Yard cloud
@@ -423,6 +433,7 @@ test_files:
423
433
  - spec/ey/recipes/download_spec.rb
424
434
  - spec/ey/recipes/upload_spec.rb
425
435
  - spec/ey/rollback_spec.rb
436
+ - spec/ey/scp_spec.rb
426
437
  - spec/ey/servers_spec.rb
427
438
  - spec/ey/ssh_spec.rb
428
439
  - spec/ey/status_spec.rb