vagrant-sptsync 0.0.5 → 0.0.6
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 +8 -8
- data/lib/vagrant-sptsync/commands/root.rb +5 -1
- data/lib/vagrant-sptsync/version.rb +1 -1
- metadata +1 -7
- data/lib/vagrant-sptsync/commands/back.rb +0 -39
- data/lib/vagrant-sptsync/commands/delete.rb +0 -36
- data/lib/vagrant-sptsync/commands/go.rb +0 -82
- data/lib/vagrant-sptsync/commands/list.rb +0 -28
- data/lib/vagrant-sptsync/commands/multi_vm_args.rb +0 -20
- data/lib/vagrant-sptsync/commands/take.rb +0 -34
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YWM3MjJkMTdhODQzYjYyNWUyNjZlODYxOTk0NmIwNGI0MDdlYmVmNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGU4NjYxY2U4Y2EyNjNiNGM4OTUwMzQ1NDhlNjdjZjU0M2I5ZGU2MQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDFlYThlZDIzZTNjYWU1ODlkMWQxOGMyNTAwNGM4Y2QzOTNkNjY3MzEyODhk
|
10
|
+
YzQ1NzU5NTljMDUwMTcwNzU3ZDk1MWU3NTk0YzhhYmU2NGU2NzFlMDNiMGIw
|
11
|
+
N2Y5YTNkMDM5MzRhMDU1YzFhMjZmY2Y5N2Q3MThhNmE3NGU0ODY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OWUyZGExNjNiMGVmNGFhOTVmYWQ0MzFlN2MyNTRlMGQwYzViZmU3MzI3Njhj
|
14
|
+
ZjE4ZjUwOTAwNGU4MTgyOTc4NTJiMjdjMTNhY2JlZjkzMmJmMGY4YmNiOTBm
|
15
|
+
NGYxOTE5OTI0ZGU4MjhlN2QxODg1ZDhhM2E2NDBiODVlZWRlOTE=
|
@@ -44,7 +44,11 @@ module VagrantPlugins
|
|
44
44
|
|
45
45
|
# # Initialize and execute the command class
|
46
46
|
# command_class.new(@sub_args, @env).execute
|
47
|
-
|
47
|
+
with_target_vms(argv) do |machine|
|
48
|
+
machine.provider.driver.execute("ls") do |type, data|
|
49
|
+
machine.env.ui.info(data, :color => type == :stderr ? :red : :white)
|
50
|
+
end
|
51
|
+
end
|
48
52
|
0
|
49
53
|
end
|
50
54
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-sptsync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Sehr
|
@@ -50,13 +50,7 @@ files:
|
|
50
50
|
- Rakefile
|
51
51
|
- Vagrantfile
|
52
52
|
- lib/vagrant-sptsync.rb
|
53
|
-
- lib/vagrant-sptsync/commands/back.rb
|
54
|
-
- lib/vagrant-sptsync/commands/delete.rb
|
55
|
-
- lib/vagrant-sptsync/commands/go.rb
|
56
|
-
- lib/vagrant-sptsync/commands/list.rb
|
57
|
-
- lib/vagrant-sptsync/commands/multi_vm_args.rb
|
58
53
|
- lib/vagrant-sptsync/commands/root.rb
|
59
|
-
- lib/vagrant-sptsync/commands/take.rb
|
60
54
|
- lib/vagrant-sptsync/plugin.rb
|
61
55
|
- lib/vagrant-sptsync/version.rb
|
62
56
|
- vagrant-sptsync.gemspec
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module VagrantPlugins
|
2
|
-
module VBoxSnapshot
|
3
|
-
module Command
|
4
|
-
class Back < Vagrant.plugin(2, :command)
|
5
|
-
def execute
|
6
|
-
options = {}
|
7
|
-
|
8
|
-
opts = OptionParser.new do |opts|
|
9
|
-
opts.banner = "Back to current snapshot"
|
10
|
-
opts.separator ""
|
11
|
-
opts.separator "Usage: vagrant snapshot back [vm-name]"
|
12
|
-
end
|
13
|
-
# Parse the options
|
14
|
-
argv = parse_options(opts)
|
15
|
-
return if !argv
|
16
|
-
|
17
|
-
with_target_vms(argv, single_target: true) do |machine|
|
18
|
-
|
19
|
-
if machine.state.id != :poweroff
|
20
|
-
machine.provider.driver.execute("controlvm", machine.id, "poweroff")
|
21
|
-
end
|
22
|
-
|
23
|
-
machine.provider.driver.execute("snapshot", machine.id, "restorecurrent") do |type, data|
|
24
|
-
machine.env.ui.info(data, :color => type == :stderr ? :red : :white, :new_line => false)
|
25
|
-
end
|
26
|
-
|
27
|
-
if options[:reload]
|
28
|
-
@env.ui.info("Reloading VM, since --reload passed")
|
29
|
-
machine.action(:reload, :provision_enabled => false)
|
30
|
-
else
|
31
|
-
@env.ui.info("Starting restored VM")
|
32
|
-
machine.action(:up, :provision_enabled => false)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
# this command is very slow
|
2
|
-
# consider removing it; or replacing with this idea: http://superuser.com/questions/590968/quickest-way-to-merge-snapshots-in-virtualbox
|
3
|
-
|
4
|
-
require_relative 'multi_vm_args'
|
5
|
-
|
6
|
-
module VagrantPlugins
|
7
|
-
module VBoxSnapshot
|
8
|
-
module Command
|
9
|
-
class Delete < Vagrant.plugin(2, :command)
|
10
|
-
include MultiVmArgs
|
11
|
-
|
12
|
-
def execute
|
13
|
-
options = {}
|
14
|
-
|
15
|
-
opts = OptionParser.new do |opts|
|
16
|
-
opts.banner = "Delete snapshot (warning: this is a very slow operation)"
|
17
|
-
opts.separator ""
|
18
|
-
opts.separator "Usage: vagrant snapshot delete [vm-name] <SNAPSHOT_NAME>"
|
19
|
-
end
|
20
|
-
# Parse the options
|
21
|
-
argv = parse_options(opts)
|
22
|
-
return if !argv
|
23
|
-
|
24
|
-
vm_name, snapshot_name = parse_vm_and_snapshot_options(argv, opts)
|
25
|
-
return if !snapshot_name
|
26
|
-
|
27
|
-
with_target_vms(vm_name, single_target: true) do |machine|
|
28
|
-
machine.provider.driver.execute("snapshot", machine.id, "delete", snapshot_name) do |type, data|
|
29
|
-
machine.env.ui.info(data, :color => type == :stderr ? :red : :white)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,82 +0,0 @@
|
|
1
|
-
require_relative 'multi_vm_args'
|
2
|
-
|
3
|
-
module VagrantPlugins
|
4
|
-
module VBoxSnapshot
|
5
|
-
module Command
|
6
|
-
class Go < Vagrant.plugin(2, :command)
|
7
|
-
include MultiVmArgs
|
8
|
-
|
9
|
-
def get_shared_folders(machine)
|
10
|
-
shared_folders = []
|
11
|
-
info = machine.provider.driver.execute("showvminfo", machine.id, "--machinereadable")
|
12
|
-
info.split("\n").each do |line|
|
13
|
-
if line =~ /^SharedFolderNameMachineMapping\d+="(.+?)"$/
|
14
|
-
shared_folders << $1.to_s
|
15
|
-
end
|
16
|
-
end
|
17
|
-
return shared_folders
|
18
|
-
end
|
19
|
-
|
20
|
-
def before_restore(machine)
|
21
|
-
@shared_folders_before = get_shared_folders(machine)
|
22
|
-
end
|
23
|
-
|
24
|
-
def after_restore(machine)
|
25
|
-
@shared_folders_after = get_shared_folders(machine)
|
26
|
-
if @shared_folders_before != @shared_folders_after
|
27
|
-
@env.ui.warn("Synced folders have changed after restoring snapshot. Consider running 'vagrant reload'.")
|
28
|
-
@env.ui.warn(" Before restore: #{@shared_folders_before}")
|
29
|
-
@env.ui.warn(" After restore: #{@shared_folders_after}")
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def execute
|
34
|
-
options = {}
|
35
|
-
options[:reload] = false
|
36
|
-
|
37
|
-
opts = OptionParser.new do |opts|
|
38
|
-
opts.banner = "Go to specified snapshot"
|
39
|
-
opts.separator ""
|
40
|
-
opts.separator "Usage: vagrant snapshot go [vm-name] <SNAPSHOT_NAME>"
|
41
|
-
|
42
|
-
opts.on("-r", "--reload", "Runs 'vagrant reload --no-provision' after restoring snapshot to ensure Vagrantfile config is applied.") do |reload|
|
43
|
-
options[:reload] = reload
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
# Parse the options
|
48
|
-
argv = parse_options(opts)
|
49
|
-
return if !argv
|
50
|
-
|
51
|
-
vm_name, snapshot_name = parse_vm_and_snapshot_options(argv, opts)
|
52
|
-
return if !snapshot_name
|
53
|
-
|
54
|
-
with_target_vms(vm_name, single_target: true) do |machine|
|
55
|
-
vm_id = machine.id
|
56
|
-
|
57
|
-
before_restore(machine)
|
58
|
-
|
59
|
-
if machine.state.id != :poweroff
|
60
|
-
@env.ui.info("Powering off machine #{vm_id}")
|
61
|
-
machine.provider.driver.execute("controlvm", machine.id, "poweroff")
|
62
|
-
end
|
63
|
-
|
64
|
-
machine.provider.driver.execute("snapshot", machine.id, "restore", snapshot_name) do |type, data|
|
65
|
-
machine.env.ui.info(data, :color => type == :stderr ? :red : :white, :new_line => false)
|
66
|
-
end
|
67
|
-
|
68
|
-
if options[:reload]
|
69
|
-
@env.ui.info("Reloading VM, since --reload passed")
|
70
|
-
machine.action(:reload, :provision_enabled => false)
|
71
|
-
else
|
72
|
-
@env.ui.info("Starting restored VM")
|
73
|
-
machine.action(:up, :provision_enabled => false)
|
74
|
-
end
|
75
|
-
|
76
|
-
after_restore(machine)
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module VagrantPlugins
|
2
|
-
module VBoxSnapshot
|
3
|
-
module Command
|
4
|
-
class List < Vagrant.plugin(2, :command)
|
5
|
-
def execute
|
6
|
-
options = {}
|
7
|
-
|
8
|
-
opts = OptionParser.new do |opts|
|
9
|
-
opts.banner = "List snapshots"
|
10
|
-
opts.separator ""
|
11
|
-
opts.separator "Usage: vagrant snapshot list"
|
12
|
-
end
|
13
|
-
# Parse the options
|
14
|
-
argv = parse_options(opts)
|
15
|
-
return if !argv
|
16
|
-
|
17
|
-
with_target_vms(argv, single_target: true) do |machine|
|
18
|
-
puts "Listing snapshots for '#{machine.name}':"
|
19
|
-
|
20
|
-
res = machine.provider.driver.execute("snapshot", machine.id, "list", "--details") do |type, data|
|
21
|
-
machine.env.ui.info(data, :color => :green) if (type == :stdout)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module VagrantPlugins
|
2
|
-
module VBoxSnapshot
|
3
|
-
module Command
|
4
|
-
module MultiVmArgs
|
5
|
-
def parse_vm_and_snapshot_options(argv, opts)
|
6
|
-
unless [1, 2].include?(argv.size)
|
7
|
-
@env.ui.info(opts.help, :prefix => false)
|
8
|
-
return
|
9
|
-
end
|
10
|
-
|
11
|
-
if argv.size == 1
|
12
|
-
[nil, argv[0]]
|
13
|
-
else
|
14
|
-
[argv[0], argv[1]]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
require_relative 'multi_vm_args'
|
2
|
-
|
3
|
-
module VagrantPlugins
|
4
|
-
module VBoxSnapshot
|
5
|
-
module Command
|
6
|
-
class Take < Vagrant.plugin(2, :command)
|
7
|
-
include MultiVmArgs
|
8
|
-
|
9
|
-
def execute
|
10
|
-
options = {}
|
11
|
-
|
12
|
-
opts = OptionParser.new do |opts|
|
13
|
-
opts.banner = "Take snapshot"
|
14
|
-
opts.separator ""
|
15
|
-
opts.separator "Usage: vagrant snapshot take [vm-name] <SNAPSHOT_NAME>"
|
16
|
-
end
|
17
|
-
# Parse the options
|
18
|
-
argv = parse_options(opts)
|
19
|
-
return if !argv
|
20
|
-
|
21
|
-
vm_name, snapshot_name = parse_vm_and_snapshot_options(argv, opts)
|
22
|
-
return if !snapshot_name
|
23
|
-
|
24
|
-
with_target_vms(vm_name, single_target: true) do |machine|
|
25
|
-
machine.env.ui.info("Taking snapshot #{snapshot_name}")
|
26
|
-
machine.provider.driver.execute("snapshot", machine.id, "take", snapshot_name, "--pause") do |type, data|
|
27
|
-
machine.env.ui.info(data, :color => type == :stderr ? :red : :white, :new_line => false)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|