Specify PCI bus and slot for management net iface

Signed-off-by: Tomasz Madycki <tomasz.madycki@gmail.com>
This commit is contained in:
Tomasz Madycki
2018-01-24 18:15:23 +01:00
parent c01ddb8dd4
commit ea7c01fec0
3 changed files with 18 additions and 1 deletions

View File

@@ -689,6 +689,8 @@ used by this network are configurable at the provider level.
for for more information.
* `management_network_autostart` - Automatic startup of mgmt network, if not
specified the default is 'false'.
* `:management_network_pci_bus` - The bus of the PCI device.
* `:management_network_pci_slot` - The slot of the PCI device.
You may wonder how vagrant-libvirt knows the IP address a VM received. Libvirt
doesn't provide a standard way to find out the IP address of a running domain.

View File

@@ -51,6 +51,8 @@ module VagrantPlugins
attr_accessor :management_network_mac
attr_accessor :management_network_guest_ipv6
attr_accessor :management_network_autostart
attr_accessor :management_network_pci_bus
attr_accessor :management_network_pci_slot
# Default host prefix (alternative to use project folder name)
attr_accessor :default_prefix
@@ -161,6 +163,8 @@ module VagrantPlugins
@management_network_mac = UNSET_VALUE
@management_network_guest_ipv6 = UNSET_VALUE
@management_network_autostart = UNSET_VALUE
@management_network_pci_slot = UNSET_VALUE
@management_network_pci_bus = UNSET_VALUE
# Domain specific settings.
@uuid = UNSET_VALUE
@@ -579,6 +583,8 @@ module VagrantPlugins
@management_network_mac = nil if @management_network_mac == UNSET_VALUE
@management_network_guest_ipv6 = 'yes' if @management_network_guest_ipv6 == UNSET_VALUE
@management_network_autostart = false if @management_network_autostart == UNSET_VALUE
@management_network_pci_bus = nil if @management_network_pci_bus == UNSET_VALUE
@management_network_pci_slot = nil if @management_network_pci_slot == UNSET_VALUE
# generate a URI if none is supplied
@uri = _generate_uri if @uri == UNSET_VALUE

View File

@@ -14,6 +14,8 @@ module VagrantPlugins
management_network_mac = env[:machine].provider_config.management_network_mac
management_network_guest_ipv6 = env[:machine].provider_config.management_network_guest_ipv6
management_network_autostart = env[:machine].provider_config.management_network_autostart
management_network_pci_bus = env[:machine].provider_config.management_network_pci_bus
management_network_pci_slot = env[:machine].provider_config.management_network_pci_slot
logger.info "Using #{management_network_name} at #{management_network_address} as the management network #{management_network_mode} is the mode"
begin
@@ -39,13 +41,20 @@ module VagrantPlugins
dhcp_enabled: true,
forward_mode: management_network_mode,
guest_ipv6: management_network_guest_ipv6,
autostart: management_network_autostart
autostart: management_network_autostart,
bus: management_network_pci_bus,
slot: management_network_pci_slot
}
unless management_network_mac.nil?
management_network_options[:mac] = management_network_mac
end
unless management_network_pci_bus.nil? and management_network_pci_slot.nil?
management_network_options[:bus] = management_network_pci_bus
management_network_options[:slot] = management_network_pci_slot
end
if (env[:machine].config.vm.box &&
!env[:machine].provider_config.mgmt_attach)
raise Errors::ManagementNetworkRequired