vagrant-rimu 0.0.2 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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