vagrant-openstack-provider 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9022e93970b0f478724dc90c2ca175f58fb01709
4
- data.tar.gz: fd7fdb5c1d26754414d7ef0fcf090c4262e8a355
3
+ metadata.gz: 4dd7cf830eecfb15611665ed53da19db9cd5bab5
4
+ data.tar.gz: 1b5bce071291bc0af764f91933b839803ee3f4c7
5
5
  SHA512:
6
- metadata.gz: e0f29d5cda71ac448c6bd089aec587a05d0affed2dc2dbcd0df39af8e16e9ba2651a69720907d67047203d3c3e21493a5d06c4e19944a699bb975b2662556d21
7
- data.tar.gz: 0347baa297f56ded5ffb9eeffd081808763cb63ec079803ab158616cc867a25036c79392c4a4c929673be1d41ad36e779cccad71529a7d37362c3c9a8201a070
6
+ metadata.gz: b95d4b1ccc79200bcd97f7a189e21768b214b3f50056d77ff53c83d7581b31c3d23a3e9d343f7023b37a31e8128a65cf6303c7315af3f3f00906286e634145c5
7
+ data.tar.gz: 2f071db27ddf020cb30cbf15bbcb7e11e0944dcf63572418c6fc3ce751d4080da54931172424fc88dc2aacf7fb7011ec8f6cedf17278ed7793e11f770d257e96
@@ -1,4 +1,27 @@
1
- # 0.7.0 (August, 10, 2015)
1
+ # 0.7.2 (May 1, 2016)
2
+
3
+ IMPROVEMENTS:
4
+
5
+ - Allow status and ssh to run without a lock #282
6
+ - Switch to standard WaitForCommunicator middleware #281
7
+
8
+ BUG FIXES:
9
+
10
+ - Run provisioner cleanup when destroying VMs #272
11
+ - Windows host provisioning using Winrm #264
12
+ - Use only provided ssh key and don't touch the known_hosts #259
13
+ - Fix hooks for provisioners #248, #249, #28
14
+ - Support standard option config.vm.boot_timeout #227
15
+
16
+ # 0.7.1 (February 19, 2016)
17
+
18
+ BUG FIXES:
19
+
20
+ - Fix dependency to make it work with Vagrant 1.8 #265, #266 , #268
21
+ - Fix heat stack create when multiple machines are declared #260
22
+ - Fix regression, vagrant provision was broken #240
23
+
24
+ # 0.7.0 (August 10, 2015)
2
25
 
3
26
  FEATURES:
4
27
 
data/Gemfile CHANGED
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development do
6
- gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git', tag: 'v1.7.4'
6
+ gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git', tag: 'v1.8.1'
7
7
  gem 'appraisal', '1.0.0'
8
8
  gem 'rubocop', '0.29.0', require: false
9
9
  gem 'coveralls', require: false
@@ -4,6 +4,7 @@ Vagrant.configure('2') do |config|
4
4
 
5
5
  config.vm.box = 'openstack'
6
6
  config.vm.box_url = 'https://github.com/ggiamarchi/vagrant-openstack/raw/master/source/dummy.box'
7
+ config.vm.boot_timeout = ENV['OS_SSH_TIMEOUT'].to_i
7
8
 
8
9
  config.ssh.private_key_path = ENV['OS_KEYPAIR_PRIVATE_KEY']
9
10
  config.ssh.pty = true
@@ -16,7 +17,6 @@ Vagrant.configure('2') do |config|
16
17
  os.openstack_compute_url = ENV['OS_COMPUTE_URL']
17
18
  os.openstack_network_url = ENV['OS_NETWORK_URL']
18
19
  os.tenant_name = ENV['OS_TENANT_NAME']
19
- os.ssh_timeout = ENV['OS_SSH_TIMEOUT'].to_i
20
20
  os.sync_method = ENV['OS_SYNC_METHOD']
21
21
  os.flavor = ENV['OS_FLAVOR']
22
22
  os.image = ENV['OS_IMAGE']
@@ -17,6 +17,7 @@ module VagrantPlugins
17
17
  if env[:machine_state_id] == :not_created
18
18
  b2.use Message, I18n.t('vagrant_openstack.not_created')
19
19
  else
20
+ b2.use(ProvisionerCleanup, :before)
20
21
  b2.use DeleteServer
21
22
  b2.use DeleteStack
22
23
  end
@@ -33,7 +34,11 @@ module VagrantPlugins
33
34
  if env[:machine_state_id] == :not_created
