vagrant-rimu 0.0.2 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +3 -2
  3. data/.gitignore +2 -0
  4. data/.travis.yml +5 -35
  5. data/Gemfile +4 -2
  6. data/README.md +13 -4
  7. data/Rakefile +6 -3
  8. data/Vagrantfile +5 -0
  9. data/gemfiles/vagrant_1.5.gemfile +3 -1
  10. data/gemfiles/vagrant_1.6.gemfile +5 -3
  11. data/gemfiles/vagrant_1.7.gemfile +10 -8
  12. data/lib/vagrant-rimu/actions.rb +102 -80
  13. data/lib/vagrant-rimu/actions/abstract_action.rb +20 -0
  14. data/lib/vagrant-rimu/actions/billing_methods.rb +11 -4
  15. data/lib/vagrant-rimu/actions/connect_to_rimu.rb +12 -6
  16. data/lib/vagrant-rimu/actions/create.rb +24 -5
  17. data/lib/vagrant-rimu/actions/is_created.rb +4 -2
  18. data/lib/vagrant-rimu/actions/is_stopped.rb +5 -3
  19. data/lib/vagrant-rimu/actions/list_distributions.rb +11 -4
  20. data/lib/vagrant-rimu/actions/list_servers.rb +11 -6
  21. data/lib/vagrant-rimu/actions/message_action_not_supported.rb +19 -0
  22. data/lib/vagrant-rimu/actions/message_already_created.rb +4 -2
  23. data/lib/vagrant-rimu/actions/message_already_off.rb +4 -2
  24. data/lib/vagrant-rimu/actions/message_not_created.rb +4 -2
  25. data/lib/vagrant-rimu/actions/message_will_not_destroy.rb +4 -2
  26. data/lib/vagrant-rimu/actions/message_will_not_stop.rb +19 -0
  27. data/lib/vagrant-rimu/actions/modify_provision_path.rb +5 -3
  28. data/lib/vagrant-rimu/actions/move.rb +31 -4
  29. data/lib/vagrant-rimu/actions/read_ssh_info.rb +8 -5
  30. data/lib/vagrant-rimu/actions/read_state.rb +12 -4
  31. data/lib/vagrant-rimu/actions/rebuild.rb +33 -5
  32. data/lib/vagrant-rimu/actions/reload.rb +10 -3
  33. data/lib/vagrant-rimu/actions/setup_sudo.rb +15 -8
  34. data/lib/vagrant-rimu/actions/setup_user.rb +44 -30
  35. data/lib/vagrant-rimu/actions/ssh_utils.rb +44 -0
  36. data/lib/vagrant-rimu/actions/start_instance.rb +4 -2
  37. data/lib/vagrant-rimu/actions/stop_instance.rb +16 -6
  38. data/lib/vagrant-rimu/actions/terminate_instance.rb +10 -4
  39. data/lib/vagrant-rimu/commands/abstract_command.rb +47 -0
  40. data/lib/vagrant-rimu/commands/billing_methods.rb +10 -10
  41. data/lib/vagrant-rimu/commands/distributions.rb +10 -10
  42. data/lib/vagrant-rimu/commands/list_servers.rb +10 -10
  43. data/lib/vagrant-rimu/commands/move.rb +10 -10
  44. data/lib/vagrant-rimu/commands/rebuild.rb +5 -7
  45. data/lib/vagrant-rimu/commands/rimu_command.rb +13 -0
  46. data/lib/vagrant-rimu/commands/root.rb +26 -43
  47. data/lib/vagrant-rimu/commands/utils.rb +22 -0
  48. data/lib/vagrant-rimu/config.rb +3 -2
  49. data/lib/vagrant-rimu/errors.rb +4 -0
  50. data/lib/vagrant-rimu/plugin.rb +1 -1
  51. data/lib/vagrant-rimu/provider.rb +1 -1
  52. data/lib/vagrant-rimu/version.rb +1 -1
  53. data/locales/en.yml +70 -19
  54. data/spec/spec_helper.rb +1 -1
  55. data/spec/vagrant-rimu/actions/billing_methods_spec.rb +4 -4
  56. data/spec/vagrant-rimu/actions/connect_to_rimu_spec.rb +2 -1
  57. data/spec/vagrant-rimu/actions/create_spec.rb +167 -0
  58. data/spec/vagrant-rimu/actions/is_created_spec.rb +1 -1
  59. data/spec/vagrant-rimu/actions/is_stopped_spec.rb +2 -2
  60. data/spec/vagrant-rimu/actions/list_distributions_spec.rb +4 -4
  61. data/spec/vagrant-rimu/actions/list_servers_spec.rb +4 -4
  62. data/spec/vagrant-rimu/actions/message_action_not_supported_spec.rb +30 -0
  63. data/spec/vagrant-rimu/actions/message_already_created_spec.rb +1 -4
  64. data/spec/vagrant-rimu/actions/message_will_not_destroy_spec.rb +1 -2
  65. data/spec/vagrant-rimu/actions/message_will_not_stop_spec.rb +35 -0
  66. data/spec/vagrant-rimu/actions/move_spec.rb +75 -0
  67. data/spec/vagrant-rimu/actions/read_ssh_info_spec.rb +8 -0
  68. data/spec/vagrant-rimu/actions/rebuild_spec.rb +7 -1
  69. data/spec/vagrant-rimu/actions/stop_instance_spec.rb +4 -4
  70. data/spec/vagrant-rimu/commands/billing_methods_spec.rb +17 -0
  71. data/spec/vagrant-rimu/commands/distributions_spec.rb +17 -0
  72. data/spec/vagrant-rimu/commands/list_servers_spec.rb +17 -0
  73. data/spec/vagrant-rimu/commands/move_spec.rb +17 -0
  74. data/spec/vagrant-rimu/commands/rebuild_spec.rb +20 -0
  75. data/test/Vagrantfile +4 -2
  76. data/vagrant-rimu.gemspec +3 -1
  77. metadata +48 -6
