Commit Graph

126 Commits

Author SHA1 Message Date
Dan Wendlandt c736569c73 Remove last parts of Quantum compatibility shim
Goodbye Quantum!

Change-Id: Idbd0384a892beaff3a937444f04cfc433cb805eb
Closes-Bug:1299046
2014-03-31 23:31:23 -07:00
Mark McClain ee3fe4e836 Rename Quantum to Neutron
This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.

implements blueprint: remove-use-of-quantum

Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19
2013-07-06 15:02:43 -04:00
Kyle Mestery c292db34e9 Deprecate enable_tunneling in the OVS agent
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
2013-06-28 08:07:50 +00:00
Jenkins 81382be9ca Merge "Port location tracking for BigSwitch Plugin" 2013-06-28 11:01:42 +00:00
Yong Sheng Gong 74419faacf move database config items into quantum.conf
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
2013-06-28 08:20:40 +08:00
Kevin Benton d3dd33bc30 Port location tracking for BigSwitch Plugin
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
2013-06-25 16:47:53 -07:00
Gary Kotton 9f0c2453c6 Update to use OSLO db
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
2013-06-25 11:21:32 +00:00
Kevin Benton c86d8fcf6b Converts 'router' section to lowercase in bigswitch config
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
2013-06-24 15:06:35 -07:00
Kevin Benton 4c48e48d65 Adds support for router rules to Big Switch plugin
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
2013-06-21 10:19:55 -07:00
Mark McLoughlin fd7223bcd4 Allow use of lowercase section names in conf files
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
2013-06-18 21:05:30 +01:00
HenryVIII 5586fc3973 Remove unit tests that are no longer run.
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
2013-06-13 20:48:45 -04:00
Jenkins c66f422f58 Merge "Add support for VXLAN to the Open vSwitch plugin." 2013-06-12 15:47:57 +00:00
Arvind Somya bcb9ea7ba4 Adding SVI support to the Cisco Nexus plugin
Adding support to create vlan SVI gateways on Cisco Nexus hardware switches.

blueprint cisco-plugin-svi

Change-Id: I88516f3e67d51d213fa60f6ec9aee23f9ca4be97
2013-06-12 04:18:29 -04:00
Jenkins 1bfd162fc2 Merge "Expose most common QueuePoll parameters from SQLAlchemy" 2013-06-10 16:42:11 +00:00
Kyle Mestery a98884efd9 Add support for VXLAN to the Open vSwitch plugin.
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
2013-06-10 12:00:20 +00:00
Kevin Benton e02c746a94 Adds support for the Indigo Virtual Switch (IVS)
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
2013-06-06 15:33:12 -07:00
Gary Kotton 725d636da5 Expose most common QueuePoll parameters from SQLAlchemy
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
2013-06-06 11:05:07 +00:00
Gary Kotton 82f7d1a6dc Align default value notation in configuration files
Fixes bug 1185712

Change-Id: Id17779f8f464fcaf36bbab9f84c29e35d86214b7
2013-05-30 13:34:25 +00:00
Bob Kukura f572a5eb93 Initial Modular L2 plugin implementation.
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
2013-05-29 09:21:54 -04:00
Jenkins 010bfa6234 Merge "Revert dependency on oslo.config 1.2.0" 2013-05-29 11:00:38 +00:00
Jenkins c44d7f21d4 Merge "Add sqlalchemy_pool_size option to default config files" 2013-05-29 08:12:30 +00:00
Mark McLoughlin 3102bd700a Revert dependency on oslo.config 1.2.0
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
2013-05-29 06:54:55 +01:00
Aaron Rosen 67ad85db59 Add sqlalchemy_pool_size option to default config files
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
2013-05-28 20:40:56 -07:00
Dirk Mueller d1a623bc97 Use exec_dirs for rootwrap commands
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
2013-05-28 13:47:12 +02:00
Zhongyue Luo b8b2c4ebec Reference OVS OptGoup names in lowercase
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
2013-05-22 01:36:42 +08:00
Zhongyue Luo 362bd7fd09 Reference QUOTA OptGoup names in lowercase
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
2013-05-17 00:02:31 +00:00
Bob Kukura 56cac98626 Fix linuxbridge RPC message format
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
2013-05-15 22:06:00 -04:00
Aaron Rosen 531f8d880d make default transport type configurable nvp
Fixes bug 1179759