34
35
  b2.use Message, I18n.t('vagrant_openstack.not_created')
35
36
  else
36
- b2.use ProvisionWrapper
37
+ if env[:machine].provider_config.meta_args_support
38
+ b2.use ProvisionWrapper
39
+ else
40
+ b2.use Provision
41
+ end
37
42
  b2.use SyncFolders
38
43
  end
39
44
  end
@@ -99,12 +104,27 @@ module VagrantPlugins
99
104
  case env[:machine_state_id]
100
105
  when :not_created
101
106
  ssh_disabled = env[:machine].provider_config.ssh_disabled
102
- b2.use ProvisionWrapper unless ssh_disabled
107
+ unless ssh_disabled
108
+ if env[:machine].provider_config.meta_args_support
109
+ b2.use ProvisionWrapper
110
+ else
111
+ b2.use Provision
112
+ end
113
+ end
103
114
  b2.use SyncFolders
104
115
  b2.use CreateStack
105
116
  b2.use CreateServer
106
117
  b2.use Message, I18n.t('vagrant_openstack.ssh_disabled_provisioning') if ssh_disabled
107
- b2.use WaitForServerToBeAccessible unless ssh_disabled
118
+ unless ssh_disabled
119
+ # Handle legacy ssh_timeout option
120
+ timeout = env[:machine].provider_config.ssh_timeout
121
+ unless timeout.nil?
122
+ env[:machine].ui.warn I18n.t('vagrant_openstack.config.ssh_timeout_deprecated')
123
+ env[:machine].config.vm.boot_timeout = timeout
124
+ end
125
+
126
+ b2.use WaitForCommunicator
127
+ end
108
128
  when :shutoff
109
129
  b2.use StartServer
110
130
  when :suspended
@@ -215,7 +235,6 @@ module VagrantPlugins
215
235
  autoload :ProvisionWrapper, action_root.join('provision')
216
236
  autoload :WaitForServerToStop, action_root.join('wait_stop')
217
237
  autoload :WaitForServerToBeActive, action_root.join('wait_active')
218
- autoload :WaitForServerToBeAccessible, action_root.join('wait_accessible')
219
238
 
220
239
  private
221
240
 
@@ -82,6 +82,15 @@ module VagrantPlugins
82
82
  incls << incl
83
83
  end
84
84
 
85
+ # Create ssh params for rsync
86
+ # we need them as one string because rsync -e expects one string
87
+ ssh_params = [
88
+ "ssh -p #{ssh_info[:port]}",
89
+ '-o StrictHostKeyChecking=no',
90
+ '-o UserKnownHostsFile=/dev/null',
91
+ '-o IdentitiesOnly=yes',
92
+ "#{ssh_key_options(ssh_info)}"].join(' ')
93
+
85
94
  # Rsync over to the guest path using the SSH info. add
86
95
  # .hg/ and .git/ to exclude list as that isn't covered in
87
96
  # --cvs-exclude
@@ -92,7 +101,7 @@ module VagrantPlugins
92
101
  '--exclude', '.git/',
93
102
  '--chmod', 'ugo=rwX',
94
103
  *includes,
95
- '-e', "ssh -p #{ssh_info[:port]} -o StrictHostKeyChecking=no #{ssh_key_options(ssh_info)}",
104
+ '-e', ssh_params,
96
105
  hostpath,
97
106
  "#{ssh_info[:username]}@#{ssh_info[:host]}:#{guestpath}"]
98
107
  command.compact!
@@ -73,8 +73,9 @@ module VagrantPlugins
73
73
  # @return [String]
74
74
  attr_accessor :ssh_username
75
75
 
76
- # The SSH timeout use after server creation. If server startup is too long
77
- # the timeout value can be increase with this variable. Default is 60 seconds
76
+ # The SSH timeout use after server creation.
77
+ #
78
+ # Deprecated. Use config.vm.boot_timeout instead.
78
79
  #
79
80
  # @return [Integer]
80
81
  attr_accessor :ssh_timeout
@@ -194,6 +195,10 @@ module VagrantPlugins
194
195
  # @return [HttpConfig]
195
196
  attr_accessor :http
196
197
 
198
+ #
199
+ # @return [Boolean]
200
+ attr_accessor :meta_args_support
201
+
197
202
  def initialize
198
203
  @password = UNSET_VALUE
199
204
  @openstack_compute_url = UNSET_VALUE
