vagrant-parallels 0.2.1 → 0.2.2.rc1

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +21 -13
  3. data/.travis.yml +1 -0
  4. data/README.md +43 -54
  5. data/config/i18n-tasks.yml.erb +1 -1
  6. data/debug.log +941 -0
  7. data/lib/vagrant-parallels/action.rb +0 -7
  8. data/lib/vagrant-parallels/action/check_accessible.rb +1 -1
  9. data/lib/vagrant-parallels/action/check_guest_tools.rb +10 -2
  10. data/lib/vagrant-parallels/action/clear_network_interfaces.rb +1 -1
  11. data/lib/vagrant-parallels/action/customize.rb +6 -4
  12. data/lib/vagrant-parallels/action/export.rb +56 -12
  13. data/lib/vagrant-parallels/action/import.rb +49 -30
  14. data/lib/vagrant-parallels/action/network.rb +137 -48
  15. data/lib/vagrant-parallels/action/package_config_files.rb +0 -12
  16. data/lib/vagrant-parallels/action/prepare_nfs_valid_ids.rb +1 -1
  17. data/lib/vagrant-parallels/action/set_name.rb +2 -2
  18. data/lib/vagrant-parallels/config.rb +11 -2
  19. data/lib/vagrant-parallels/driver/base.rb +281 -0
  20. data/lib/vagrant-parallels/driver/meta.rb +138 -0
  21. data/lib/vagrant-parallels/driver/{prl_ctl.rb → pd_8.rb} +116 -256
  22. data/lib/vagrant-parallels/driver/pd_9.rb +417 -0
  23. data/lib/vagrant-parallels/errors.rb +15 -7
  24. data/lib/vagrant-parallels/plugin.rb +7 -7
  25. data/lib/vagrant-parallels/provider.rb +33 -3
  26. data/lib/vagrant-parallels/version.rb +1 -1
  27. data/locales/en.yml +30 -16
  28. data/test/unit/base.rb +1 -5
  29. data/test/unit/config_test.rb +13 -2
  30. data/test/unit/driver/pd_8_test.rb +196 -0
  31. data/test/unit/driver/pd_9_test.rb +196 -0
  32. data/test/unit/locales/locales_test.rb +1 -1
  33. data/test/unit/support/shared/parallels_context.rb +2 -2
  34. data/test/unit/support/shared/pd_driver_examples.rb +243 -0
  35. data/test/unit/synced_folder_test.rb +37 -0
  36. data/vagrant-parallels.gemspec +5 -5
  37. metadata +39 -32
  38. data/lib/vagrant-parallels/action/match_mac_address.rb +0 -28
  39. data/lib/vagrant-parallels/action/register_template.rb +0 -24
  40. data/lib/vagrant-parallels/action/unregister_template.rb +0 -26
  41. data/test/support/isolated_environment.rb +0 -46
  42. data/test/support/tempdir.rb +0 -43
  43. data/test/unit/driver/prl_ctl_test.rb +0 -148
@@ -9,6 +9,6 @@ describe 'locales' do
9
9
  end
10
10
 
11
11
  it 'are all present' do
12
- i18n.untranslated_keys.should have(0).keys
12
+ i18n.missing_keys.should have(0).keys
13
13
  end
14
14
  end
@@ -1,6 +1,6 @@
1
1
  shared_context "parallels" do
2
2
  let(:parallels_context) { true }
3
- let(:uuid) { "9876-dcba-8765-hgfe" }
3
+ let(:uuid) { "1234-here-is-uuid-5678" }
4
4
  let(:parallels_version) { "9" }
5
5
  let(:subprocess) { double("Vagrant::Util::Subprocess") }
6
6
 
@@ -24,7 +24,7 @@ shared_context "parallels" do
24
24
 
25
25
  # drivers also call vm_exists? during init;
26
26
  subprocess.stub(:execute).
27
- with("prlctl", "list", kind_of(String), "--info", "--json", kind_of(Hash)).
27
+ with("prlctl", "list", uuid, kind_of(Hash)).
28
28
  and_return(subprocess_result(exit_code: 0))
