Jump to: navigation, search

Difference between revisions of "Juno-SR-IOV"

(Neutron)
(Neutron Server)
Line 22: Line 22:
 
  [ml2_type_vlan]
 
  [ml2_type_vlan]
 
  network_vlan_ranges = default:2:100
 
  network_vlan_ranges = default:2:100
[securitygroup]
 
firewall_driver = neutron.agent.firewall.NoopFirewallDriver
 
  
 
Make sure  /etc/neutron/plugins/ml2/ml2_conf_sriov.ini has the following section:
 
Make sure  /etc/neutron/plugins/ml2/ml2_conf_sriov.ini has the following section:
Line 32: Line 30:
 
Neutron server should be run with the two configuration files /etc/neutron/plugins/ml2/ml2_conf.in and /etc/neutron/plugins/ml2/ml2_conf_sriov.ini  
 
Neutron server should be run with the two configuration files /etc/neutron/plugins/ml2/ml2_conf.in and /etc/neutron/plugins/ml2/ml2_conf_sriov.ini  
 
  neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini
 
  neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini
 
  
 
==Compute==
 
==Compute==

Revision as of 14:24, 9 September 2014

This Page is under construction

Once it will be ready, the content might move to another location.

SR-IOV in OpenStack Juno

OpenStack Juno adds inbox support for SR-IOV ....

Nova

Nova support for SR-IOV is ....

Neutron

Neutron support for SR-IOV is ... embedded NIC is ...

SR-IOV Configuration

Neutron Server

Using ML2 Neutron plugin modify /etc/neutron/plugins/ml2/ml2_conf.ini:

[ml2]
tenant_network_types = vlan
type_drivers = vlan
mechanism_drivers = openvswitch,sriovnicswitch
[ml2_type_vlan]
network_vlan_ranges = default:2:100

Make sure /etc/neutron/plugins/ml2/ml2_conf_sriov.ini has the following section:

[ml2_sriov]
agent_required = True

Neutron server should be run with the two configuration files /etc/neutron/plugins/ml2/ml2_conf.in and /etc/neutron/plugins/ml2/ml2_conf_sriov.ini

neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini

Compute

Nova

On each compute you have to associate the Virtual Functions available to each Physical Network. You do it by configuring pci_passthrough_whitelist in /etc/nova/noca.conf

For example:

pci_passthrough_whitelist = {"address":"*:0a:00.*","physical_network":"physnet1"}

This will associate any VF with address that includes ':0a:00.' in it's address to the Physical network physnet1

After configuring the white list you have to restart nova-compute service.

Neutron

If the hardware supports and and you want to enable changing the port admin_state you have to run the Neutron SR-IOV agent.

Note:If you configured agent_required=True on the Neutron server you must run the Agent on each compute node.

In /etc/neutron/plugins/ml2/ml2_conf.ini make sure you have the following:

[securitygroup]
firewall_driver = neutron.agent.firewall.NoopFirewallDriver

Modify /etc/neutron/plugins/ml2/ml2_conf_sriov.ini as follows

[sriov_nic]
physical_device_mappings = physnet1:eth1
exclude_devices =

physnet1 is the physical network eth1 if the Physical Function (PF) exclude_devices is empty so All the VFs associated with eth1 are allowed to be configured by the agent.

After modifying the configuration file start the Neutron SR-IOV agent:

neutron-sriov-nic-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini

Exclude VFs

If you want to exclude some of the VFs so the agent won't configure them you need to list them in the sriov_nic section:

Example: exclude_devices = eth1:0000:07:00.2; 0000:07:00.3, eth2:0000:05:00.1; 0000:05:00.2