vagrant-multiprovider-snap 0.0.11 → 0.0.12
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 +5 -0
- data/LICENSE +1 -1
- data/README.md +22 -10
- data/lib/vagrant-multiprovider-snap/command/rollback.rb +9 -2
- data/lib/vagrant-multiprovider-snap/command/take.rb +9 -2
- data/lib/vagrant-multiprovider-snap/providers/virtualbox/action/snapshot_rollback.rb +1 -1
- data/lib/vagrant-multiprovider-snap/providers/virtualbox/action/snapshot_take.rb +1 -1
- data/lib/vagrant-multiprovider-snap/providers/virtualbox/driver/base.rb +6 -6
- data/lib/vagrant-multiprovider-snap/providers/vmware_fusion/action/snapshot_rollback.rb +2 -2
- data/lib/vagrant-multiprovider-snap/providers/vmware_fusion/action/snapshot_take.rb +1 -1
- data/lib/vagrant-multiprovider-snap/providers/vmware_fusion/driver/base.rb +7 -7
- data/lib/vagrant-multiprovider-snap/providers/vmware_workstation/action/snapshot_rollback.rb +2 -2
- data/lib/vagrant-multiprovider-snap/providers/vmware_workstation/action/snapshot_take.rb +1 -1
- data/lib/vagrant-multiprovider-snap/providers/vmware_workstation/driver/base.rb +7 -7
- data/lib/vagrant-multiprovider-snap/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02da544bcb07fe508d365dc393528b7a7b656318
|
4
|
+
data.tar.gz: c9d8a12e14ab03ebe0423f53fe947501044f4f9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a21eed86cf3b8d3d3a3d487d9021d78f46d504694477ad37b56bec79d548c7e9b11d8039a23b1c67c752a169f4685f6b4f891e9c67f4b27e875ef303cf7eb4d
|
7
|
+
data.tar.gz: 42954d9edf17c022c715ff5013b06fdfe5af9e762e6a292a981c7fde93916d6315498546cc6a75086c66aeae1a907fa28167d462ca8eb5de212475e54dd9315f
|
data/CHANGELOG.md
CHANGED
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License
|
2
2
|
|
3
|
-
Copyright (c) 2010-
|
3
|
+
Copyright (c) 2010-2014 The Scale Factory Ltd
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -25,27 +25,34 @@ vagrant plugin install vagrant-multiprovider-snap
|
|
25
25
|
Usage
|
26
26
|
-----
|
27
27
|
|
28
|
-
|
28
|
+
Take a new snapshot:
|
29
29
|
|
30
|
-
|
31
|
-
```vagrant snap take [vm]```
|
30
|
+
vagrant snap take [vm]
|
32
31
|
|
33
|
-
|
34
|
-
```vagrant snap rollback [vm]```
|
32
|
+
Roll back to the last snapshot:
|
35
33
|
|
36
|
-
|
37
|
-
|
34
|
+
vagrant snap rollback [vm]
|
35
|
+
|
36
|
+
List snapshots:
|
37
|
+
|
38
|
+
vagrant snap list [vm]
|
39
|
+
|
40
|
+
Take a custom-named snapshot:
|
41
|
+
|
42
|
+
vagrant snap take [vm] --name=snap01
|
43
|
+
|
44
|
+
Roll back to a named snapshot:
|
45
|
+
|
46
|
+
vagrant snap rollback [vm] --name=snap01
|
38
47
|
|
39
48
|
Limitations
|
40
49
|
-----------
|
41
50
|
|
42
51
|
It's currently not possible to do any of the following:
|
43
52
|
|
44
|
-
* Give a custom snapshot name
|
45
|
-
* Roll back to a specific named snapshot
|
46
53
|
* Disable snapshotting
|
47
54
|
|
48
|
-
My own requirements don't include
|
55
|
+
My own requirements don't include this feature, but I could be tempted to
|
49
56
|
add them if anyone would find them useful.
|
50
57
|
|
51
58
|
|
@@ -80,8 +87,13 @@ vagrant-multiprovider-snap is licensed under the MIT license.
|
|
80
87
|
Thanks
|
81
88
|
------
|
82
89
|
|
90
|
+
vagrant-multiprovider-snap was written, and is maintained by Jon Topper of [The Scale Factory](http://www.scalefactory.com/)
|
91
|
+
|
83
92
|
Many thanks to the following people for contributing to vagrant-multiprovider-snap:
|
84
93
|
|
85
94
|
- Reid Vandewiele
|
86
95
|
- James Sweeny
|
87
96
|
- Steven De Coeyer
|
97
|
+
- Andrew Stangl
|
98
|
+
- Stefan Scherer
|
99
|
+
|
@@ -10,10 +10,17 @@ module VagrantSnap
|
|
10
10
|
def execute
|
11
11
|
|
12
12
|
options = {}
|
13
|
+
options[:snap_name] = nil
|
13
14
|
|
14
15
|
opts = OptionParser.new do |o|
|
15
|
-
|
16
|
+
|
17
|
+
o.banner = "Usage: vagrant snap rollback [vm-name] [--name=<snapname>]"
|
16
18
|
o.separator ""
|
19
|
+
|
20
|
+
o.on("--name SNAPNAME", "Roll back to the named snapshot (defaults to last taken)") do |n|
|
21
|
+
options[:snap_name] = n
|
22
|
+
end
|
23
|
+
|
17
24
|
end
|
18
25
|
|
19
26
|
argv = parse_options(opts)
|
@@ -21,7 +28,7 @@ module VagrantSnap
|
|
21
28
|
|
22
29
|
with_target_vms(argv) do |vm|
|
23
30
|
|
24
|
-
vm.action(:snapshot_rollback)
|
31
|
+
vm.action(:snapshot_rollback, :snap_name => options[:snap_name])
|
25
32
|
|
26
33
|
end
|
27
34
|
|
@@ -10,10 +10,17 @@ module VagrantSnap
|
|
10
10
|
def execute
|
11
11
|
|
12
12
|
options = {}
|
13
|
+
options[:snap_name] = nil
|
13
14
|
|
14
15
|
opts = OptionParser.new do |o|
|
15
|
-
|
16
|
+
|
17
|
+
o.banner = "Usage: vagrant snap take [vm-name] [--name=<snapname>]"
|
16
18
|
o.separator ""
|
19
|
+
|
20
|
+
o.on("--name SNAPNAME", "Use the given name for this snapshot") do |n|
|
21
|
+
options[:snap_name] = n
|
22
|
+
end
|
23
|
+
|
17
24
|
end
|
18
25
|
|
19
26
|
argv = parse_options(opts)
|
@@ -21,7 +28,7 @@ module VagrantSnap
|
|
21
28
|
|
22
29
|
with_target_vms(argv) do |vm|
|
23
30
|
|
24
|
-
vm.action(:snapshot_take)
|
31
|
+
vm.action(:snapshot_take, :snap_name => options[:snap_name])
|
25
32
|
|
26
33
|
end
|
27
34
|
|
@@ -18,7 +18,7 @@ module VagrantPlugins
|
|
18
18
|
# so we need to find the gui state
|
19
19
|
boot_mode = env[:machine].provider_config.gui ? "gui" : "headless"
|
20
20
|
|
21
|
-
env[:machine].provider.driver.snapshot_rollback(boot_mode)
|
21
|
+
env[:machine].provider.driver.snapshot_rollback(boot_mode,env[:snap_name])
|
22
22
|
|
23
23
|
@app.call(env)
|
24
24
|
|
@@ -6,17 +6,17 @@ module VagrantPlugins
|
|
6
6
|
|
7
7
|
class Base
|
8
8
|
|
9
|
-
def snapshot_take
|
10
|
-
execute("snapshot", @uuid, "take", "vagrant-snap-#{Time.now.to_i}", "--pause")
|
9
|
+
def snapshot_take(name)
|
10
|
+
execute("snapshot", @uuid, "take", name || "vagrant-snap-#{Time.now.to_i}", "--pause")
|
11
11
|
end
|
12
12
|
|
13
|
-
def snapshot_rollback(bootmode)
|
13
|
+
def snapshot_rollback(bootmode, name)
|
14
14
|
# don't try to power off if we're already off
|
15
15
|
unless [:poweroff, :aborted].include?(read_state)
|
16
16
|
halt
|
17
17
|
sleep 2 # race condition on locked VMs otherwise?
|
18
18
|
end
|
19
|
-
execute("snapshot", @uuid, "restore", snapshot_list.last)
|
19
|
+
execute("snapshot", @uuid, "restore", name || snapshot_list.last)
|
20
20
|
start(bootmode)
|
21
21
|
end
|
22
22
|
|
@@ -24,11 +24,11 @@ module VagrantPlugins
|
|
24
24
|
info = execute("showvminfo", @uuid, "--machinereadable")
|
25
25
|
snapshots = []
|
26
26
|
info.split("\n").each do |line|
|
27
|
-
if line =~ /^SnapshotName[^=]*="(
|
27
|
+
if line =~ /^SnapshotName[^=]*="(.+?)"$/
|
28
28
|
snapshots << $1.to_s
|
29
29
|
end
|
30
30
|
end
|
31
|
-
snapshots
|
31
|
+
snapshots
|
32
32
|
end
|
33
33
|
|
34
34
|
def has_snapshot?
|
@@ -16,9 +16,9 @@ module HashiCorp
|
|
16
16
|
|
17
17
|
# Snapshot rollback involves powering off and on the VM
|
18
18
|
# so we need to find the gui state
|
19
|
-
boot_mode = env[:machine].provider_config.gui ? "gui" : "
|
19
|
+
boot_mode = env[:machine].provider_config.gui ? "gui" : "nogui"
|
20
20
|
|
21
|
-
env[:machine].provider.driver.snapshot_rollback(boot_mode)
|
21
|
+
env[:machine].provider.driver.snapshot_rollback(boot_mode, env[:snap_name])
|
22
22
|
|
23
23
|
@app.call(env)
|
24
24
|
|
@@ -6,23 +6,23 @@ module HashiCorp
|
|
6
6
|
|
7
7
|
class Fusion
|
8
8
|
|
9
|
-
def snapshot_take
|
10
|
-
vmrun("snapshot", "#{vmx_path}", "vagrant-snap-#{Time.now.to_i}")
|
9
|
+
def snapshot_take(name)
|
10
|
+
vmrun("snapshot", "#{vmx_path}", name || "vagrant-snap-#{Time.now.to_i}")
|
11
11
|
end
|
12
12
|
|
13
|
-
def snapshot_rollback(bootmode)
|
14
|
-
|
15
|
-
|
13
|
+
def snapshot_rollback(bootmode, name)
|
14
|
+
vmrun("revertToSnapshot", "#{vmx_path}", name || snapshot_list.last)
|
15
|
+
start(bootmode)
|
16
16
|
end
|
17
17
|
|
18
18
|
def snapshot_list
|
19
19
|
snapshots = []
|
20
20
|
vmrun("listSnapshots", "#{vmx_path}").stdout.split("\n").each do |line|
|
21
|
-
if line
|
21
|
+
if line !~ /Total snapshot/
|
22
22
|
snapshots << line
|
23
23
|
end
|
24
24
|
end
|
25
|
-
snapshots
|
25
|
+
snapshots
|
26
26
|
end
|
27
27
|
|
28
28
|
def has_snapshot?
|
data/lib/vagrant-multiprovider-snap/providers/vmware_workstation/action/snapshot_rollback.rb
CHANGED
@@ -16,9 +16,9 @@ module HashiCorp
|
|
16
16
|
|
17
17
|
# Snapshot rollback involves powering off and on the VM
|
18
18
|
# so we need to find the gui state
|
19
|
-
boot_mode = env[:machine].provider_config.gui ? "gui" : "
|
19
|
+
boot_mode = env[:machine].provider_config.gui ? "gui" : "nogui"
|
20
20
|
|
21
|
-
env[:machine].provider.driver.snapshot_rollback(boot_mode)
|
21
|
+
env[:machine].provider.driver.snapshot_rollback(boot_mode,env[:snap_name])
|
22
22
|
|
23
23
|
@app.call(env)
|
24
24
|
|
@@ -6,23 +6,23 @@ module HashiCorp
|
|
6
6
|
|
7
7
|
class Base
|
8
8
|
|
9
|
-
def snapshot_take
|
10
|
-
vmrun("snapshot", "#{vmx_path}", "vagrant-snap-#{Time.now.to_i}")
|
9
|
+
def snapshot_take(name)
|
10
|
+
vmrun("snapshot", "#{vmx_path}", name || "vagrant-snap-#{Time.now.to_i}")
|
11
11
|
end
|
12
12
|
|
13
|
-
def snapshot_rollback(bootmode)
|
14
|
-
vmrun("revertToSnapshot", "#{vmx_path}", snapshot_list.last)
|
15
|
-
start
|
13
|
+
def snapshot_rollback(bootmode, name)
|
14
|
+
vmrun("revertToSnapshot", "#{vmx_path}", name || snapshot_list.last)
|
15
|
+
start(bootmode)
|
16
16
|
end
|
17
17
|
|
18
18
|
def snapshot_list
|
19
19
|
snapshots = []
|
20
20
|
vmrun("listSnapshots", "#{vmx_path}").stdout.split("\n").each do |line|
|
21
|
-
if line
|
21
|
+
if line !~ /Total snapshot/
|
22
22
|
snapshots << line
|
23
23
|
end
|
24
24
|
end
|
25
|
-
snapshots
|
25
|
+
snapshots
|
26
26
|
end
|
27
27
|
|
28
28
|
def has_snapshot?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-multiprovider-snap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Topper
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Multi-provider snapshots for Vagrant
|
14
14
|
email:
|