29
29
  end
30
30
  end
@@ -0,0 +1,243 @@
1
+ shared_examples "parallels desktop driver" do |options|
2
+ before do
3
+ raise ArgumentError, "Need parallels context to use these shared examples." unless defined? parallels_context
4
+ end
5
+
6
+ # Accessor to the delegate object
7
+ let(:driver) { subject.instance_variable_get("@driver") }
8
+
9
+ describe "compact" do
10
+ settings = {"Hardware" => {"hdd0" => {"image" => "/path/to/disk0.hdd"},
11
+ "hdd1" => {"image" => "/path/to/disk1.hdd"}}}
12
+ it "compacts the VM disk drives" do
13
+ driver.should_receive(:read_settings).and_return(settings)
14
+
15
+ subprocess.should_receive(:execute).exactly(2).times.
16
+ with("prl_disk_tool", 'compact', '--hdd', /^\/path\/to\/disk(0|1).hdd$/,
17
+ an_instance_of(Hash)).
18
+ and_return(subprocess_result(exit_code: 0))
19
+ subject.compact(uuid)
20
+ end
21
+ end
22
+
23
+ describe "clear_shared_folders" do
24
+ it "deletes every shared folder assigned to the VM" do
25
+ subprocess.should_receive(:execute).at_least(2).times.
26
+ with("prlctl", "set", uuid, "--shf-host-del", an_instance_of(String),
27
+ an_instance_of(Hash)).
28
+ and_return(subprocess_result(exit_code: 0))
29
+ subject.clear_shared_folders
30
+ end
31
+ end
32
+
33
+ describe "create_host_only_network" do
34
+ let(:hostonly_iface) {'vnic12'}
35
+ it "creates host-only NIC with dhcp server configured" do
36
+ vnic_opts = {
37
+ :name => 'vagrant_vnic8',
38
+ :adapter_ip => '11.11.11.11',
39
+ :netmask => '255.255.252.0',
40
+ :dhcp => {
41
+ :ip => '11.11.11.11',
42
+ :lower => '11.11.8.1',
43
+ :upper => '11.11.11.254'
44
+ }
45
+ }
46
+
47
+ subprocess.should_receive(:execute).
48
+ with("prlsrvctl", "net", "add", vnic_opts[:name],
49
+ "--type", "host-only", an_instance_of(Hash)).
50
+ and_return(subprocess_result(exit_code: 0))
51
+
52
+ subprocess.should_receive(:execute).
53
+ with("prlsrvctl", "net", "set", vnic_opts[:name],
54
+ "--ip", "#{vnic_opts[:adapter_ip]}/#{vnic_opts[:netmask]}",
55
+ "--dhcp-ip", vnic_opts[:dhcp][:ip],
56
+ "--ip-scope-start", vnic_opts[:dhcp][:lower],
57
+ "--ip-scope-end", vnic_opts[:dhcp][:upper], an_instance_of(Hash)).
58
+ and_return(subprocess_result(exit_code: 0))
59
+
60
+ interface = subject.create_host_only_network(vnic_opts)
61
+
62
+ interface.should include(:name => vnic_opts[:name])
63
+ interface.should include(:ip => vnic_opts[:adapter_ip])
64
+ interface.should include(:netmask => vnic_opts[:netmask])
65
+ interface.should include(:dhcp => vnic_opts[:dhcp])
66
+ interface.should include(:bound_to => hostonly_iface)
67
+ interface[:bound_to].should =~ /^(vnic(\d+))$/
68
+ end
69
+
70
+ it "creates host-only NIC without dhcp" do
71
+ vnic_options = {
72
+ :name => 'vagrant_vnic3',
73
+ :adapter_ip => '22.22.22.22',
74
+ :netmask => '255.255.254.0',
75
+ }
76
+
77
+ subprocess.should_receive(:execute).
78
+ with("prlsrvctl", "net", "add", vnic_options[:name],
79
+ "--type", "host-only", an_instance_of(Hash)).
80
+ and_return(subprocess_result(exit_code: 0))
81
+
82
+ subprocess.should_receive(:execute).
83
+ with("prlsrvctl", "net", "set", vnic_options[:name],
84
+ "--ip", "#{vnic_options[:adapter_ip]}/#{vnic_options[:netmask]}",
85
+ an_instance_of(Hash)).
86
+ and_return(subprocess_result(exit_code: 0))
87
+
88
+ interface = subject.create_host_only_network(vnic_options)
89
+
90
+ interface.should include(:name => vnic_options[:name])
91
+ interface.should include(:ip => vnic_options[:adapter_ip])
92
+ interface.should include(:netmask => vnic_options[:netmask])
93
+ interface.should include(:dhcp => nil)
94
+ interface.should include(:bound_to => hostonly_iface)
95
+ interface[:bound_to].should =~ /^(vnic(\d+))$/
96
+ end
97
+ end
98
+
99
+ describe "delete" do
100
+ it "deletes the VM" do
101
+ subprocess.should_receive(:execute).
102
+ with("prlctl", "delete", uuid, an_instance_of(Hash)).
103
+ and_return(subprocess_result(exit_code: 0))
104
+ subject.delete
105
+ end
106
+ end
107
+
108
+ describe "delete_disabled_adapters" do
109
+ it "deletes disabled networks adapters from VM config" do
110
+ settings = {"Hardware" => {"net0" => {"enabled" => false},
111
+ "net1" => {"enabled" => false}}}
112
+ driver.should_receive(:read_settings).and_return(settings)
113
+ subprocess.should_receive(:execute).exactly(2).times.
114
+ with("prlctl", "set", uuid, "--device-del", /^net(0|1)$/,
115
+ an_instance_of(Hash)).
116
+ and_return(subprocess_result(exit_code: 0))
117
+ subject.delete_disabled_adapters
118
+ end
119
+ end
120
+
121
+ describe "export" do
122
+ tpl_name = "Some_Template_Name"
123
+ tpl_uuid = "1234-some-template-uuid-5678"
124
+
125
+ it "exports VM to template" do
126
+ subprocess.should_receive(:execute).
127
+ with("prlctl", "clone", uuid, "--name", an_instance_of(String),
128
+ "--template", "--dst", an_instance_of(String),
129
+ an_instance_of(Hash)).
130
+ and_return(subprocess_result(exit_code: 0))
131
+ subject.export("/path/to/template", tpl_name).should == tpl_uuid
132
+ end
133
+ end
134
+
135
+ describe "halt" do
136
+ it "stops the VM" do
137
+ subprocess.should_receive(:execute).
138
+ with("prlctl", "stop", uuid, an_instance_of(Hash)).
139
+ and_return(subprocess_result(exit_code: 0))
140
+ subject.halt
141
+ end
142
+
143
+ it "stops the VM force" do
144
+ subprocess.should_receive(:execute).
145
+ with("prlctl", "stop", uuid, "--kill", an_instance_of(Hash)).
146
+ and_return(subprocess_result(exit_code: 0))
147
+ subject.halt(force=true)
148
+ end
149
+ end
150
+
151
+ describe "read_settings" do
152
+ it "returns a hash with detailed info about the VM" do
153
+ subject.read_settings.should be_kind_of(Hash)
154
+ subject.read_settings.should include("ID" => uuid)
155
+ subject.read_settings.should include("Hardware")
156
+ subject.read_settings.should include("GuestTools")
157
+ end
158
+ end
159
+
160
+ describe "read_vms" do
161
+ it "returns the list of all registered VMs and templates" do
162
+ subject.read_vms.should be_kind_of(Hash)
163
+ subject.read_vms.should have_at_least(2).items
164
+ subject.read_vms.should include(vm_name => uuid)
165
+ end
166
+ end
167
+
168
+ describe "read_vms_info" do
169
+ it "returns detailed info about all registered VMs and templates" do
170
+ subject.read_vms_info.should be_kind_of(Array)
171
+ subject.read_vms_info.should have_at_least(2).items
172
+
173
+ # It should include info about current VM
174
+ vm_settings = driver.send(:read_settings)
175
+ subject.read_vms_info.should include(vm_settings)
176
+ end
177
+ end
178
+
179
+ describe "set_mac_address" do
180
+ it "sets base MAC address to the Shared network adapter" do
181
+ subprocess.should_receive(:execute).exactly(2).times.
182
+ with("prlctl", "set", uuid, '--device-set', 'net0', '--type', 'shared',
183
+ '--mac', an_instance_of(String), an_instance_of(Hash)).
184
+ and_return(subprocess_result(exit_code: 0))
185
+
186
+ subject.set_mac_address('001C42DD5902')
187
+ subject.set_mac_address('auto')
188
+ end
189
+ end
190
+
191
+ describe "set_name" do
192
+ it "sets new name for the VM" do
193
+ subprocess.should_receive(:execute).
194
+ with("prlctl", "set", uuid, '--name', an_instance_of(String),
195
+ an_instance_of(Hash)).
196
+ and_return(subprocess_result(exit_code: 0))
197
+
198
+ subject.set_name('new_vm_name')
199
+ end
200
+ end
201
+
202
+ describe "start" do
203
+ it "starts the VM" do
204
+ subprocess.should_receive(:execute).
205
+ with("prlctl", "start", uuid, an_instance_of(Hash)).
206
+ and_return(subprocess_result(exit_code: 0))
207
+ subject.start
208
+ end
209
+ end
210
+
211
+ describe "suspend" do
212
+ it "suspends the VM" do
213
+ subprocess.should_receive(:execute).
214
+ with("prlctl", "suspend", uuid, an_instance_of(Hash)).
215
+ and_return(subprocess_result(exit_code: 0))
216
+ subject.suspend
217
+ end
218
+ end
219
+
220
+ describe "unregister" do
221
+ it "suspends the VM" do
222
+ subprocess.should_receive(:execute).
223
+ with("prlctl", "unregister", an_instance_of(String),
224
+ an_instance_of(Hash)).
225
+ and_return(subprocess_result(exit_code: 0))
226
+ subject.unregister("template_or_vm_uuid")
227
+ end
228
+ end
229
+
230
+ describe "version" do
231
+ it "parses the version from output" do
232
+ subject.version.should match(/(#{parallels_version}[\d\.]+)/)
233
+ end
234
+
235
+ it "rises ParallelsInstallIncomplete exception when output is invalid" do
236
+ subprocess.should_receive(:execute).
237
+ with("prlctl", "--version", an_instance_of(Hash)).
238
+ and_return(subprocess_result(exit_code: 0))
239
+ expect { subject.version }.
240
+ to raise_error(VagrantPlugins::Parallels::Errors::ParallelsInvalidVersion)
241
+ end
242
+ end
243
+ end
@@ -0,0 +1,37 @@
1
+ require "vagrant"
2
+ require_relative "base"
3
+
4
+ require VagrantPlugins::Parallels.source_root.join('lib/vagrant-parallels/synced_folder')
5
+
6
+ describe VagrantPlugins::Parallels::SyncedFolder do
7
+ let(:machine) do
8
+ double("machine").tap do |m|
9
+ end
10
+ end
11
+
12
+ subject { described_class.new }
13
+
14
+ describe "usable" do
15
+ it "should be with parallels provider" do
16
+ machine.stub(provider_name: :parallels)
17
+ subject.should be_usable(machine)
18
+ end
19
+
20
+ it "should not be with another provider" do
21
+ machine.stub(provider_name: :virtualbox)
22
+ subject.should_not be_usable(machine)
23
+ end
24
+ end
25
+
26
+ describe "prepare" do
27
+ let(:driver) { double("driver") }
28
+
29
+ before do
30
+ machine.stub(driver: driver)
31
+ end
32
+
33
+ it "should share the folders" do
34
+ pending
35
+ end
36
+ end
37
+ end
@@ -6,10 +6,10 @@ Gem::Specification.new do |spec|
6
6
  spec.name = "vagrant-parallels"
7
7
  spec.version = VagrantPlugins::Parallels::VERSION
8
8
  spec.platform = Gem::Platform::RUBY
9
- spec.authors = ["Youssef Shahin"]
10
- spec.email = ["yshahin@gmail.com"]
11
- spec.description = %q{Enables Vagrant to manage Parallels machines.}
12
- spec.summary = %q{Enables Vagrant to manage Parallels machines.}
9
+ spec.authors = ["Mikhail Zholobov", "Youssef Shahin"]
10
+ spec.email = ["mzholobov@parallels.com", "yshahin@gmail.com"]
11
+ spec.summary = %q{Parallels provider for Vagrant.}
12
+ spec.description = %q{Enables Vagrant to manage Parallels virtual machines.}
13
13
  spec.homepage = "http://github.com/Parallels/vagrant-parallels"
14
14
  spec.license = "MIT"
15
15
 
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.add_development_dependency "bundler", "~> 1.5.2"
20
20
  spec.add_development_dependency "rake"
21
21
  spec.add_development_dependency "rspec", "~> 2.14.0"
22
- spec.add_development_dependency "i18n-tasks", "~> 0.2.14"
22
+ spec.add_development_dependency "i18n-tasks", "~> 0.2.21"
23
23
 
24
24
  # The following block of code determines the files that should be included
25
25
  # in the gem. It does this by reading all the files in the directory where
metadata CHANGED
@@ -1,87 +1,84 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-parallels
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2.rc1
5
5
  platform: ruby
6
6
  authors:
7
+ - Mikhail Zholobov
7
8
  - Youssef Shahin
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-02-02 00:00:00.000000000 Z
12
+ date: 2014-03-02 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ~>
18
19
  - !ruby/object:Gem::Version
19
20
  version: 1.5.2
20
21
  type: :development
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - "~>"
25
+ - - ~>
25
26
  - !ruby/object:Gem::Version
26
27
  version: 1.5.2
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ">="
32
+ - - '>='
32
33
  - !ruby/object:Gem::Version
33
34
  version: '0'
34
35
  type: :development
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - ">="
39
+ - - '>='
39
40
  - !ruby/object:Gem::Version
40
41
  version: '0'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: rspec
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - "~>"
46
+ - - ~>
46
47
  - !ruby/object:Gem::Version
47
48
  version: 2.14.0
48
49
  type: :development
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - "~>"
53
+ - - ~>
53
54
  - !ruby/object:Gem::Version
54
55
  version: 2.14.0
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: i18n-tasks
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - "~>"
60
+ - - ~>
60
61
  - !ruby/object:Gem::Version
61
- version: 0.2.14
62
+ version: 0.2.21
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - "~>"
67
+ - - ~>
67
68
  - !ruby/object:Gem::Version
68
- version: 0.2.14
69
- description: Enables Vagrant to manage Parallels machines.
69
+ version: 0.2.21
70
+ description: Enables Vagrant to manage Parallels virtual machines.
70
71
  email:
72
+ - mzholobov@parallels.com
71
73
  - yshahin@gmail.com
72
74
  executables: []
73
75
  extensions: []
74
76
  extra_rdoc_files: []
75
77
  files:
76
- - ".gitignore"
77
- - ".travis.yml"
78
- - Gemfile
79
- - LICENSE.txt
80
- - README.md
81
- - Rakefile
82
78
  - config/i18n-tasks.yml.erb
83
- - lib/vagrant-parallels.rb
84
- - lib/vagrant-parallels/action.rb
79
+ - debug.log
80
+ - Gemfile
81
+ - Gemfile.lock
85
82
  - lib/vagrant-parallels/action/boot.rb
86
83
  - lib/vagrant-parallels/action/check_accessible.rb
87
84
  - lib/vagrant-parallels/action/check_created.rb
@@ -99,7 +96,6 @@ files:
99
96
  - lib/vagrant-parallels/action/import.rb
100
97
  - lib/vagrant-parallels/action/is_running.rb
101
98
  - lib/vagrant-parallels/action/is_suspended.rb
102
- - lib/vagrant-parallels/action/match_mac_address.rb
103
99
  - lib/vagrant-parallels/action/message_already_running.rb
104
100
  - lib/vagrant-parallels/action/message_not_created.rb
105
101
  - lib/vagrant-parallels/action/message_not_running.rb
@@ -109,14 +105,16 @@ files:
109
105
  - lib/vagrant-parallels/action/package_config_files.rb
110
106
  - lib/vagrant-parallels/action/prepare_nfs_settings.rb
111
107
  - lib/vagrant-parallels/action/prepare_nfs_valid_ids.rb
112
- - lib/vagrant-parallels/action/register_template.rb
113
108
  - lib/vagrant-parallels/action/resume.rb
114
109
  - lib/vagrant-parallels/action/set_name.rb
115
110
  - lib/vagrant-parallels/action/setup_package_files.rb
116
111
  - lib/vagrant-parallels/action/suspend.rb
117
- - lib/vagrant-parallels/action/unregister_template.rb
112
+ - lib/vagrant-parallels/action.rb
118
113
  - lib/vagrant-parallels/config.rb
119
- - lib/vagrant-parallels/driver/prl_ctl.rb
114
+ - lib/vagrant-parallels/driver/base.rb
115
+ - lib/vagrant-parallels/driver/meta.rb
116
+ - lib/vagrant-parallels/driver/pd_8.rb
117
+ - lib/vagrant-parallels/driver/pd_9.rb
120
118
  - lib/vagrant-parallels/errors.rb
121
119
  - lib/vagrant-parallels/guest_cap/darwin/mount_parallels_shared_folder.rb
122
120
  - lib/vagrant-parallels/guest_cap/linux/mount_parallels_shared_folder.rb
@@ -124,17 +122,26 @@ files:
124
122
  - lib/vagrant-parallels/provider.rb
125
123
  - lib/vagrant-parallels/synced_folder.rb
126
124
  - lib/vagrant-parallels/version.rb
125
+ - lib/vagrant-parallels.rb
126
+ - LICENSE.txt
127
127
  - locales/en.yml
128
+ - Rakefile
129
+ - README.md
128
130
  - tasks/bundler.rake
129
131
  - tasks/test.rake
130
- - test/support/isolated_environment.rb
131
- - test/support/tempdir.rb
132
132
  - test/unit/base.rb
133
133
  - test/unit/config_test.rb
134
- - test/unit/driver/prl_ctl_test.rb
134
+ - test/unit/driver/pd_8_test.rb
135
+ - test/unit/driver/pd_9_test.rb
135
136
  - test/unit/locales/locales_test.rb
136
137
  - test/unit/support/shared/parallels_context.rb
138
+ - test/unit/support/shared/pd_driver_examples.rb
139
+ - test/unit/synced_folder_test.rb
137
140
  - vagrant-parallels.gemspec
141
+ - vagrant-spec.config.rb
142
+ - Vagrantfile
143
+ - .gitignore
144
+ - .travis.yml
138
145
  homepage: http://github.com/Parallels/vagrant-parallels
139
146
  licenses:
140
147
  - MIT
@@ -145,18 +152,18 @@ require_paths:
145
152
  - lib
146
153
  required_ruby_version: !ruby/object:Gem::Requirement
147
154
  requirements:
148
- - - ">="
155
+ - - '>='
149
156
  - !ruby/object:Gem::Version
150
157
  version: '0'
151
158
  required_rubygems_version: !ruby/object:Gem::Requirement
152
159
  requirements:
153
- - - ">="
160
+ - - '>='
154
161
  - !ruby/object:Gem::Version
155
162
  version: 1.3.6
156
163
  requirements: []
157
164
  rubyforge_project: vagrant-parallels
158
- rubygems_version: 2.2.0
165
+ rubygems_version: 2.0.14
159
166
  signing_key:
160
167
  specification_version: 4
161
- summary: Enables Vagrant to manage Parallels machines.
168
+ summary: Parallels provider for Vagrant.
162
169
  test_files: []