vagrant-libvirt 0.0.20 → 0.0.21

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83974c73aa002ac05b8add5ba4b4e3adff53c729
4
- data.tar.gz: 00d6184e958b478752de82b38150b98d5328eafd
3
+ metadata.gz: 3fdf8fd6ca4373ada92ce1485825e511b1fdd31c
4
+ data.tar.gz: ec35f9ff56aedd836339cde2f3a1d6e387ef03d3
5
5
  SHA512:
6
- metadata.gz: 846e3a40da1e4223aaada5eed447656c339127da0b81a47a27009b338c7f9a3bde75108ea8ed2070b71c06b03ce0ca9779e6f592bd12c81da1456bc2d2e34430
7
- data.tar.gz: 6f38f979224bbeed6f37fee8ffc54c6f8f2fc7d4c51a3bbd9cd2b1b416bda942d3b02f53eb776378b12621e37da566433c0751b5638769456dbf823e8a552faf
6
+ metadata.gz: db2d803e5384f118a5380c18536ebd190a397aacdb4e3cacbd09365100210b681737bdbd7a4be8ac085d724f10777a42963bd5023e0b57919e4e43ca47780eea
7
+ data.tar.gz: a5243fd03b92a76e0a921ed93a061bd5b0161568a60905f074d5c37a5f6a8706db98d94d0273b91162817c1cf98ec609f5d3ec331605891b67a98f64c089763d
data/README.md CHANGED
@@ -141,6 +141,7 @@ end
141
141
  ### Domain Specific Options
142
142
 
143
143
  * `disk_bus` - The type of disk device to emulate. Defaults to virtio if not set. Possible values are documented in libvirt's [description for _target_](http://libvirt.org/formatdomain.html#elementsDisks).
144
+ * `nic_model_type` - parameter specifies the model of the network adapter when you create a domain value by default virtio KVM believe possible values, see the documentation for libvirt
144
145
  * `memory` - Amount of memory in MBytes. Defaults to 512 if not set.
145
146
  * `cpus` - Number of virtual cpus. Defaults to 1 if not set.
146
147
  * `nested` - [Enable nested virtualization](https://github.com/torvalds/linux/blob/master/Documentation/virtual/kvm/nested-vmx.txt). Default is false.
@@ -238,6 +239,7 @@ starts with 'libvirt__' string. Here is a list of those options:
238
239
  be forwarded (NATed or routed). Used only when creating new network. By
239
240
  default, all physical interfaces are used.
240
241
  * `:mac` - MAC address for the interface.
242
+ * `model_type` - parameter specifies the model of the network adapter when you create a domain value by default virtio KVM believe possible values, see the documentation for libvirt
241
243
 
242
244
  ### Public Network Options
243
245
  * `:dev` - Physical device that the public interface should use. Default is 'eth0'.
@@ -309,6 +311,12 @@ vagrant-libvirt supports Forwarded Ports via ssh port forwarding. For each
309
311
  `forwarded_port` directive you specify in your Vagrantfile, vagrant-libvirt
310
312
  will maintain an active ssh process for the lifetime of the VM.
311
313
 
314
+ vagrant-libvirt supports an additional `forwarded_port` option
315
+ `gateway_ports` which defaults to `false`, but can be set to `true` if
316
+ you want the forwarded port to be accessible from outside the Vagrant
317
+ host. In this case you should also set the `host_ip` option to `'*'`
318
+ since it defaults to `'localhost'`.
319
+
312
320
  ## Synced Folders
313
321
 
314
322
  vagrant-libvirt supports bidirectional synced folders via nfs or 9p and
@@ -17,6 +17,8 @@ module VagrantPlugins
17
17
  def initialize(app, env)
18
18
  @logger = Log4r::Logger.new('vagrant_libvirt::action::create_network_interfaces')
19
19
  @management_network_name = env[:machine].provider_config.management_network_name
20
+ config = env[:machine].provider_config
21
+ @nic_model_type = config.nic_model_type
20
22
  @app = app
21
23
  end
22
24
 
@@ -66,6 +68,7 @@ module VagrantPlugins
66
68
  @iface_number = slot_number
67
69
  @network_name = iface_configuration[:network_name]
68
70
  @mac = iface_configuration.fetch(:mac, false)
71
+ @model_type = iface_configuration.fetch(:model_type, @nic_model_type)
69
72
  template_name = 'interface'
70
73
 
71
74
  # Configuration for public interfaces which use the macvtap driver
@@ -73,7 +76,7 @@ module VagrantPlugins
73
76
  @device = iface_configuration.fetch(:dev, 'eth0')
74
77
  @type = iface_configuration.fetch(:type, 'direct')
75
78
  @mode = iface_configuration.fetch(:mode, 'bridge')
76
- @model_type = iface_configuration.fetch(:model_type, 'e1000')
79
+ @model_type = iface_configuration.fetch(:model_type, @nic_model_type)
77
80
  template_name = 'public_interface'
78
81
  @logger.info("Setting up public interface using device #{@device} in mode #{@mode}")
79
82
  end
@@ -53,7 +53,8 @@ module VagrantPlugins
53
53
  fp[:host_ip] || 'localhost',
54
54
  fp[:host],
55
55
  fp[:guest_ip] || @env[:machine].provider.ssh_info[:host],
56
- fp[:guest]
56
+ fp[:guest],
57
+ fp[:gateway_ports] || false
57
58
  )