Change-Id: I8f644f2bc0d5d144f52e5ed0bd2e991503581ad2
2013-05-13 19:52:20 -07:00
Irena Berezovsky 94492767e0 blueprint mellanox-quantum-plugin
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
2013-05-13 15:36:14 +03:00
armando-migliaccio 91b56e41ee Do not require sudo/rootwrap to check for dnsmasq version
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
2013-05-10 14:12:18 -07:00
Jenkins 00b26f6c5c Merge "Log a warning if dnsmasq version is below the minimum required" 2013-05-10 12:40:37 +00:00
Maru Newby c544ebdc89 Add kill-metadata rootwrap filter to support RHEL.
* Fixes bug 1178419

Change-Id: I9c1cf0d19d1134ec3b85c905c6c8bb7145847ce7
2013-05-09 21:04:44 +00:00
armando-migliaccio 3640328972 Log a warning if dnsmasq version is below the minimum required
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
2013-05-08 02:02:10 -07:00
armando-migliaccio ea9aeb6de0 Simplify NVP plugin configuration
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
2013-04-25 13:56:32 -07:00
Rich Curran f164a60f15 blueprint cisco-single-config
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
2013-04-02 12:06:38 -04:00
Aaron Rosen 891a860d58 Add metadata support for nvp plugin without namespaces
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
2013-03-25 17:52:17 -07:00
Dan Wendlandt 48e7848a2e add ns-metadata-proxy rootwrap filters to dhcp.filters
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
2013-03-06 17:40:52 -08:00
Mark McClain f8de8c4450 LBaaS Agent Reference Implementation
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
2013-02-27 21:49:57 -05:00
Yoshihiro Kaneko e55b10ab39 Add support Quantum Security Groups for Ryu plugin
fix bug #1124965

This patch add support security-groups extension to Ryu plugin.

Change-Id: I569ab1e48517f28a5103175fd04e848f82eb2a3c
2013-02-20 00:38:00 -08:00
Jenkins f64c40b47d Merge "Implement MidoNet Quantum Plugin" 2013-02-20 07:55:20 +00:00
Salvatore Orlando 4ec58b3da4 Add Quantum support for NVP Layer-2 gateways
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
2013-02-20 02:44:31 +01:00
Tomoe Sugihara 30c3054e6d Implement MidoNet Quantum Plugin
blueprint midonet-quantum-plugin

Change-Id: I4e22bdfed961cd10856d075a1e58cff3a216ce89
Signed-off-by: Tomoe Sugihara <tomoe@midokura.com>
Signed-off-by: Ryu Ishimoto <ryu@midokura.com>
Signed-off-by: Rossella Sblendido <rossella@midokura.com>
2013-02-20 10:20:20 +09:00
Salvatore Orlando 24c77966b6 Metadata support for NVP plugin
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
2013-02-18 19:24:58 +01:00
Sumit Naiksatam 6020c897ab L3 API support for BigSwitch-FloodLight Plugin
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
2013-02-15 13:05:15 -08:00
Jenkins 55fd44654f Merge "PLUMgrid quantum plugin" 2013-02-15 06:13:51 +00:00
Jenkins 469f4d016c Merge "Adds Brocade Plugin implementation" 2013-02-14 23:03:18 +00:00
Shiv Haris db44e8e0bf Adds Brocade Plugin implementation
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
2013-02-14 09:22:38 -08:00
Akihiro MOTOKI 687a949f28 Support iptables-based security group in NEC plugin
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
2013-02-14 07:37:52 +09:00
Jenkins cb61a574ec Merge "L3 API support for nicira plugin" 2013-02-11 17:33:23 +00:00
Salvatore Orlando ebc3062cb6 L3 API support for nicira plugin
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
2013-02-11 05:19:04 -08:00