vagrant-parallels 1.6.1 → 1.6.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/lib/vagrant-parallels/action.rb +55 -2
- data/lib/vagrant-parallels/version.rb +1 -1
- data/tasks/acceptance.rake +1 -0
- data/test/acceptance/provider/snapshot_spec.rb +63 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d0df49aa2a8f022bfe2918179f34f185e991566
|
4
|
+
data.tar.gz: 7e31ce9a5505febbd9d277dd60b50ebbf65cfd46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f1178440b0b9a8f81eefe23a6ba557dcc0f74de988716bb35b659746aa7524c84f8f26e497714b10362f2656bed6aedfea4c553d32e86bed1763d3d907252da
|
7
|
+
data.tar.gz: 5ff89e1b90270540a21cf0baedab86b11eaac25951e39f96b9a11e4e97fb8a4905d0296009f589eb54de7ac14ad792db2333dcb2ed137a8c1f41a00f36599fd1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## 1.6.2 (March 23, 2016)
|
2
|
+
BUG FIXES:
|
3
|
+
- Fix unsupported action error for `vagrant snapshot` commands [[GH-254](https://github.com/Parallels/vagrant-parallels/pull/254)]
|
4
|
+
|
5
|
+
IMPROVEMENTS:
|
6
|
+
- action/destroy: Destroy suspended VMs without resuming
|
7
|
+
|
1
8
|
## 1.6.1 (January 13, 2016)
|
2
9
|
|
3
10
|
BUG FIXES:
|
data/Gemfile
CHANGED
@@ -9,6 +9,6 @@ group :development do
|
|
9
9
|
# We depend on Vagrant for development, but we don't add it as a
|
10
10
|
# gem dependency because we expect to be installed within the
|
11
11
|
# Vagrant environment itself using `vagrant plugin`.
|
12
|
-
gem 'vagrant', git: 'git://github.com/mitchellh/vagrant.git'
|
12
|
+
gem 'vagrant', git: 'git://github.com/mitchellh/vagrant.git', tag: 'v1.8.1'
|
13
13
|
gem 'vagrant-spec', git: 'git://github.com/mitchellh/vagrant-spec.git'
|
14
14
|
end
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ Having problems while using the provider? Ask your question on the official foru
|
|
49
49
|
["Parallels Provider for Vagrant" forum branch](http://forum.parallels.com/forumdisplay.php?737-Parallels-Provider-for-Vagrant)
|
50
50
|
|
51
51
|
If you get an error while using the Parallels provider or discover a bug,
|
52
|
-
please report it on the [
|
52
|
+
please report it on the [Issue Tracker](https://github.com/Parallels/vagrant-parallels/issues).
|
53
53
|
|
54
54
|
## License and Authors
|
55
55
|
|
@@ -51,8 +51,14 @@ module VagrantPlugins
|
|
51
51
|
next
|
52
52
|
end
|
53
53
|
|
54
|
-
|
55
|
-
b2.use
|
54
|
+
# Do not resume && halt the suspended VM, just delete it
|
55
|
+
b2.use Call, IsState, :suspended do |env3, b3|
|
56
|
+
if !env3[:result]
|
57
|
+
b3.use EnvSet, :force_halt => true
|
58
|
+
b3.use action_halt
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
56
62
|
b2.use Destroy
|
57
63
|
b2.use DestroyUnusedNetworkInterfaces
|
58
64
|
b2.use ProvisionerCleanup
|
@@ -173,6 +179,50 @@ module VagrantPlugins
|
|
173
179
|
end
|
174
180
|
end
|
175
181
|
|
182
|
+
def self.action_snapshot_delete
|
183
|
+
Vagrant::Action::Builder.new.tap do |b|
|
184
|
+
b.use Call, IsState, :not_created do |env1, b1|
|
185
|
+
if env1[:result]
|
186
|
+
b1.use Message, I18n.t('vagrant.commands.common.vm_not_created')
|
187
|
+
else
|
188
|
+
b1.use SnapshotDelete
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
# This is the action that is primarily responsible for saving a snapshot
|
195
|
+
def self.action_snapshot_restore
|
196
|
+
Vagrant::Action::Builder.new.tap do |b|
|
197
|
+
b.use Call, IsState, :not_created do |env1, b1|
|
198
|
+
if env1[:result]
|
199
|
+
b1.use Message, I18n.t('vagrant.commands.common.vm_not_created')
|
200
|
+
next
|
201
|
+
end
|
202
|
+
|
203
|
+
b1.use SnapshotRestore
|
204
|
+
b1.use Call, IsEnvSet, :snapshot_delete do |env2, b2|
|
205
|
+
if env2[:result]
|
206
|
+
b2.use action_snapshot_delete
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
# This is the action that is primarily responsible for saving a snapshot
|
214
|
+
def self.action_snapshot_save
|
215
|
+
Vagrant::Action::Builder.new.tap do |b|
|
216
|
+
b.use Call, IsState, :not_created do |env1, b1|
|
217
|
+
if env1[:result]
|
218
|
+
b1.use Message, I18n.t('vagrant.commands.common.vm_not_created')
|
219
|
+
else
|
220
|
+
b1.use SnapshotSave
|
221
|
+
end
|
222
|
+
end
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
176
226
|
# This is the action that will exec into an SSH shell.
|
177
227
|
def self.action_ssh
|
178
228
|
Vagrant::Action::Builder.new.tap do |b|
|
@@ -359,6 +409,9 @@ module VagrantPlugins
|
|
359
409
|
autoload :SaneDefaults, File.expand_path('../action/sane_defaults',__FILE__)
|
360
410
|
autoload :SetupPackageFiles, File.expand_path('../action/setup_package_files', __FILE__)
|
361
411
|
autoload :SetName, File.expand_path('../action/set_name', __FILE__)
|
412
|
+
autoload :SnapshotDelete, File.expand_path('../action/snapshot_delete', __FILE__)
|
413
|
+
autoload :SnapshotRestore, File.expand_path('../action/snapshot_restore', __FILE__)
|
414
|
+
autoload :SnapshotSave, File.expand_path('../action/snapshot_save', __FILE__)
|
362
415
|
autoload :Suspend, File.expand_path('../action/suspend', __FILE__)
|
363
416
|
end
|
364
417
|
end
|
data/tasks/acceptance.rake
CHANGED
@@ -0,0 +1,63 @@
|
|
1
|
+
shared_examples 'provider/snapshot' do |provider, options|
|
2
|
+
if !options[:box]
|
3
|
+
raise ArgumentError,
|
4
|
+
"box option must be specified for provider: #{provider}"
|
5
|
+
end
|
6
|
+
|
7
|
+
include_context 'acceptance'
|
8
|
+
|
9
|
+
before do
|
10
|
+
assert_execute('vagrant', 'box', 'add', 'box', options[:box])
|
11
|
+
assert_execute('vagrant', 'init', 'box')
|
12
|
+
assert_execute('vagrant', 'up', "--provider=#{provider}")
|
13
|
+
end
|
14
|
+
|
15
|
+
after do
|
16
|
+
assert_execute('vagrant', 'destroy', '--force')
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'can save, list and delete machine snapshots' do
|
20
|
+
status('Test: two snapshots could be created')
|
21
|
+
assert_execute('vagrant', 'snapshot', 'save', 'foo')
|
22
|
+
assert_execute('vagrant', 'snapshot', 'save', 'bar')
|
23
|
+
|
24
|
+
status('Test: snapshots show up in list')
|
25
|
+
result = execute('vagrant', 'snapshot', 'list')
|
26
|
+
expect(result).to exit_with(0)
|
27
|
+
expect(result.stdout).to match(/^foo$/)
|
28
|
+
expect(result.stdout).to match(/^bar$/)
|
29
|
+
|
30
|
+
status('Test: snapshots could be restored')
|
31
|
+
assert_execute('vagrant', 'snapshot', 'restore', 'foo')
|
32
|
+
assert_execute('vagrant', 'snapshot', 'restore', 'bar')
|
33
|
+
|
34
|
+
status('Test: snapshots could be deleted')
|
35
|
+
assert_execute('vagrant', 'snapshot', 'delete', 'foo')
|
36
|
+
assert_execute('vagrant', 'snapshot', 'delete', 'bar')
|
37
|
+
|
38
|
+
result = execute('vagrant', 'snapshot', 'list')
|
39
|
+
expect(result).to exit_with(0)
|
40
|
+
expect(result.stdout).not_to match(/^foo$/)
|
41
|
+
expect(result.stdout).not_to match(/^bar$/)
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'can push and pop snapshots' do
|
45
|
+
status('Test: snapshot push')
|
46
|
+
result = execute('vagrant', 'snapshot', 'push')
|
47
|
+
expect(result).to exit_with(0)
|
48
|
+
expect(result.stdout).to match(/push_/)
|
49
|
+
|
50
|
+
status('Test: pushed snapshot shows up in list')
|
51
|
+
result = execute('vagrant', 'snapshot', 'list')
|
52
|
+
expect(result).to exit_with(0)
|
53
|
+
expect(result.stdout).to match(/^push_/)
|
54
|
+
|
55
|
+
status('Test: snapshot pop')
|
56
|
+
assert_execute('vagrant', 'snapshot', 'pop')
|
57
|
+
|
58
|
+
status('Test: popped snapshot has been deleted')
|
59
|
+
result = execute('vagrant', 'snapshot', 'list')
|
60
|
+
expect(result).to exit_with(0)
|
61
|
+
expect(result.stdout).not_to match(/push_/)
|
62
|
+
end
|
63
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-parallels
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikhail Zholobov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-03-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- tasks/test.rake
|
143
143
|
- test/acceptance/base.rb
|
144
144
|
- test/acceptance/provider/linked_clone_spec.rb
|
145
|
+
- test/acceptance/provider/snapshot_spec.rb
|
145
146
|
- test/acceptance/shared/context_parallels.rb
|
146
147
|
- test/acceptance/skeletons/linked_clone/Vagrantfile
|
147
148
|
- test/unit/base.rb
|