Define the Mechanism Driver interface for create/update/delete
operations on networks and ports. For each of these event, the
Mechanism Driver provides one method that is called within the
database transaction of the ml2 plugin method, and one that is called
after the transaction is completed.
Support for mechanism drivers is still a work-in-progress, and the
interface is subject to change in future versions before the release
of Havana. However this initial version should be sufficient to enable
others to start defining their own mechanism drivers.
Change-Id: Ife30215589792ee27df9897d3b2bc04392638266
Implements: blueprint ml2-mechanism-drivers
Fixes: bug #1199977
Fixes: bug #1199978
DocImpact
Previously when starting the dhcp agent the sync_state() process would
be extremely expensive as it would query quantum server for each network.
In order to improve performance a get_active_networks_info() was added
so this information could be retrieved in one query rather than doing a
query for each active network.
The second part of this patch optimizes the logic to avoid calling
get_dhcp_port(). Previously, this method was called once for each network
which makes a call to get_subnets() and get_ports() unnecessarily as
the dhcp agent can determine itself if it needs to update a port or create a
port for dhcp.
This patch also threads the inital sync process and maintains backwards
compatibility with the previous rpc api.
There was also a trivial change to the nvp_plugin where filters are assumed to
be a dict.
implements blueprint improve-dhcp-agent-performance
Change-Id: I3b631057f595250dad76516faa9b421789f60953
This commit fixes the Cisco plugin's sample config included with Neutron to change all instances
of quantum within the config to neutron.
Change-Id: I80a8b69816ad964ee9761a214aaa5e81e596d501
Fixes: Bug #1199160
This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.
implements blueprint: remove-use-of-quantum
Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
As per change https://review.openstack.org/33429 the config sections
became lowercase. This patch makes the quantum-rootwrap-xen-dom0
rootwrap to be case insensitive for the xenapi section.
This patch also changes the default config file to use a lowercase
xenapi section.
Fixes bug 1195781
Change-Id: Ic24feb1a9ad6f8823745b1febd4a0edd54e73498
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
This commit adds an API extension for NVP where the
NVP supported mac learning feature can be switched
on/off for a specific port. The attribute can be
True or False or omitted altogether.
Implements blueprint nvp-mac-learning-extension
Change-Id: I9173c7dfe0cf4a9ee7b0605722ce7fa01708f5ba
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
This patch adds the l3 resources to policy.json. I tested changing the
rule to rule:admin_only for all the resources added and they were
enforced as expected.
Fixes bug 1186077
Change-Id: Ib5e2879165d9dc6416be4c96c62d6e49452d3be5
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
Fixes bug #1185174
This reverts commit b8b2c4e, 2f13345, 362bd7f, 8da2fb7 and 956b873.
We don't yet have the infrastructure in place to use latest oslo.config
in the gate or even get the correct metadata for it in our packaging.
The gory details are here:
http://lists.openstack.org/pipermail/openstack-dev/2013-May/009586.html
Change-Id: Idf89ca418df158e6f94279c9c5fa44f23073a9d7
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
Bug 1179745
This patch introduces a new type of check whose aim is to fetch
the parent resource's owner only when a rule that explicitly needs
it needs to be checked.
Change-Id: I1ff429eb3f92b35bcb9b4c4e01b65f8c0a595f48
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 'DEFAULT_SERVICETYPE' references to
'default_servicetype'
Change-Id: Iccab055c4664e11c9618706e594416194065048b
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