58
59
  store_ssh_pid(fp[:host], ssh_pid)
59
60
  end
@@ -78,13 +79,15 @@ module VagrantPlugins
78
79
  mappings.values
79
80
  end
80
81
 
81
- def redirect_port(machine, host_ip, host_port, guest_ip, guest_port)
82
+ def redirect_port(machine, host_ip, host_port, guest_ip, guest_port,
83
+ gateway_ports)
82
84
  ssh_info = machine.ssh_info
83
85
  params = %W(
84
86
  "-L #{host_ip}:#{host_port}:#{guest_ip}:#{guest_port}"
85
87
  -N
86
88
  #{ssh_info[:host]}
87
89
  ).join(' ')
90
+ params += ' -g' if gateway_ports
88
91
 
89
92
  options = (%W(
90
93
  User=#{ssh_info[:username]}
@@ -6,7 +6,7 @@ module VagrantPlugins
6
6
  class MountP9
7
7
  extend Vagrant::Util::Retryable
8
8
 
9
- def self.mount_p9_shared_folder(machine, folders, options)
9
+ def self.mount_p9_shared_folder(machine, folders)
10
10
  folders.each do |name, opts|
11
11
  # Expand the guest path so we can handle things like "~/vagrant"
12
12
  expanded_guest_path = machine.guest.capability(
@@ -19,9 +19,9 @@ module VagrantPlugins
19
19
  mount_tag = name.dup
20
20
 
21
21
  mount_opts="-o trans=virtio"
22
- mount_opts += ",access=#{options[:owner]}" if options[:owner]
23
- mount_opts += ",version=#{options[:version]}" if options[:version]
24
- mount_opts += ",#{opts[:mount_options]}" if opts[:mount_options]
22
+ mount_opts += ",access=#{opts[:owner]}" if opts[:owner]
23
+ mount_opts += ",version=#{opts[:version]}" if opts[:version]
24
+ mount_opts += ",#{opts[:mount_opts]}" if opts[:mount_opts]
25
25
 
26
26
  mount_command = "mount -t 9p #{mount_opts} '#{mount_tag}' #{expanded_guest_path}"
27
27
  retryable(:on => Vagrant::Errors::LinuxMountFailed,
@@ -44,7 +44,7 @@ module VagrantPlugins
44
44
  # loop through folders
45
45
  folders.each do |id, folder_opts|
46
46
  folder_opts.merge!({ :accessmode => "passthrough",
47
- :readonly => nil })
47
+ :readonly => nil }) { |_k, ov, _nv| ov }
48
48
  machine.ui.info "================\nMachine id: #{machine.id}\nShould be mounting folders\n #{id}, opts: #{folder_opts}"
49
49
 
50
50
  xml = to_xml('filesystem', folder_opts )
@@ -67,13 +67,12 @@ module VagrantPlugins
67
67
  mount_folders = {}
68
68
  folders.each do |id, opts|
69
69
  mount_folders[id] = opts.dup if opts[:guestpath]
70
+ # merge common options if not given
71
+ mount_folders[id].merge!(:version => '9p2000.L') { |_k, ov, _nv| ov }
70
72
  end
71
- common_opts = {
72
- :version => '9p2000.L',
73
- }
74
73
  # Mount the actual folder
75
74
  machine.guest.capability(
76
- :mount_p9_shared_folder, mount_folders, common_opts)
75
+ :mount_p9_shared_folder, mount_folders)
77
76
  end
78
77
 
79
78
  def cleanup(machine, _opts)
@@ -55,6 +55,7 @@ module VagrantPlugins
55
55
  attr_accessor :cpus
56
56
  attr_accessor :cpu_mode
57
57
  attr_accessor :disk_bus
58
+ attr_accessor :nic_model_type
58
59
  attr_accessor :nested
59
60
  attr_accessor :volume_cache
60
61
  attr_accessor :kernel
@@ -82,6 +83,7 @@ module VagrantPlugins
82
83
  @cpus = UNSET_VALUE
83
84
  @cpu_mode = UNSET_VALUE
84
85
  @disk_bus = UNSET_VALUE
86
+ @nic_model_type = UNSET_VALUE
85
87
  @nested = UNSET_VALUE
86
88
  @volume_cache = UNSET_VALUE
87
89
  @kernel = UNSET_VALUE
@@ -198,6 +200,7 @@ module VagrantPlugins
198
200
  @cpus = 1 if @cpus == UNSET_VALUE
199
201
  @cpu_mode = 'host-model' if @cpu_mode == UNSET_VALUE
200
202
  @disk_bus = 'virtio' if @disk_bus == UNSET_VALUE
203
+ @nic_model_type = 'virtio' if @nic_model_type == UNSET_VALUE
201
204
  @nested = false if @nested == UNSET_VALUE
202
205
  @volume_cache = 'default' if @volume_cache == UNSET_VALUE
203
206
  @kernel = nil if @kernel == UNSET_VALUE
@@ -5,6 +5,6 @@
5
5
  <% end %>
6
6
  <target dev='vnet<%= @iface_number %>'/>
7
7
  <alias name='net<%= @iface_number %>'/>
8
- <model type='virtio'/>
8
+ <model type='<%=@model_type%>'/>
9
9
  </interface>
10
10
 
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module ProviderLibvirt
3
- VERSION = '0.0.20'
3
+ VERSION = '0.0.21'
4
4
  end
5
5
  end
@@ -5,7 +5,7 @@ Gem::Specification.new do |gem|
5
5
  gem.authors = ['Lukas Stanek','Dima Vasilets','Brian Pitts']
6
6
  gem.email = ['ls@elostech.cz','pronix.service@gmail.com','brian@polibyte.com']
7
7
  gem.license = 'MIT'
8
- gem.description = %q{Vagrant provider for libvirt.}
8
+ gem.description = %q{Vagrant provider for libvirt. support a lot options}
9
9
  gem.summary = %q{Vagrant provider for libvirt.}
10
10
  gem.homepage = 'https://github.com/pradels/vagrant-libvirt'
11
11
 
@@ -16,14 +16,14 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ['lib']
17
17
  gem.version = VagrantPlugins::ProviderLibvirt::VERSION
18
18
 
19
- gem.add_development_dependency "rspec-core", "~> 2.12.2"
20
- gem.add_development_dependency "rspec-expectations", "~> 2.12.1"
21
- gem.add_development_dependency "rspec-mocks", "~> 2.12.1"
19
+ gem.add_development_dependency 'rspec-core', '2.12.2'
20
+ gem.add_development_dependency 'rspec-expectations', '2.12.1'
21
+ gem.add_development_dependency 'rspec-mocks', '2.12.1'
22
22
 
23
- gem.add_runtime_dependency 'fog', '~> 1.15'
24
- gem.add_runtime_dependency 'ruby-libvirt', '~> 0.4.0'
25
- gem.add_runtime_dependency 'nokogiri', '~> 1.6'
23
+ gem.add_runtime_dependency 'fog', '1.15'
24
+ gem.add_runtime_dependency 'ruby-libvirt', '0.4.0'
25
+ gem.add_runtime_dependency 'nokogiri', '1.6'
26
26
 
27
- gem.add_development_dependency 'rake'
27
+ gem.add_development_dependency 'rake', '10.1.0'
28
28
  end
29
29
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-libvirt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Stanek
@@ -10,107 +10,107 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-09-04 00:00:00.000000000 Z
13
+ date: 2014-09-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec-core
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - "~>"
19
+ - - '='
20
20
  - !ruby/object:Gem::Version
21
21
  version: 2.12.2
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - "~>"
26
+ - - '='
27
27
  - !ruby/object:Gem::Version
28
28
  version: 2.12.2
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rspec-expectations
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - "~>"
33
+ - - '='
34
34
  - !ruby/object:Gem::Version
35
35
  version: 2.12.1
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - "~>"
40
+ - - '='
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.12.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rspec-mocks
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - '='
48
48
  - !ruby/object:Gem::Version
49
49
  version: 2.12.1
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
54
+ - - '='
55
55
  - !ruby/object:Gem::Version
56
56
  version: 2.12.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: fog
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
- - - "~>"
61
+ - - '='
62
62
  - !ruby/object:Gem::Version
63
63
  version: '1.15'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
- - - "~>"
68
+ - - '='
69
69
  - !ruby/object:Gem::Version
70
70
  version: '1.15'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: ruby-libvirt
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - "~>"
75
+ - - '='
76
76
  - !ruby/object:Gem::Version
77
77
  version: 0.4.0
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - "~>"
82
+ - - '='
83
83
  - !ruby/object:Gem::Version
84
84
  version: 0.4.0
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: nokogiri
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - "~>"
89
+ - - '='
90
90
  - !ruby/object:Gem::Version
91
91
  version: '1.6'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - "~>"
96
+ - - '='
97
97
  - !ruby/object:Gem::Version
98
98
  version: '1.6'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rake
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - ">="
103
+ - - '='
104
104
  - !ruby/object:Gem::Version
105
- version: '0'
105
+ version: 10.1.0
106
106
  type: :development
107
107
  prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - ">="
110
+ - - '='
111
111
  - !ruby/object:Gem::Version
112
- version: '0'
113
- description: Vagrant provider for libvirt.
112
+ version: 10.1.0
113
+ description: Vagrant provider for libvirt. support a lot options
114
114
  email:
115
115
  - ls@elostech.cz
116
116
  - pronix.service@gmail.com