@@ -6,6 +6,7 @@ require 'spec_helper'
6
6
 
7
7
  describe VagrantPlugins::Rimu::Actions::Rebuild do
8
8
  let(:ssh) { double('ssh') }
9
+ let(:root_path) { '.' }
9
10
  let(:servers) { double('servers') }
10
11
  let(:machine) { double('machine') }
11
12
  let(:reinstall) { double('reinstall') }
@@ -28,6 +29,7 @@ describe VagrantPlugins::Rimu::Actions::Rebuild do
28
29
  config.stub(:setup?) { true }
29
30
  ssh.stub(:username) { 'rimu' }
30
31
  ssh.stub(:username=) { 'rimu' }
32
+ ssh.stub(:password=).with(anything)
31
33
  ssh.stub(:private_key_path) { 'test/test_rimu_id_rsa' }
32
34
  config.stub(:ssh) { ssh }
33
35
  end
@@ -43,10 +45,13 @@ describe VagrantPlugins::Rimu::Actions::Rebuild do
43
45
  servers.stub(:reinstall) { reinstall }
44
46
  os.stub(:servers) { servers }
45
47
  end
48
+ env.stub(:root_path) { root_path }
46
49
  machine.stub(:id) { id }
50
+ machine.stub(:env) { env }
47
51
  env[:machine] = machine
48
52
  env[:machine].stub(:config) { config }
49
53
  env[:machine].stub(:provider_config) { config }
54
+ communicate.stub(:execute).with(anything)
50
55
  communicate.stub(:ready?) { true }
51
56
  env[:machine].stub(:communicate) { communicate }
52
57
  end
@@ -62,6 +67,7 @@ describe VagrantPlugins::Rimu::Actions::Rebuild do
62
67
  context 'when vps_to_clone option is not set' do
63
68
  it 'reinstall the server using instantiation_options' do
64
69
  # env.stub(:interrupted) { false }
70
+ root_passwd = Digest::SHA2.new.update('foo').to_s
65
71
  expect(env[:machine].provider_config).to receive(:setup?)
66
72
  expect(env[:machine].communicate).to receive(:ready?)
67
73
  expect(env[:machine].config.ssh).to receive(:username=).with(ssh.username)