@@ -235,6 +240,7 @@ module VagrantPlugins
235
240
  @server_delete_timeout = UNSET_VALUE
236
241
  @stack_create_timeout = UNSET_VALUE
237
242
  @stack_delete_timeout = UNSET_VALUE
243
+ @meta_args_support = UNSET_VALUE
238
244
  @http = HttpConfig.new
239
245
  end
240
246
 
@@ -309,15 +315,17 @@ module VagrantPlugins
309
315
  @ssh_disabled = false if @ssh_disabled == UNSET_VALUE
310
316
 
311
317
  # The SSH values by default are nil, and the top-level config
312
- # `config.ssh` values are used.
318
+ # `config.ssh` and `config.vm.boot_timeout` values are used.
313
319
  @ssh_username = nil if @ssh_username == UNSET_VALUE
314
- @ssh_timeout = 180 if @ssh_timeout == UNSET_VALUE
320
+ @ssh_timeout = nil if @ssh_timeout == UNSET_VALUE
321
+
315
322
  @server_create_timeout = 200 if @server_create_timeout == UNSET_VALUE
316
323
  @server_active_timeout = 200 if @server_active_timeout == UNSET_VALUE
317
324
  @server_stop_timeout = 200 if @server_stop_timeout == UNSET_VALUE
318
325
  @server_delete_timeout = 200 if @server_delete_timeout == UNSET_VALUE
319
326
  @stack_create_timeout = 200 if @stack_create_timeout == UNSET_VALUE
320
327
  @stack_delete_timeout = 200 if @stack_delete_timeout == UNSET_VALUE
328
+ @meta_args_support = false if @meta_args_support == UNSET_VALUE
321
329
  @networks = nil if @networks.empty?
322
330
  @volumes = nil if @volumes.empty?
323
331
  @stacks = nil if @stacks.empty?
@@ -22,7 +22,7 @@ module VagrantPlugins
22
22
  # Run a custom action called "read_ssh_info" which does what it
23
23
  # says and puts the resulting SSH info into the `:machine_ssh_info`
24
24
  # key in the environment.
25
- env = @machine.action('read_ssh_info')
25
+ env = @machine.action('read_ssh_info', lock: false)
26
26
  env[:machine_ssh_info]
27
27
  end
28
28
 
@@ -30,7 +30,7 @@ module VagrantPlugins
30
30
  # Run a custom action we define called "read_state" which does
31
31
  # what it says. It puts the state in the `:machine_state_id`
32
32
  # key in the environment.
33
- env = @machine.action('read_state')
33
+ env = @machine.action('read_state', lock: false)
34
34
 
35
35
  state_id = env[:machine_state_id]
36
36
 
@@ -4,7 +4,7 @@ module VagrantPlugins
4
4
  # Stable versions must respect the pattern given
5
5
  # by VagrantPlugins::Openstack::VERSION_PATTERN
6
6
  #
7
- VERSION = '0.7.1'
7
+ VERSION = '0.7.2'
8
8
 
9
9
  #
10
10
  # Stable version must respect the naming convention 'x.y.z'
@@ -132,6 +132,10 @@ en:
132
132
  standard vagrant configuration option `config.ssh.username` instead
133
133
  ssh_username_required: |-
134
134
  vagrant standard configuration option `ssh.username` is required
135
+ ssh_timeout_deprecated: |-
136
+ ssh_timeout provider config is deprecated for vagrant-openstack provider.
137
+ If you are using it, it will continue to work but we recommend switching
138
+ to the standard vagrant configuration option `config.vm.boot_timeout`.
135
139
  invalid_value_for_parameter: |-
136
140
  Invalid value '%{value}' for parameter '%{parameter}'
137
141
 
@@ -111,7 +111,7 @@ describe VagrantPlugins::Openstack::Action::SyncFolders do
111
111
  '--chmod',
112
112
  'ugo=rwX',
113
113
  '-e',
114
- "ssh -p 23 -o StrictHostKeyChecking=no -i '/tmp/key.pem' ",
114
+ "ssh -p 23 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -i '/tmp/key.pem' ",
115
115
  '/home/john/vagrant/',
116
116
  'user@1.2.3.4:/vagrant',
117
117
  '--exclude-from',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-openstack-provider
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guillaume Giamarchi
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-02-19 00:00:00.000000000 Z
12
+ date: 2016-04-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -29,14 +29,14 @@ dependencies:
29
29
  name: rest-client
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
34
  version: 1.6.0
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: 1.6.0
42
42
  - !ruby/object:Gem::Dependency
