vagrant-parallels 1.3.13 → 1.4.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Vagrantfile +5 -6
- data/lib/vagrant-parallels/action/export.rb +7 -1
- data/lib/vagrant-parallels/action/import.rb +35 -3
- data/lib/vagrant-parallels/action/network.rb +8 -8
- data/lib/vagrant-parallels/config.rb +4 -0
- data/lib/vagrant-parallels/driver/base.rb +424 -53
- data/lib/vagrant-parallels/driver/meta.rb +8 -10
- data/lib/vagrant-parallels/driver/pd_10.rb +15 -21
- data/lib/vagrant-parallels/driver/pd_11.rb +41 -0
- data/lib/vagrant-parallels/driver/pd_8.rb +1 -397
- data/lib/vagrant-parallels/driver/pd_9.rb +1 -1
- data/lib/vagrant-parallels/errors.rb +4 -0
- data/lib/vagrant-parallels/plugin.rb +1 -0
- data/lib/vagrant-parallels/version.rb +1 -1
- data/locales/en.yml +9 -2
- data/tasks/acceptance.rake +2 -2
- data/tasks/test.rake +0 -4
- data/test/acceptance/provider/linked_clone_spec.rb +26 -0
- data/test/acceptance/skeletons/linked_clone/Vagrantfile +7 -0
- data/test/unit/support/shared/pd_driver_examples.rb +13 -18
- metadata +5 -2
data/locales/en.yml
CHANGED
@@ -51,7 +51,7 @@ en:
|
|
51
51
|
There is no available slots on the Parallels Desktop VM for the configured
|
52
52
|
high-level network interfaces. "private_network" and "public_network"
|
53
53
|
network configurations consume a single network adapter slot on the
|
54
|
-
Parallels Desktop VM. Parallels Desktop limits the number of slots to
|
54
|
+
Parallels Desktop VM. Parallels Desktop limits the number of slots to 16, and it
|
55
55
|
appears that every slot is in use. Please lower the number of used
|
56
56
|
network adapters.
|
57
57
|
parallels_not_detected: |-
|
@@ -75,6 +75,11 @@ en:
|
|
75
75
|
Could not find a required option of Parallels Desktop virtual machine:
|
76
76
|
%{vm_option}
|
77
77
|
This is an internal error that should be reported as a bug.
|
78
|
+
snapshot_id_not_detected: |-
|
79
|
+
ID of the newly created shapshod could not be detected. This is an
|
80
|
+
internal error that users should never see. Please report a bug.
|
81
|
+
|
82
|
+
stdout: %{stdout}
|
78
83
|
shared_adapter_not_found: |-
|
79
84
|
Shared network adapter was not found in your virtual machine configuration.
|
80
85
|
It is required to communicate with VM and forward ports. Please check
|
@@ -163,4 +168,6 @@ en:
|
|
163
168
|
compacting: Compacting exported HDDs...
|
164
169
|
forward_ports:
|
165
170
|
forwarding_entry: |-
|
166
|
-
%{guest_port} => %{host_port}
|
171
|
+
%{guest_port} => %{host_port}
|
172
|
+
import:
|
173
|
+
importing_linked: Importing base box '%{name}' as a linked clone...
|
data/tasks/acceptance.rake
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
namespace :acceptance do
|
2
2
|
desc "shows components that can be tested separately"
|
3
3
|
task :components do
|
4
|
-
exec("
|
4
|
+
exec("vagrant-spec components")
|
5
5
|
end
|
6
6
|
|
7
7
|
desc "runs acceptance tests using vagrant-spec"
|
@@ -18,7 +18,7 @@ namespace :acceptance do
|
|
18
18
|
package
|
19
19
|
).map{ |s| "provider/parallels/#{s}" }
|
20
20
|
|
21
|
-
command = "
|
21
|
+
command = "vagrant-spec test --components=#{components.join(" ")}"
|
22
22
|
puts command
|
23
23
|
puts
|
24
24
|
exec(command)
|
data/tasks/test.rake
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
# This tests that VM is up as a linked clone
|
2
|
+
shared_examples 'provider/linked_clone' do |provider, options|
|
3
|
+
if !options[:box]
|
4
|
+
raise ArgumentError,
|
5
|
+
"box option must be specified for provider: #{provider}"
|
6
|
+
end
|
7
|
+
|
8
|
+
include_context 'acceptance'
|
9
|
+
|
10
|
+
before do
|
11
|
+
environment.skeleton('linked_clone')
|
12
|
+
assert_execute('vagrant', 'box', 'add', 'basic', options[:box])
|
13
|
+
assert_execute('vagrant', 'up', "--provider=#{provider}")
|
14
|
+
end
|
15
|
+
|
16
|
+
after do
|
17
|
+
assert_execute('vagrant', 'destroy', '--force')
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'creates machine as linked clone' do
|
21
|
+
status("Test: machine is running after up")
|
22
|
+
result = execute("vagrant", "ssh", "-c", "echo foo")
|
23
|
+
expect(result).to exit_with(0)
|
24
|
+
expect(result.stdout).to match(/foo\n$/)
|
25
|
+
end
|
26
|
+
end
|
@@ -115,17 +115,24 @@ shared_examples "parallels desktop driver" do |options|
|
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
|
-
describe "
|
119
|
-
|
120
|
-
|
118
|
+
describe "clone_vm" do
|
119
|
+
it "clones VM to the new one" do
|
120
|
+
subprocess.should_receive(:execute).
|
121
|
+
with("prlctl", "clone", tpl_uuid, "--name", vm_name,
|
122
|
+
an_instance_of(Hash)).
|
123
|
+
and_return(subprocess_result(exit_code: 0))
|
124
|
+
subject.clone_vm(tpl_uuid, vm_name).should == uuid
|
125
|
+
end
|
121
126
|
|
122
|
-
it "
|
127
|
+
it "clones VM to template" do
|
123
128
|
subprocess.should_receive(:execute).
|
124
|
-
with("prlctl", "clone", uuid, "--name",
|
129
|
+
with("prlctl", "clone", uuid, "--name", tpl_name,
|
125
130
|
"--template", "--dst", an_instance_of(String),
|
126
131
|
an_instance_of(Hash)).
|
127
132
|
and_return(subprocess_result(exit_code: 0))
|
128
|
-
subject.
|
133
|
+
subject.clone_vm(uuid, tpl_name,
|
134
|
+
{dst: "/path/to/template", template: true}).
|
135
|
+
should == tpl_uuid
|
129
136
|
end
|
130
137
|
end
|
131
138
|
|
@@ -251,18 +258,6 @@ shared_examples "parallels desktop driver" do |options|
|
|
251
258
|
end
|
252
259
|
end
|
253
260
|
|
254
|
-
describe "set_mac_address" do
|
255
|
-
it "sets base MAC address to the Shared network adapter" do
|
256
|
-
subprocess.should_receive(:execute).exactly(2).times.
|
257
|
-
with("prlctl", "set", uuid, '--device-set', 'net0', '--type', 'shared',
|
258
|
-
'--mac', an_instance_of(String), an_instance_of(Hash)).
|
259
|
-
and_return(subprocess_result(exit_code: 0))
|
260
|
-
|
261
|
-
subject.set_mac_address('001C42DD5902')
|
262
|
-
subject.set_mac_address('auto')
|
263
|
-
end
|
264
|
-
end
|
265
|
-
|
266
261
|
describe "set_name" do
|
267
262
|
it "sets new name for the VM" do
|
268
263
|
subprocess.should_receive(:execute).
|
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.
|
4
|
+
version: 1.4.0.rc1
|
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: 2015-06-
|
12
|
+
date: 2015-06-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -146,6 +146,7 @@ files:
|
|
146
146
|
- lib/vagrant-parallels/driver/base.rb
|
147
147
|
- lib/vagrant-parallels/driver/meta.rb
|
148
148
|
- lib/vagrant-parallels/driver/pd_10.rb
|
149
|
+
- lib/vagrant-parallels/driver/pd_11.rb
|
149
150
|
- lib/vagrant-parallels/driver/pd_8.rb
|
150
151
|
- lib/vagrant-parallels/driver/pd_9.rb
|
151
152
|
- lib/vagrant-parallels/errors.rb
|
@@ -163,8 +164,10 @@ files:
|
|
163
164
|
- tasks/bundler.rake
|
164
165
|
- tasks/test.rake
|
165
166
|
- test/acceptance/base.rb
|
167
|
+
- test/acceptance/provider/linked_clone_spec.rb
|
166
168
|
- test/acceptance/provider/synced_folder_spec.rb
|
167
169
|
- test/acceptance/shared/context_parallels.rb
|
170
|
+
- test/acceptance/skeletons/linked_clone/Vagrantfile
|
168
171
|
- test/acceptance/skeletons/synced_folder/Vagrantfile
|
169
172
|
- test/acceptance/skeletons/synced_folder/foo
|
170
173
|
- test/unit/base.rb
|