790819c237
SR-IOV network for OpenStack release later than Mitaka requires the use of the neutron-sriov-agent to support management of SR-IOV PF and VF interface state by Neutron - said interfaces are still consumed directly by nova-compute/libvirt via PCI device allocation scheduling for instances. Add new configuration options to the neutron-openvswitch charm to support enablement of the SR-IOV agent; this could have been done automatically from data presented from neutron-api, but its possible that cloud deployments may only have subsets of compute nodes that are SR-IOV enabled in terms of hardware. Enabling this option ('enable-sriov') will install and configure the neutron-sriov-agent; configuration of SR-IOV PF's are made using the 'sriov-numvfs', which by default automatically configures all SR-IOV devices on every machine to the maximum number of VF's supported by the device. This option can be used to configure devices at an individual level as well. Finally, neutron needs to understand what underlying provider network each SR-IOV device maps to - this is configured using the sriov-device-mappings configuration option. Change-Id: Ie185fd347ddc1b11e9ed13cefaf44fb7c8546ab0
206 lines
7.4 KiB
YAML
206 lines
7.4 KiB
YAML
options:
|
|
debug:
|
|
default: False
|
|
type: boolean
|
|
description: Enable debug logging.
|
|
verbose:
|
|
default: False
|
|
type: boolean
|
|
description: Enable verbose logging.
|
|
use-syslog:
|
|
type: boolean
|
|
default: False
|
|
description: |
|
|
Setting this to True will allow supporting services to log to syslog.
|
|
openstack-origin-git:
|
|
default:
|
|
type: string
|
|
description: |
|
|
Specifies a default OpenStack release name, or a YAML dictionary
|
|
listing the git repositories to install from.
|
|
|
|
The default Openstack release name may be one of the following, where
|
|
the corresponding OpenStack github branch will be used:
|
|
* liberty
|
|
* mitaka
|
|
* newton
|
|
* master
|
|
|
|
The YAML must minimally include requirements, neutron-fwaas,
|
|
neutron-lbaas, neutron-vpnaas, and neutron repositories, and may
|
|
also include repositories for other dependencies:
|
|
repositories:
|
|
- {name: requirements,
|
|
repository: 'git://github.com/openstack/requirements',
|
|
branch: master}
|
|
- {name: neutron-fwaas,
|
|
repository: 'git://github.com/openstack/neutron-fwaas',
|
|
branch: master}
|
|
- {name: neutron-lbaas,
|
|
repository: 'git://github.com/openstack/neutron-lbaas',
|
|
branch: master}
|
|
- {name: neutron-vpnaas,
|
|
repository: 'git://github.com/openstack/neutron-vpnaas',
|
|
branch: master}
|
|
- {name: neutron,
|
|
repository: 'git://github.com/openstack/neutron',
|
|
branch: master}
|
|
release: master
|
|
rabbit-user:
|
|
default: neutron
|
|
type: string
|
|
description: Username used to access RabbitMQ queue
|
|
rabbit-vhost:
|
|
default: openstack
|
|
type: string
|
|
description: RabbitMQ vhost
|
|
data-port:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Space-delimited list of bridge:port mappings. Ports will be added to
|
|
their corresponding bridge. The bridges will allow usage of flat or
|
|
VLAN network types with Neutron and should match this defined in
|
|
bridge-mappings.
|
|
.
|
|
Ports provided can be the name or MAC address of the interface to be
|
|
added to the bridge. If MAC addresses are used, you may provide multiple
|
|
bridge:mac for the same bridge so as to be able to configure multiple
|
|
units. In this case the charm will run through the provided MAC addresses
|
|
for each bridge until it finds one it can resolve to an interface name.
|
|
disable-security-groups:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Disable neutron based security groups - setting this configuration option
|
|
will override any settings configured via the neutron-api charm.
|
|
.
|
|
BE CAREFUL - this option allows you to disable all port level security
|
|
within an OpenStack cloud.
|
|
bridge-mappings:
|
|
type: string
|
|
default: 'physnet1:br-data'
|
|
description: |
|
|
Space-delimited list of ML2 data bridge mappings with format
|
|
<provider>:<bridge>.
|
|
flat-network-providers:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Space-delimited list of Neutron flat network providers.
|
|
vlan-ranges:
|
|
type: string
|
|
default: "physnet1:1000:2000"
|
|
description: |
|
|
Space-delimited list of <physical_network>:<vlan_min>:<vlan_max> or
|
|
<physical_network> specifying physical_network names usable for VLAN
|
|
provider and tenant networks, as well as ranges of VLAN tags on each
|
|
available for allocation to tenant networks.
|
|
# Network configuration options
|
|
# by default all access is over 'private-address'
|
|
os-data-network:
|
|
type: string
|
|
default:
|
|
description: |
|
|
The IP address and netmask of the OpenStack Data network (e.g.,
|
|
192.168.0.0/24)
|
|
.
|
|
This network will be used for tenant network traffic in overlay
|
|
networks.
|
|
.
|
|
In order to support service zones spanning multiple network
|
|
segments, a space-delimited list of a.b.c.d/x can be provided
|
|
The address of the first network found to have an address
|
|
configured will be used.
|
|
ext-port:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Deprecated: Use bridge-mappings and data-port to create a network
|
|
which can be used for external connectivity. You can call the network
|
|
external and the bridge br-ex by convention, but neither is required
|
|
|
|
A space-separated list of external ports to use for routing of instance
|
|
traffic to the external public network. Valid values are either MAC
|
|
addresses (in which case only MAC addresses for interfaces without an IP
|
|
address already assigned will be used), or interfaces (eth0)
|
|
enable-local-dhcp-and-metadata:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Enable local Neutron DHCP and Metadata Agents. This is useful for deployments
|
|
which do not include a neutron-gateway (do not require l3, lbaas or vpnaas
|
|
services) and should only be used in-conjunction with flat or VLAN provider
|
|
networks configurations.
|
|
prevent-arp-spoofing:
|
|
type: boolean
|
|
default: true
|
|
description: |
|
|
Enable suppression of ARP responses that don't match an IP address that belongs
|
|
to the port from which they originate.
|
|
.
|
|
Only supported in OpenStack Liberty or newer, which has the required minimum version
|
|
of Open vSwitch.
|
|
enable-dpdk:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Enable DPDK fast userspace networking; this requires use of DPDK supported network
|
|
interface drivers and must be used in conjuction with the data-port configuration
|
|
option to configure each bridge with an appropriate DPDK enabled network device.
|
|
dpdk-socket-memory:
|
|
type: int
|
|
default: 1024
|
|
description: |
|
|
Amount of hugepage memory in MB to allocate per NUMA socket in deployed systems.
|
|
.
|
|
Only used when DPDK is enabled.
|
|
dpdk-socket-cores:
|
|
type: int
|
|
default: 1
|
|
description: |
|
|
Number of cores to allocate to DPDK per NUMA socket in deployed systems.
|
|
.
|
|
Only used when DPDK is enabled.
|
|
dpdk-driver:
|
|
type: string
|
|
default: uio_pci_generic
|
|
description: |
|
|
Kernel userspace device driver to use for DPDK devices, valid values include:
|
|
.
|
|
vfio-pci
|
|
uio_pci_generic
|
|
.
|
|
Only used when DPDK is enabled.
|
|
enable-sriov:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Enable SR-IOV NIC agent on deployed units; use with sriov-device-mappings to
|
|
map SR-IOV devices to underlying provider networks. Enabling this option
|
|
allows instances to be plugged into directly into SR-IOV VF devices connected
|
|
to underlying provider networks alongside the default Open vSwitch networking
|
|
options.
|
|
sriov-device-mappings:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Space-delimited list of SR-IOV device mappings with format
|
|
.
|
|
<provider>:<interface>
|
|
.
|
|
Multiple mappings can be provided, delimited by spaces.
|
|
sriov-numvfs:
|
|
type: string
|
|
default: auto
|
|
description: |
|
|
Number of VF's to configure each PF with; by default, each SR-IOV PF will be
|
|
configured with the maximum number of VF's it can support. Either use a
|
|
single integer to apply the same VF configuration to all detected SR-IOV
|
|
devices or use a per-device configuration in the following format
|
|
.
|
|
<device>:<numvfs>
|
|
.
|
|
Multiple devices can be configured by providing multi values delimited by
|
|
spaces.
|