@@ -85,84 +85,84 @@ dependencies:
85
85
  name: rake
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - '>='
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rspec
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ~>
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
104
  version: 3.1.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ~>
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
111
  version: 3.1.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rspec-its
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ~>
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
118
  version: 1.0.1
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ~>
123
+ - - "~>"
124
124
  - !ruby/object:Gem::Version
125
125
  version: 1.0.1
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: rspec-expectations
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - ~>
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
132
  version: 3.1.2
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ~>
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
139
  version: 3.1.2
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: webmock
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - ~>
144
+ - - "~>"
145
145
  - !ruby/object:Gem::Version
146
146
  version: 1.18.0
147
147
  type: :development
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
- - - ~>
151
+ - - "~>"
152
152
  - !ruby/object:Gem::Version
153
153
  version: 1.18.0
154
154
  - !ruby/object:Gem::Dependency
155
155
  name: fakefs
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - ~>
158
+ - - "~>"
159
159
  - !ruby/object:Gem::Version
160
160
  version: 0.5.2
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
- - - ~>
165
+ - - "~>"
166
166
  - !ruby/object:Gem::Version
167
167
  version: 0.5.2
168
168
  description: Enables Vagrant to manage machines in OpenStack Cloud.
@@ -173,8 +173,8 @@ executables: []
173
173
  extensions: []
174
174
  extra_rdoc_files: []
175
175
  files:
176
- - .gitignore
177
- - .rubocop.yml
176
+ - ".gitignore"
177
+ - ".rubocop.yml"
178
178
  - CHANGELOG.md
179
179
  - Gemfile
180
180
  - LICENSE
@@ -205,7 +205,6 @@ files:
205
205
  - lib/vagrant-openstack-provider/action/stop_server.rb
206
206
  - lib/vagrant-openstack-provider/action/suspend.rb
207
207
  - lib/vagrant-openstack-provider/action/sync_folders.rb
208
- - lib/vagrant-openstack-provider/action/wait_accessible.rb
209
208
  - lib/vagrant-openstack-provider/action/wait_active.rb
210
209
  - lib/vagrant-openstack-provider/action/wait_stop.rb
211
210
  - lib/vagrant-openstack-provider/catalog/openstack_catalog.rb
@@ -256,7 +255,6 @@ files:
256
255
  - spec/vagrant-openstack-provider/action/stop_server_spec.rb
257
256
  - spec/vagrant-openstack-provider/action/suspend_server_spec.rb
258
257
  - spec/vagrant-openstack-provider/action/sync_folders_spec.rb
259
- - spec/vagrant-openstack-provider/action/wait_accessible_spec.rb
260
258
  - spec/vagrant-openstack-provider/action/wait_active_spec.rb
261
259
  - spec/vagrant-openstack-provider/action/wait_stop_spec.rb
262
260
  - spec/vagrant-openstack-provider/action_spec.rb
@@ -293,17 +291,17 @@ require_paths:
293
291
  - lib
294
292
  required_ruby_version: !ruby/object:Gem::Requirement
295
293
  requirements:
296
- - - '>='
294
+ - - ">="
297
295
  - !ruby/object:Gem::Version
298
296
  version: '0'
299
297
  required_rubygems_version: !ruby/object:Gem::Requirement
300
298
  requirements:
301
- - - '>='
299
+ - - ">="
302
300
  - !ruby/object:Gem::Version
303
301
  version: '0'
304
302
  requirements: []
305
303
  rubyforge_project:
306
- rubygems_version: 2.0.14
304
+ rubygems_version: 2.4.5.1
307
305
  signing_key:
308
306
  specification_version: 4
309
307
  summary: Enables Vagrant to manage machines in OpenStack Cloud.
@@ -322,7 +320,6 @@ test_files:
322
320
  - spec/vagrant-openstack-provider/action/stop_server_spec.rb
323
321
  - spec/vagrant-openstack-provider/action/suspend_server_spec.rb
324
322
  - spec/vagrant-openstack-provider/action/sync_folders_spec.rb
325
- - spec/vagrant-openstack-provider/action/wait_accessible_spec.rb
326
323
  - spec/vagrant-openstack-provider/action/wait_active_spec.rb
327
324
  - spec/vagrant-openstack-provider/action/wait_stop_spec.rb
328
325
  - spec/vagrant-openstack-provider/action_spec.rb
