This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.
implements blueprint: remove-use-of-quantum
Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
This patch properly deprecates the 'enable_tunneling' option in the OVS agent.
It does this be ignoring it if 'tunnel_types' is set, and if 'enable_tunneling'
is set, it defaults 'tunnel_types' to only GRE.
Fixes bug 1195374
Change-Id: I27fe6b930541a514fc51d3a6669347e52db8cb46
Bug #1194784
This patch syncs all the DB configuration items into
quantum.conf and removes the related items of plugins' config
file to avoid duplication.
sqlite related sqlite_db and sqlite_synchronous are defined
in 'default' section, which I think is a defect. And it seems
quantum does not use sqlite_db item.
Change-Id: Ia47102ced0e4169f45f10b85311f298d8c026d31
Adds a new table to the Big Switch plugin to keep track of
the nova compute node host IDs that ports reside on.
This table is then used to allow users to override
the VIF type for a compute node based on the host ID.
This allows quantum to control an environment with multiple
VIF types.
Change-Id: I63eb66d970650237aed2d5dc6676a6d097988f8d
Implements: blueprint hostid-vif-override
This code implements the blueprint oslo-db-support
NOTES:
1. The new section is database (this is backward compatible
with DATABASE)
2. The sql_* are deprecated. They are also backward compatible.
3. Eventlets DB pool is no longer supported
Change-Id: I6fa7c3817f6a5d8bef48382e0e754b88521f2289
The restproxy.ini file contained an uppercase section
which is converted to lowercase by this patch to match
existing naming conventions.
Change-Id: Ib8eb69406cae3898c4c9f3fd106f8c7ffef06f01
Fixes: bug #1194296
Implements: blueprint bsn-router-rules
Adds bigswitch plugin extension which adds 'rules' dictionary to router objects.
Adds validation code and database components to store router rules
Adds configuration option to plugin to set default router rules and max router rules
Adds unit tests to test all router rule functionality
Adds database migration for router rules tables
The Big Switch controller's Virtual Router implementation supports "routing rules"
which are of the form:
<source, destination, next-hop, action>
This extension aims to expose this abstraction via the Big Switch Quantum plugin.
These rules are applied at the router level, allowing tenants to control
communication between networks at a high level without requiring security policies.
(e.g. prevent servers in a publicly accessible subnet from communicating with
database servers).
Change-Id: I37a2740dca93b0a8b5111764458d39f1c2b885ce
Fixes bug #1189889
oslo.config-1.2.0 normalizes section names in config files to lowercase.
This means that simply by upgrading to oslo.config-1.2.0, users will now
be able to do e.g.
[default_servicetype]
description = ...
service_definition = ...
Change the default config files to make it clear we recommend the use of
lowercase section names.
Note, the use of an alpha tarball of oslo.config requires pbr>=0.5.15
but we already require >=0.5.16.
DocImpact
Change-Id: Ia47fb3d168da71d3221b25979f8c9257d70dd64d
A long time ago, quantum/tests/unit became the home for all unit
tests, but these ones in the Cisco plugin directory got left
behind. They have suffered bit-rot and need to be removed.
Also:
- Move the fake Nexus driver to new home.
- Filed new bugs to track the task of improving unit test coverage of
Cisco plugin code.
Fixes: bug #1174311
Change-Id: I372e24aebbe1804e5b6ce62984bfd76b030a44b1
Adding support to create vlan SVI gateways on Cisco Nexus hardware switches.
blueprint cisco-plugin-svi
Change-Id: I88516f3e67d51d213fa60f6ec9aee23f9ca4be97
This commit adds support for utilizing the VXLAN tunneling protocol in versions
of Open vSwitch >= 1.10. This is configurable and will default to GRE if not
configured. As part of this commit, it is possible to configure the UDP port
VXLAN will utilize as well. VXLAN and GRE cannot be configured at the same
time with this patch. 2 new configuration file options are added to the AGENT
section of the config to support this: 'tunnel_type' and 'vxlan_udp_port'.
In addition, the agent no longer makes use of enable_tunneling, as this can
be determined if tunnel_type is set.
Note: The VXLAN functionality utilized here is what is implemented in Open
vSwitch itself, and is different than the VXLAN functionality in the
upstream Linux kernel. The code validates both the userspace and kernel
pieces of OVS to verify if VXLAN functionality can be supported on the
running system
Implements blueprint ovs-vxlan-lisp-tunnel
Change-Id: I45d49d5d6463e574922c7f50d6499c6bdb6c862c
Implements: blueprint ivs-interface-driver
Adds the IVS VIF type to portbindings.py.
Adds the VIF interface class to allow agents to bind to VIF switches.
Adds support to the BigSwitch plugin to request the IVS VIF type on nova compute nodes.
Adds unit tests for new interface class and changes to BigSwitch plugin.
Change-Id: I2fe104000523c60097c22946b0a80dc404dfe273
Fixes bug 1160442
The defualt parameters are used unless otherwise configured. This
is applicable for:
- pool_size
- max_overflow
- pool_timeout
By increasing the pool_size and the max_overflow and lowering the timeout
the issue reported in the bug is resolved.
NOTE: the configuration values enable the user to make use of the default
QueuePool tuning values.
Change-Id: Ic258442531a2caf2db4f05c4ddd6fbfb0c180f17
The Modular L2 Plugin uses drivers to support separately extensible
sets of network types and of mechanisms for accessing networks of
those types. This is an initial implementation that has been tested
with the openvswitch and linuxbridge agents, and should also work with
the hyperv agent. See quantum/plugins/ml2/README for details.
Implements: blueprint modular-l2
Change-Id: Ia8cae480180f0990af7d5e5e56f29eaeac205e0e
This patch exposes the sqlalchemy_pool_size option to config files of
plugins that already expose sql_ options besides sql_connection.
Fixes bug 1185260
Change-Id: Ifaff02fae5e5349efb992c071adc0b02f10d61a7
Avoid depending on platform specific paths for rootwrap
by using exec_dirs in rootwrap. Fixes rootwrap configuration
for SUSE.
Fixes bug #1156044
Change-Id: I54d082c543fd84b40db0caa3571300ac0bb07b57
To have consistent option group name format across projects,
oslo.config now normalizes all non lowercase group names to lowercase
when loading conf files.
Thus conf files are backwards compatible but option group references
in the code must now use lowercase before we update oslo.config.
This patch replaces all 'OVS' references to 'ovs'
Change-Id: Id8697138d822e331a6776f847915c61b40f8dd6a
To have consistent option group name format across projects,
oslo.config now normalizes all non lowercase group names to lowercase
when loading conf files.
Thus conf files are backwards compatible but option group references
in the code must now use lowercase before we update oslo.config.
This patch replaces all 'QUOTA' references to 'quota'
Change-Id: I74c2a35aea7a52f9586eb598fe52d2cecb1851ef
The linuxbridge, openvswitch, and hyperv plugins all use the same
basic RPC interface between their plugins and L2 agents. But the
attributes describing a virtual network passed from the plugin to the
agent over this interface differed for historical reasons. The
openvswitch and hyperv plugins each pass network_type,
physical_network, and segmentation_id attributes, whereas the
linuxbridge plugin previously passed vlan_id and physical_network
attributes, using special vlan_id values to indicate flat or local
network types.
This patch changes the linuxbridge plugin to pass network_type and
segmentation_id attributes instead of the vlan_id attribute, bringing
its message formats into sync with the other plugins. RPC
compatibility is required for blueprint modular-l2 so that the ml2
plugin can work with all three existing types of L2 agent. This RPC
message format change is also required for blueprint
vxlan-linuxbridge.
Unlike the vxlan-linuxbridge patch on which it is based (see
https://review.openstack.org/#/c/26516/), this patch does not bump the
linuxbridge RPC version number, as the ml2 plugin will require all
three L2 agents to use the same RPC version. Instead, the updated
linuxbridge agent maintains compatibility with old linuxbridge plugins
by accepting either the old or new attributes. There is also a
configuration option, currently turned on by default, to enable the
updated linuxbridge plugin to pass the vlan_id attribute expected by
old linuxbridge agents along with the new attributes. These message
format compatibility mechanisms are intended to aid during upgrades,
and can eventually be removed.
Change-Id: I7cc1c9f96b09db6bab2c7d9f2b30b79fa4dab919
Implements Mellanox Quantum plugin.
This plugin implements Quantum v2 APIs with support for Mellanox embedded
switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.
Change-Id: I22907dfec5b6cb8f6ad8c3b6e390abc4f8e0ac10
The dnsmasq version check does not need root privileges
to run as with low privs it works just fine. As a side
effect, the use of the rootwrapper was causing unit tests
to hung because the execute call in check_version was not
being stubbed out. Weirdly enough this wasn't caught in
a previous Gerrit run; there must be a passwordless sudo
lurking around somewhere in the Gerrit infrastructure.
Fixes bug #1178800
Change-Id: I4d0bd218768eec2439d3907587682ff35884a262
It has been noted that older versions of dnsmasq may have unexpected
behavior, so this patch introduces a check on dnsmasq version; if
the minimum version is not met, a warning is logged. This is less
invasive than raising an Exception and abort the dhcp agent, even
though this also seems like a perfectly acceptable behavior.
Fixes bug 1170793
Change-Id: Idd91c3753fb05f223ed0e3c53ad692ee65ea4905
Fixes bug #1121605
This patch replacest the nvp_controller_connection configuration option
with a set of options more intutitive to user which also avoid
repetitions in ini files.
In order to simplify the configuration of the plugin, this patch also
removes named clusters. As the plugin supports a single cluster at
the moment, this can be simply specified in the [DEFAULT] configuration
section.
Also, this patch restrucures nvp_cluster.NvpCluster so that per-cluster
configuration options are not store anymore multiple times.
Change-Id: Id5f84220122d7c5f3239e3333cb772247d1ed05e
Scope: Unification of all the various plugin files for the Cisco plugin into a single file.
Use Cases: Quantum with the Cisco plugin.
Implementation Overview: All the config values contained in the various files in
etc/quantum/plugins/cisco will be unified into a single file
etc/quantum/plugins/cisco/cisco_plugin.ini. The plugins needs to be modified to
read from a single file instead of multiple.
Added quantum.openstack.common.cfg support.
Change-Id: I9ef356eccfe330c3733f441b96400d03c3d7d1df
If using a host that does not support namespaces the nvp plugin did not have
a way to leverage metadata unless using enable_isolated_metadata which
requires a subnet to not have a gateway. This patch changes the metadata
configuration for the NVP plugin by adding a flag metadata which can be
set to access_network (which was previously enable_metadata_access_network)
or dhcp_host_route. When set to dhcp_host_route when the dhcp agent creates
it's port a host_route is added towards the dhcp server's ip for the
destination 169.254.169.254/32 only if the subnet has as gatway_ip.
In order for a host to leverage metadata via dhcp_route_route it requires
the host's dhcp client to support host routes (code 121).
Fixes bug 1155786
Change-Id: I2ff52adc3dfebcdd6d9c05d5dc79aa65ae100c74
bug 1150628
now that dhcp-agent also uses ns-metadata-proxy, we need to make sure
those rootwrap filters are installed in scenarios where dhcp-agent is
installed by l3-agent is not.
Change-Id: I141b2291aceb93d650258ff1df1ef0122ce8da90
implements blueprint lbaas-namespace-agent
This a reference implemention of the Quantum load balancing service
using HAProxy. The implemention is designed for vendors, developers,
and deployers to become familiar with the API and service workflow.
This change also adds some constraint checks for data integrity.
Change-Id: I10a67da11840477ccf063b98149f4f77248802a1
Blueprint nvp-nwgw-api
This patch adds an API extension, the relevant DB logic, and the NVP
plugin logic for managing a NVP-specific feature, Layer-2 Network
Gateway, through the Quantum API.
The proposed extension is meant to be used with the NVP plugin only.
Change-Id: I73a8f1782c345ca7f6dec2db36ba6f9299b30d04
Bug #1121119
Allows the NVP plugin to leverage the metadata proxy, by creating an
ad-hoc topology for allowing access to a metadata proxy from a NVP
router leveraging existing agents.
This patch also removes previous code for metadata support in the
NVP plugin, which was based on DHCP Option 121. This is now provided
by the dhcp agent as well.
Change-Id: If37ef388e063f40bb06908ee2f72c431f29dac31
In keeping with the philosophy of the RESTProxy plugin, L3 extension calls
are processed (CRUD of logical resources) and the state changes are proxied
to a backend controller.
A configuration variable specific to the RESTProxy plugin is being added
to identify that particular Quantum server's ID.
blueprint quantum-floodlight-bigswitch-l3
Change-Id: I24be02cd836352497fe5b1e7622d138e0c816377
blueprint brocade-quantum-plugin
This plugin is meant to orchestrate Brocade VCS switches
running NOS, examples of these are:
1. VDX 67xx series of switches
2. VDX 87xx series of switches
Change-Id: Ia8c91ba0e70d3dc7fa79e7f0e09f869542846954
blueprint nec-security-group
This commit also refactors RPC API and callbacks in the plugin and agent
to support security group RPC.
Change-Id: I09d69ca3aff43e0468bbd5df6367de767af27acc
blueprint nvp-l3-api
This patch adds supports the Quantum L3 API extension to the nicira NVP
Quantum Plugin.
The patch includes code for managing Quantum routers, router interfaces,
external gateways, and floating IPs, and for applying the relevant
configurations on the NVP controller using the NVP API.
The patch also includes NVP-specific support for access to the nova
metadata server via injection of a host route in VM instances.
Change-Id: I20b45190f1eaca0229d30871b25484b90298a18b
Fixes bug 1121855
firewall_driver configuration option has been introduced in the patch
of OVS security group support and it affects Linux Bridge plugin.
The default value of firewall_driver is NoopDriver.
Thus firewall_driver configuration is required in Linux Bridge plugin.
Change-Id: I403be91b01eb6fa679dab28cd4995c85d12100b9