Bug 1167099
Summary: | Packstack - Adding support for Neutron ML2 SR-IOV mechanism driver | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Itzik Brown <itbrown> | ||||||
Component: | openstack-packstack | Assignee: | Ivan Chavero <ichavero> | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Toni Freger <tfreger> | ||||||
Severity: | high | Docs Contact: | |||||||
Priority: | high | ||||||||
Version: | 6.0 (Juno) | CC: | aortega, derekh, dnavale, emacchi, emilien.macchi, fbaudin, ichavero, ihrachys, itbrown, jschluet, ksundara, lbezdick, mburns, mmagr, nyechiel, oblaut, rhos-maint, sclewis, srevivo, supadhya, tfreger | ||||||
Target Milestone: | --- | Keywords: | TestOnly, Triaged, ZStream | ||||||
Target Release: | 8.0 (Liberty) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
URL: | https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | openstack-packstack-7.0.0-0.8.dev1661.gaf13b7e.el7ost | Doc Type: | Bug Fix | ||||||
Doc Text: |
The Red Hat OpenStack Platform 8 release adds the support for OpenStack Networking ML2 SR-IOV driver during Packstack installation. For this feature to work, you have to add 'sriovnicswitch' option to the 'CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS' parameter. If you fail to add this option, Packstack will not install the driver.
For 'physical_device_mappings' parameter to be set in the '/etc/neutron/plugins/ml2/sriov_agent.ini' file, you have to set the 'CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS' directive. For example:
CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS=physnet1:eth1,physnet2:eth2
|
Story Points: | --- | ||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2017-01-30 23:44:42 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Itzik Brown
2014-11-23 15:49:24 UTC
Description of problem: Missing support in installer to configure sriovnicswitch Mechanism driver in Neutron and pci_passthrough_whitelist to enable booting Instances with "SR-IOV" interface Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. 2. 3. Actual results: No support for SR-IOV in installer Expected results: Support for configuring SR-IOV mechanism driver and pci_passthrough_whitelist in nova configuration Additional info: In order to support SR-IOV in RHOS there are some requirements from the installer (packstack/staypuft) 1. There should be an option to configure "sriovnicswitch" mechanism driver that means: a. In /etc/neutron/plugins/ml2/ml2_conf.ini: Adding 'sriovnicswitch' to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini Adding 'openvswitch' to mechanism_drivers option in /etc/neutron/plugins/ml2/ml2_conf.ini ( For DHCP support) Adding 'vlan' to type_drivers and tenant_network_types options network_vlan_ranges should be configured as well b. When enabling sriovnicswitch mechanism driver Neutron server should run with the following configuration files: /etc/neutron/neutron.conf, /etc/neutron/plugin.ini (points to /etc/neutron/plugins/ml2/ml2_conf.ini) , /etc/neutron/plugins/ml2/ml2_conf_sriov.ini So /usr/lib/systemd/system/neutron-server.service needs to be changed c. Make sure when creating SR-IOV tenant network the type of the network is VLAN. d. When specifying sriovnicswitch as mechanism driver openvswitch should also be enabled 2. There should be a way to add "vendor_idrodcut_id" entries to /etc/neutron/plugins/ml2/ml2_conf_sriov.ini and/or add supported couples (e.g. ones that are already supported by libvirt). 3. There should be a way to add pci_passthrough_whitelist to /etc/nova/nova.conf. This configuration will hopefully going to be changed so maybe just configuring a PF - i.e. the installer just accepts the PF name and configure the pci_passthrough_whitelist). 4. Add an option to configure which Compute supports SR-IOV and add a sanity check to see whether they support SR-IOV,Are there any VFs ,iommu etc. 5. Packstack should configure vfio_iommu_type1 to be loaded with allow_unsafe_interrupts=1 Hi Alvaro, Starting with Juno/OSP-6 it is now possible to bring up a VM instance with SR-IOV enabled port. In order to support that there are couple of things we need to do in the installer side. Realistically, we are not going to have any support for this on Staypuft or TripleO at this point, but I think we should enable the basic minimum config in Puppet and PackStack to allow users to setup the environment correctly. These should be small and scoped changes: looking at comment #2 above, I think that only part 1 and 2 should be implemented. Can you take a look on this and share your thoughts? We can have a follow up call/discussion to provide more info. Thanks, Nir Lukas, could you please take a look at this? Please let us know how can we help to provide all the information you need here. We can also setup a call to disucss this Thanks, Nir I'm making a patch upstream in puppet-neutron, it may help: https://review.openstack.org/#/c/142251/ PciPassthroughFilter should also be added to scheduler_default_filters in /etc/nova/nova.conf. The puppet changes have been merged, we have to add the proper options to packstack. Lukas do you need a hand with this? Created patch for packstack: https://review.openstack.org/214302 The patch works but we don't have a way to really test it. Do a scratch build be enought to send it to the people that can do the tests? Once I have a build I can verify it. I added comments to the upstream patch. Also I think that instead of adding sriov_nic section in /etc/neutron/plugin.ini it the /etc/neutron/plugins/ml2/ml2_conf_sriov.ini file should be modified and linked in /etc/neutron/conf.d/neutron-server. (In reply to Itzik Brown from comment #19) > I added comments to the upstream patch. > Also I think that instead of adding sriov_nic section in > /etc/neutron/plugin.ini it the /etc/neutron/plugins/ml2/ml2_conf_sriov.ini > file should be modified and linked in /etc/neutron/conf.d/neutron-server. i've created a patch for puppet-neutron that addresses this: https://review.openstack.org/221991 i've updated the upstream review. Itzik, can you check it out? can i have pm and devel acks please? Checked using: RHEL7.2 RHOS 8 openstack-packstack-7.0.0-0.8.dev1661.gaf13b7e.el7ost.noarch openstack-packstack-puppet-7.0.0-0.8.dev1661.gaf13b7e.el7ost.noarch SR-IOV agent is not installed when CONFIG_NEUTRON_ML2_SRIOV_AGENT_REQUIRED=y An example for CONFIG_NEUTRON_ML2_SUPPORTED_PCI_VENDOR_DEVS with the default values would be great Testing this problem (In reply to Itzik Brown from comment #32) > Checked using: > RHEL7.2 > RHOS 8 > openstack-packstack-7.0.0-0.8.dev1661.gaf13b7e.el7ost.noarch > openstack-packstack-puppet-7.0.0-0.8.dev1661.gaf13b7e.el7ost.noarch > > SR-IOV agent is not installed when CONFIG_NEUTRON_ML2_SRIOV_AGENT_REQUIRED=y > in order for this feature to work you have to add: sriovnicswitch to CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS if this is not added packstack will not install it > An example for CONFIG_NEUTRON_ML2_SUPPORTED_PCI_VENDOR_DEVS with the default > values would be great the values are specified in the answer file but are not in the packstack documentation this can be fixed but i think this is out of the scope of this bug. For sure - Adding sriovnicswitch to CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS is a requirement. Checked with: openstack-packstack-7.0.0-0.8.dev1661.gaf13b7e.el7ost.noarch openstack-packstack-puppet-7.0.0-0.8.dev1661.gaf13b7e.el7ost.noarch The file /etc/neutron/plugins/ml2/sriov_agent.ini is included in the service file but physical_device_mappings under sriov_nic section is commented out. physical_device_mappings is included in /etc/neutron/plugins/ml2/ml2_conf.ini but /etc/neutron/plugins/ml2/ml2_conf.ini is not included in the service file: # cat /usr/lib/systemd/system/neutron-sriov-nic-agent.service [Unit] Description=OpenStack Neutron SR-IOV NIC Agent After=syslog.target network.target [Service] Type=simple User=neutron ExecStart=/usr/bin/neutron-sriov-nic-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/sriov_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-sriov-nic-agent --log-file /var/log/neutron/sriov-nic-agent.log PrivateTmp=false KillMode=process [Install] WantedBy=multi-user.target For physical_device_mappings to be set in the /etc/neutron/plugins/ml2/sriov_agent.ini you have to set the CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS directive. eg. CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS=physnet1:eth1,physnet2:eth2 Checked with: openstack-packstack-puppet-7.0.0-0.10.dev1684.g87ec498.el7ost.noarch openstack-packstack-7.0.0-0.10.dev1684.g87ec498.el7ost.noarch /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is not read by neutron-server and ml2_sriov section is not included in ml2_conf.ini. confirmed /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is not being read, checking the puppet module after checking i remember that the puppet module was modified to reflect the split of the files in neutron sriov [1]. I'm not sure if this should be modified at the neutron puppet module level or the neutron-sriov-nic-agent unit file. Whtat do you think Itzik? [1] https://review.openstack.org/#/c/217264/ As part of the installer I think it's possible to add a link such as /etc/neutron/conf.d/neutron-server/ml2_conf_sriov.conf -> /etc/neutron/plugins/ml2/ml2_conf_sriov.ini I was discussed but the problem is in the area of the plugin packaging, we can create this link temporarily while the packaging problem is solved. I would like this issue to be addressed on a package level to avoid future problems. AFAIK the the feature this bug is requesting has been added to Packstack. Installation failed. 10.35.160.29_neutron.pp.log: Notice: /Stage[main]/Neutron::Agents::Metadata/Neutron_metadata_agent_config[DEFAULT/nova_metadata_protocol]/ensure: created Error: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a6b587052f1c42eaa3c72c02e9b9ebc1/modules/neutron/manifests/plugins/ml2/mech_driver.pp Error: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a6b587052f1c42eaa3c72c02e9b9ebc1/modules/neutron/manifests/plugins/ml2/mech_driver.pp Wrapped exception: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini Error: /Stage[main]/Neutron::Plugins::Ml2/Neutron::Plugins::Ml2::Mech_driver[sriovnicswitch]/Neutron_plugin_sriov[ml2_sriov/supported_pci_vendor_devs]/ensure: change from absent to present failed: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a6b587052f1c42eaa3c72c02e9b9ebc1/modules/neutron/manifests/plugins/ml2/mech_driver.pp Error: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a6b587052f1c42eaa3c72c02e9b9ebc1/modules/neutron/manifests/plugins/ml2/mech_driver.pp Error: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a6b587052f1c42eaa3c72c02e9b9ebc1/modules/neutron/manifests/plugins/ml2/mech_driver.pp Wrapped exception: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini Error: /Stage[main]/Neutron::Plugins::Ml2/Neutron::Plugins::Ml2::Mech_driver[sriovnicswitch]/Neutron_plugin_sriov[ml2_sriov/agent_required]/ensure: change from absent to present failed: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a6b587052f1c42eaa3c72c02e9b9ebc1/modules/neutron/manifests/plugins/ml2/mech_driver.pp Notice: /Stage[main]/Neutron::Server/Neutron_config[keystone_authtoken/admin_user]/value: value changed '%SERVICE_USER%' to 'neutron' I checked and /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is present on the controller. This problem didn't arise in my previous tests, trying to reproduce Created attachment 1122534 [details]
SRIOV answer file
Could not reproduce on RHEL using the attached answer file with: openstack-packstack-7.0.0-0.10.dev1682.g42b3426.el7 the sriov configuration is stored in: /etc/neutron/plugins/ml2/ml2_conf.ini installed using: packstack -d --answer-file=ans.txt There is an error on the sriov log file but it does not appear to be related to this bug, can you confirm? 2016-02-09 11:26:57.251 1805 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [req-d09794d8-2a6e-44b1-9cc5-ab945016e715 - - - - -] SRIOV NIC Agent RPC Daemon Started! 2016-02-09 11:26:57.251 1805 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [req-d09794d8-2a6e-44b1-9cc5-ab945016e715 - - - - -] Agent out of sync with plugin! 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher [-] Exception during message handling: Endpoint does not support RPC version 1.3. Attempted method: security_groups_provider_updated 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher Traceback (most recent call last): 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142, in _dispatch_and_reply 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher executor_callback)) 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 195, in _dispatch 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher raise UnsupportedVersion(version, method=method) 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher UnsupportedVersion: Endpoint does not support RPC version 1.3. Attempted method: security_groups_provider_updated 2016-02-09 11:35:12.259 1805 ERROR oslo_messaging.rpc.dispatcher Created attachment 1122688 [details]
answer file 1controller 1compute
No I don't think it's related. My setup: 1 controller node and 1 compute node RHEL7.2 RHOS8 openstack-packstack-7.0.0-0.11.dev1692.g1b5e83b.el7ost.noarch openstack-packstack-puppet-7.0.0-0.11.dev1692.g1b5e83b.el7ost.noarch openstack-neutron-common-7.0.1-9.el7ost.noarch openstack-neutron-ml2-7.0.1-9.el7ost.noarch openstack-neutron-openvswitch-7.0.1-9.el7ost.noarch python-neutron-7.0.1-9.el7ost.noarch openstack-neutron-7.0.1-9.el7ost.noarch python-neutronclient-3.1.0-1.el7ost.noarch I attached the answer file in comment #50 Do you still have the problem or is just the problem on comment 49 with how to test/reproduce in comment #49 Moving bug back to ON_QA Configured CONFIG_NEUTRON_ML2_SUPPORTED_PCI_VENDOR_DEVS=15b3:1004,8086:10ca, 8086:1520, 8086:10ed /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is correct # egrep -v '#|^$' /etc/neutron/plugins/ml2/ml2_conf_sriov.ini [ml2_sriov] supported_pci_vendor_devs = 15b3:1004,8086:10ca, 8086:1520, 8086:10ed agent_required = True But /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is not read by the server. Was the link issue from comment #39 resolved? Regarding #54: I first got the following error: 2016-02-21 14:47:27::ERROR::run_setup::1017::root:: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 1012, in main _main(options, confFile, logFile) File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 660, in _main runSequences() File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 627, in runSequences controller.runAllSequences() File "/usr/lib/python2.7/site-packages/packstack/installer/setup_controller.py", line 81, in runAllSequences sequence.run(config=self.CONF, messages=self.MESSAGES) File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 109, in run step.run(config=config, messages=messages) File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 50, in run self.function(config, messages) File "/usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py", line 209, in apply_puppet_manifest wait_for_puppet(currently_running, messages) File "/usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py", line 123, in wait_for_puppet validate_logfile(log) File "/usr/lib/python2.7/site-packages/packstack/modules/puppet.py", line 107, in validate_logfile raise PuppetError(message) PuppetError: Error appeared during Puppet run: 10.35.160.29_neutron.pp Error: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/6e951bd6bde24343a515027b71f3edd1/modules/neutron/manifests/plugins/ml2/mech_driver.pp You will find full trace in log /var/tmp/packstack/20160221-142530-8hzOBK/manifests/10.35.160.29_neutron.pp.log 2016-02-21 14:47:27::INFO::shell::94::root:: [10.35.160.29] Executing script: rm -rf /var/tmp/packstack/6e951bd6bde24343a515027b71f3edd1 2016-02-21 14:47:27::INFO::shell::94::root:: [10.35.160.39] Executing script: rm -rf /var/tmp/packstack/d1e06edb4c0b465299e5f402431174c0 Then ran again and got the result in #54 key things I noticed different between provided answer file and file generated by --gen-answer-file CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch,sriovnicswitch CONFIG_NEUTRON_ML2_SRIOV_AGENT_REQUIRED=y CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS=physnet1:eth0,physnet2:eth0 For single node packstack setup this installs, I don't know if key things I noticed different between provided answer file and file generated by --gen-answer-file CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch,sriovnicswitch CONFIG_NEUTRON_ML2_SRIOV_AGENT_REQUIRED=y CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS=physnet1:eth0,physnet2:eth0 For single node packstack setup this installs, I don't know if the installed functionality is working as expected though. What we noticed was multi-node was showing the issue bug single node installs seemed to install correctly. All i one succuesfully installs the sriov agent. Setting CONFIG_NETWORK_HOSTS to a different node throws a weird behaviour, the sriov agent gets installed in the controller but not on the designed network host. I'll keep investigating ignore comment 59, the agent should be installed on the compute node not the netwrok node. With two compute nodes i don't get any error on the sriov agent log file (/var/log/neutron/sriov-nic-agent.log) I can't test the actual functionality because i don't have hardware that supports sr-iov but in the software part everything works ok. Can we have the meeting on thursday? i'm on MST time > neutron is not installed when the class is applied This is wrong: https://github.com/openstack/puppet-neutron/blob/master/manifests/plugins/ml2.pp#L176-L187 > it appears to be that the ::neutron::plugins::ml2 class is being applied before the /etc/neutron/plugins/ml2/ml2_conf_sriov.ini I don't understand this statement. neutron::plugins::ml2 is for Server. ml2_conf_sriov.ini is for Agent. What is the orchestration issue? What says logs? What is the error? ml2_conf_sriov.ini is for server plugin [1], the file for the agent is: /etc/neutron/plugins/ml2/sriov_agent.ini [2] this is the error: ERROR : Error appeared during Puppet run: 10.35.160.29_neutron.pp Error: Could not set 'present' on ensure: No such file or directory - /etc/neutron/plugins/ml2/ml2_conf_sriov.ini at 37:/var/tmp/packstack/a7409c145c394a418eae9a0942c06bb5/modules/neutron/manifests/plugins/ml2/mech_driver.pp This is a two node setup: one controller and one compute node, the error comes from the controller. The odd part is that when i run the packstack or the manifest a second time the error does not appear and the file gets created. Can the problem be that the class neutron::plugins:ml2 is being executed before the neutron [3] class? [1] https://github.com/openstack/puppet-neutron/blob/master/lib/puppet/provider/neutron_plugin_sriov/ini_setting.rb#L7 [2] https://github.com/openstack/puppet-neutron/blob/master/lib/puppet/provider/neutron_sriov_agent_config/ini_setting.rb#L7 [3] https://gist.github.com/imcsk8/9fed07d3417eb55790355b3a87301f8e#file-10-35-160-29_neutron-pp-L38 [4] https://gist.github.com/imcsk8/9fed07d3417eb55790355b3a87301f8e#file-10-35-160-29_neutron-pp-L112 Fixed in the puppet neutron module, backporting to liberty With the latest Openstack Puppet Modules for liberty this should work. According to our records, this should be resolved by openstack-packstack-7.0.0-0.14.dev1702.g490e674.el7ost. This build is available now. 1) /etc/neutron/plugins/ml2/ml2_conf_sriov.ini is updated but not read by the Neutron server. When linking it to /etc/neutron/conf.d/neutron-server/ml2_conf_sriov.conf it's ok 2) When having the following ones CONFIG_NEUTRON_ML2_SUPPORTED_PCI_VENDOR_DEVS=15b3:1004,8086:10c9,8086:10ca,8086:1520,8086:10ed it works but seems like the default is wrong. For 1: there is already a patch https://review.openstack.org/333882 This bug has been fixed on the packstack side. The remaining problem belongs in OPM Checked on openstack-packstack-7.0.0-0.19.dev1702.g490e674.el7ost.noarch SR-IOV configuration have added to answer file. # Comma-separated ordered list of networking mechanism driver entry # points to be loaded from the neutron.ml2.mechanism_drivers # namespace. ['logger', 'test', 'linuxbridge', 'openvswitch', # 'hyperv', 'ncs', 'arista', 'cisco_nexus', 'mlnx', 'l2population', # 'sriovnicswitch'] CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch # Comma separated list of supported PCI vendor devices defined by # vendor_id:product_id according to the PCI ID Repository. CONFIG_NEUTRON_ML2_SUPPORTED_PCI_VENDOR_DEVS=['15b3:1004', '8086:10ca'] # Specify 'y' if the sriov agent is required CONFIG_NEUTRON_ML2_SRIOV_AGENT_REQUIRED=n # Comma-separated list of interface mappings for the OpenStack # Networking ML2 SRIOV agent. Each tuple in the list must be in the # format <physical_network>:<net_interface>. Example: # physnet1:eth1,physnet2:eth2,physnet3:eth3. CONFIG_NEUTRON_ML2_SRIOV_INTERFACE_MAPPINGS= |