@@ -1,61 +0,0 @@
1
- require 'log4r'
2
-
3
- module VagrantPlugins
4
- module Openstack
5
- module Action
6
- class WaitForServerToBeAccessible < AbstractAction
7
- def initialize(app, env, resolver = nil, ssh = nil)
8
- @logger = Log4r::Logger.new('vagrant_openstack::action::wait_accessible')
9
- @app = app
10
- @ssh = ssh || Vagrant::Action::Builtin::SSHRun.new(app, env)
11
- @resolver = resolver || VagrantPlugins::Openstack::ConfigResolver.new
12
- end
13
-
14
- def execute(env)
15
- waiting_for_server_to_be_reachable(env)
16
- @logger.info 'The server is ready'
17
- env[:ui].info(I18n.t('vagrant_openstack.ready'))
18
- @app.call(env)
19
- end
20
-
21
- private
22
-
23
- def waiting_for_server_to_be_reachable(env)
24
- return if env[:interrupted]
25
- ssh_timeout = env[:machine].provider_config.ssh_timeout
26
- return if server_is_reachable?(env, ssh_timeout)
27
- env[:ui].error(I18n.t('vagrant_openstack.timeout'))
28
- fail Errors::SshUnavailable, host: @resolver.resolve_floating_ip(env), timeout: ssh_timeout
29
- end
30
-
31
- def server_is_reachable?(env, timeout)
32
- start_time = Time.now
33
- current_time = start_time
34
- nb_retry = 0
35
-
36
- while (current_time - start_time) <= timeout
37
- @logger.debug "Checking if SSH port is open... Attempt number #{nb_retry}"
38
- if nb_retry % 5 == 0
39
- @logger.info 'Waiting for SSH to become available...'
40
- env[:ui].info(I18n.t('vagrant_openstack.waiting_for_ssh'))
41
- end
42
-
43
- env[:ssh_run_command] = 'exit 0'
44
- env[:ssh_opts] = {
45
- extra_args: ['-o', 'BatchMode=yes']
46
- }
47
- @ssh.call(env)
48
- return true if env[:ssh_run_exit_status] == 0
49
-
50
- @logger.debug 'SSH not yet available... new retry in in 1 second'
51
- nb_retry += 1
52
- sleep 1
53
- current_time = Time.now
54
- end
55
-
56
- false
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,67 +0,0 @@
1
- require 'vagrant-openstack-provider/spec_helper'
2
-
3
- describe VagrantPlugins::Openstack::Action::WaitForServerToBeAccessible do
4
- let(:config) do
5
- double('config')
6
- end
7
-
8
- let(:env) do
9
- {}.tap do |env|
10
- env[:ui] = double('ui')
11
- env[:ui].stub(:info).with(anything)
12
- env[:ui].stub(:error).with(anything)
13
- env[:machine] = double('machine').tap do |m|
14
- m.stub(:provider_config) { config }
15
- end
16
- end
17
- end
18
-
19
- let(:resolver) do
20
- double('resolver').tap do |r|
21
- r.stub(:resolve_floating_ip).with(anything) { '1.2.3.4' }
22
- end
23
- end
24
-
25
- let(:ssh) do
26
- double('shh')
27
- end
28
-
29
- let(:app) do
30
- double('app').tap do |app|
31
- app.stub(:call).with(anything)
32
- end
33
- end
34
-
35
- class SSHMock
36
- def initialize(*exit_codes)
37
- @times = 0
38
- @exit_codes = exit_codes
39
- end
40
-
41
- def call(env)
42
- env[:ssh_run_exit_status] = @exit_codes[@times]
43
- @times += 1
44
- end
45
- end
46
-
47
- describe 'call' do
48
- context 'when server is not yet reachable' do
49
- it 'retry until server is reachable' do
50
- config.stub(:ssh_timeout) { 2 }
51
- expect(app).to receive(:call)
52
-
53
- @action = WaitForServerToBeAccessible.new(app, nil, resolver, SSHMock.new(1, 0))
54
- @action.call(env)
55
- end
56
- end
57
- context 'when server is not yet reachable after timeout' do
58
- it 'raise an error' do
59
- config.stub(:ssh_timeout) { 1 }
60
- expect(app).should_not_receive(:call)
61
-
62
- @action = WaitForServerToBeAccessible.new(app, nil, resolver, SSHMock.new(1, 1))
63
- expect { @action.call(env) }.to raise_error Errors::SshUnavailable
64
- end
65
- end
66
- end
67
- end