@@ -70,7 +76,7 @@ describe VagrantPlugins::Rimu::Actions::Rebuild do
70
76
  {
71
77
  :instantiation_options=> {
72
78
  :domain_name=>config.host_name,
73
- :password=>nil,
79
+ :password=>root_passwd,
74
80
  :distro=>nil,
75
81
  :control_panel=>nil
76
82
  },
@@ -33,9 +33,9 @@ describe VagrantPlugins::Rimu::Actions::StopInstance do
33
33
  end
34
34
 
35
35
  describe 'call' do
36
- context 'when server state id is not :stopped' do
36
+ context 'when server state id is not :off' do
37
37
  it 'stops the server' do
38
- state.stub(:id) { :running }
38
+ state.stub(:id) { :active }
39
39
  env[:machine].stub(:state) { state }
40
40
  expect(env[:rimu_api].servers).to receive(:shutdown).with(id.to_i)
41
41
  expect(app).to receive(:call)
@@ -43,9 +43,9 @@ describe VagrantPlugins::Rimu::Actions::StopInstance do
43
43
  @action.call(env)
44
44
  end
45
45
  end
46
- context 'when server id is :stopped' do
46
+ context 'when server id is :off' do
47
47
  it 'does nothing' do
48
- state.stub(:id) { :stopped }
48
+ state.stub(:id) { :off }
49
49
  env[:machine].stub(:state) { state }
50
50
  expect(env[:rimu_api].servers).to_not receive(:shutdown)
51
51
  expect(app).to receive(:call)
@@ -1,4 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::Rimu::Commands::BillingMethods do
4
+ let(:machine) { double('machine') }
5
+
6
+ let(:env) do
7
+ {}.tap do |env|
8
+ machine.stub(:action).with('billing_methods') { 1 }
9
+ env[:machine] = machine
10
+ end
11
+ end
12
+
13
+ before :each do
14
+ @billing_methods_cmd = VagrantPlugins::Rimu::Commands::BillingMethods.new(nil, env)
15
+ end
16
+
17
+ it 'calls the machine billing_methods action' do
18
+ env[:machine].should_receive(:action).with('billing_methods')
19
+ @billing_methods_cmd.cmd('billing-methods', [], env)
20
+ end
4
21
  end
@@ -1,4 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::Rimu::Commands::Distributions do
4
+ let(:machine) { double('machine') }
5
+
6
+ let(:env) do
7
+ {}.tap do |env|
8
+ machine.stub(:action).with('list_distributions') { 1 }
9
+ env[:machine] = machine
10
+ end
11
+ end
12
+
13
+ before :each do
14
+ @list_distributions_cmd = VagrantPlugins::Rimu::Commands::Distributions.new(nil, env)
15
+ end
16
+
17
+ it 'calls the machine list_distributions action' do
18
+ env[:machine].should_receive(:action).with('list_distributions')
19
+ @list_distributions_cmd.cmd('distributions', [], env)
20
+ end
4
21
  end
@@ -1,4 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::Rimu::Commands::ListServers do
4
+ let(:machine) { double('machine') }
5
+
6
+ let(:env) do
7
+ {}.tap do |env|
8
+ machine.stub(:action).with('list_servers') { 1 }
9
+ env[:machine] = machine
10
+ end
11
+ end
12
+
13
+ before :each do
14
+ @list_servers_cmd = VagrantPlugins::Rimu::Commands::ListServers.new(nil, env)
15
+ end
16
+
17
+ it 'calls the machine list_servers action' do
18
+ env[:machine].should_receive(:action).with('list_servers')
19
+ @list_servers_cmd.cmd('servers', [], env)
20
+ end
4
21
  end
@@ -1,4 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::Rimu::Commands::Move do
4
+ let(:machine) { double('machine') }
5
+
6
+ let(:env) do
7
+ {}.tap do |env|
8
+ machine.stub(:action).with('move') { 1 }
9
+ env[:machine] = machine
10
+ end
11
+ end
12
+
13
+ before :each do
14
+ @move_cmd = VagrantPlugins::Rimu::Commands::Move.new(nil, env)
15
+ end
16
+
17
+ it 'calls the machine move action' do
18
+ env[:machine].should_receive(:action).with('move')
19
+ @move_cmd.cmd('move-vps', [], env)
20
+ end
4
21
  end
@@ -1,4 +1,24 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe VagrantPlugins::Rimu::Commands::Rebuild do
4
+ # let(:machine) { double('machine') }
5
+ # let(:root_path) { '.' }
6
+ #
7
+ # let(:env) do
8
+ # {}.tap do |env|
9
+ # env.stub(:root_path) { root_path }
10
+ # machine.stub(:action).with('rebuild') { 1 }
11
+ # machine.stub(:env) { env }
12
+ # env[:machine] = machine
13
+ # end
14
+ # end
15
+ #
16
+ # before :each do
17
+ # @rebuild_cmd = VagrantPlugins::Rimu::Commands::Rebuild.new(nil, env)
18
+ # end
19
+ #
20
+ # it 'calls the machine rebuild action' do
21
+ # env[:machine].should_receive(:action).with('rebuild')
22
+ # @rebuild_cmd.execute()
23
+ # end
4
24
  end
@@ -1,12 +1,14 @@
1
- Vagrant.require_plugin('vagrant-rimu')
1
+ REQUIRED_PLUGINS = %w(vagrant-rimu)
2
+ abort "Please set the environment variable RIMU_API_KEY in order to run vagrant with the rimu provider" unless ENV.key? 'RIMU_API_KEY'
2
3
 
3
4
  Vagrant.configure('2') do |config|
4
5
  config.ssh.username = 'tester'
6
+ config.ssh.insert_key = true
5
7
  config.ssh.private_key_path = 'test_rimu_id_rsa'
6
8
 
7
9
  config.vm.synced_folder '.', '/vagrant', :disabled => true
8
10
 
9
- config.vm.provider :rimu do |provider, override|
11
+ config.vm.provider :rimu do |provider|
10
12
  provider.token = ENV['RIMU_API_KEY']
11
13
  end
12
14
 
@@ -18,7 +18,9 @@ Gem::Specification.new do |gem|
18
18
  gem.extra_rdoc_files = ['README.md']
19
19
  gem.version = VagrantPlugins::Rimu::VERSION
20
20
 
21
- gem.add_runtime_dependency 'rimu', '~> 0.0.6'
21
+ gem.add_runtime_dependency 'rimu', '>= 0.1.0'
22
+ gem.add_runtime_dependency 'colorize', '~> 0.7.3'
23
+ gem.add_runtime_dependency 'terminal-table', '~> 1.4.5'
22
24
  gem.add_development_dependency 'bundler', '~> 1.5'
23
25
  gem.add_development_dependency 'rspec', '~> 3.1.0'
24
26
  gem.add_development_dependency 'rspec-its', '~> 1.0.1'
metadata CHANGED
@@ -1,29 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-rimu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Colin Kissa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-28 00:00:00.000000000 Z
11
+ date: 2020-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rimu
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: colorize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.7.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: terminal-table
15
43
  requirement: !ruby/object:Gem::Requirement
16
44
  requirements:
17
45
  - - "~>"
18
46
  - !ruby/object:Gem::Version
19
- version: 0.0.6
47
+ version: 1.4.5
20
48
  type: :runtime
21
49
  prerelease: false
22
50
  version_requirements: !ruby/object:Gem::Requirement
23
51
  requirements:
24
52
  - - "~>"
25
53
  - !ruby/object:Gem::Version
26
- version: 0.0.6
54
+ version: 1.4.5
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: bundler
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +145,7 @@ files:
117
145
  - gemfiles/vagrant_1.7.gemfile
118
146
  - lib/vagrant-rimu.rb
119
147
  - lib/vagrant-rimu/actions.rb
148
+ - lib/vagrant-rimu/actions/abstract_action.rb
120
149
  - lib/vagrant-rimu/actions/billing_methods.rb
121
150
  - lib/vagrant-rimu/actions/connect_to_rimu.rb
122
151
  - lib/vagrant-rimu/actions/create.rb
@@ -124,10 +153,12 @@ files:
124
153
  - lib/vagrant-rimu/actions/is_stopped.rb
125
154
  - lib/vagrant-rimu/actions/list_distributions.rb
126
155
  - lib/vagrant-rimu/actions/list_servers.rb
156
+ - lib/vagrant-rimu/actions/message_action_not_supported.rb
127
157
  - lib/vagrant-rimu/actions/message_already_created.rb
128
158
  - lib/vagrant-rimu/actions/message_already_off.rb
129
159
  - lib/vagrant-rimu/actions/message_not_created.rb
130
160
  - lib/vagrant-rimu/actions/message_will_not_destroy.rb
161
+ - lib/vagrant-rimu/actions/message_will_not_stop.rb
131
162
  - lib/vagrant-rimu/actions/modify_provision_path.rb
132
163
  - lib/vagrant-rimu/actions/move.rb
133
164
  - lib/vagrant-rimu/actions/read_ssh_info.rb
@@ -136,15 +167,19 @@ files:
136
167
  - lib/vagrant-rimu/actions/reload.rb
137
168
  - lib/vagrant-rimu/actions/setup_sudo.rb
138
169
  - lib/vagrant-rimu/actions/setup_user.rb
170
+ - lib/vagrant-rimu/actions/ssh_utils.rb
139
171
  - lib/vagrant-rimu/actions/start_instance.rb
140
172
  - lib/vagrant-rimu/actions/stop_instance.rb
141
173
  - lib/vagrant-rimu/actions/terminate_instance.rb
174
+ - lib/vagrant-rimu/commands/abstract_command.rb
142
175
  - lib/vagrant-rimu/commands/billing_methods.rb
143
176
  - lib/vagrant-rimu/commands/distributions.rb
144
177
  - lib/vagrant-rimu/commands/list_servers.rb
145
178
  - lib/vagrant-rimu/commands/move.rb
146
179
  - lib/vagrant-rimu/commands/rebuild.rb
180
+ - lib/vagrant-rimu/commands/rimu_command.rb
147
181
  - lib/vagrant-rimu/commands/root.rb
182
+ - lib/vagrant-rimu/commands/utils.rb
148
183
  - lib/vagrant-rimu/config.rb
149
184
  - lib/vagrant-rimu/errors.rb
150
185
  - lib/vagrant-rimu/logging.rb
@@ -155,15 +190,19 @@ files:
155
190
  - spec/spec_helper.rb
156
191
  - spec/vagrant-rimu/actions/billing_methods_spec.rb
157
192
  - spec/vagrant-rimu/actions/connect_to_rimu_spec.rb
193
+ - spec/vagrant-rimu/actions/create_spec.rb
158
194
  - spec/vagrant-rimu/actions/is_created_spec.rb
159
195
  - spec/vagrant-rimu/actions/is_stopped_spec.rb
160
196
  - spec/vagrant-rimu/actions/list_distributions_spec.rb
161
197
  - spec/vagrant-rimu/actions/list_servers_spec.rb
198
+ - spec/vagrant-rimu/actions/message_action_not_supported_spec.rb
162
199
  - spec/vagrant-rimu/actions/message_already_created_spec.rb
163
200
  - spec/vagrant-rimu/actions/message_already_off_spec.rb
164
201
  - spec/vagrant-rimu/actions/message_not_created_spec.rb
165
202
  - spec/vagrant-rimu/actions/message_will_not_destroy_spec.rb
203
+ - spec/vagrant-rimu/actions/message_will_not_stop_spec.rb
166
204
  - spec/vagrant-rimu/actions/modify_provision_path_spec.rb
205
+ - spec/vagrant-rimu/actions/move_spec.rb
167
206
  - spec/vagrant-rimu/actions/read_ssh_info_spec.rb
168
207
  - spec/vagrant-rimu/actions/read_state_spec.rb
169
208
  - spec/vagrant-rimu/actions/rebuild_spec.rb
@@ -207,8 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
246
  - !ruby/object:Gem::Version
208
247
  version: '0'
209
248
  requirements: []
210
- rubyforge_project:
211
- rubygems_version: 2.4.8
249
+ rubygems_version: 3.0.8
212
250
  signing_key:
213
251
  specification_version: 4
214
252
  summary: Rimuhosting provider for Vagrant.
@@ -216,15 +254,19 @@ test_files:
216
254
  - spec/spec_helper.rb
217
255
  - spec/vagrant-rimu/actions/billing_methods_spec.rb
218
256
  - spec/vagrant-rimu/actions/connect_to_rimu_spec.rb
257
+ - spec/vagrant-rimu/actions/create_spec.rb
219
258
  - spec/vagrant-rimu/actions/is_created_spec.rb
220
259
  - spec/vagrant-rimu/actions/is_stopped_spec.rb
221
260
  - spec/vagrant-rimu/actions/list_distributions_spec.rb
222
261
  - spec/vagrant-rimu/actions/list_servers_spec.rb
262
+ - spec/vagrant-rimu/actions/message_action_not_supported_spec.rb
223
263
  - spec/vagrant-rimu/actions/message_already_created_spec.rb
224
264
  - spec/vagrant-rimu/actions/message_already_off_spec.rb
225
265
  - spec/vagrant-rimu/actions/message_not_created_spec.rb
226
266
  - spec/vagrant-rimu/actions/message_will_not_destroy_spec.rb
267
+ - spec/vagrant-rimu/actions/message_will_not_stop_spec.rb
227
268
  - spec/vagrant-rimu/actions/modify_provision_path_spec.rb
269
+ - spec/vagrant-rimu/actions/move_spec.rb
228
270
  - spec/vagrant-rimu/actions/read_ssh_info_spec.rb
229
271
  - spec/vagrant-rimu/actions/read_state_spec.rb
230
272
  - spec/vagrant-rimu/actions/rebuild_spec.rb