397 Commits

Author SHA1 Message Date
Yong Sheng Gong
1c8e5f1d3b remove "get_agents" rule in policy.json
Bug #1200933

keep the current API behaviour due to compatibility
and leave list op authz in new API version.

Change-Id: Ia0a9b8738fa8ffe913d2e2b1ef28232abb18340d
2013-07-23 11:09:45 +08:00
Oleg Bondarev
da65fe6951 Add agent scheduling for LBaaS namespace agent
- adds simple chance scheduling on create pool operation
- adds PoolsLoadbalancerAgentBinding db table
- adds lbaas_agentscheduler extension to list pools hosted by a particular agent
  and to get an agent hosting a particular pool
- adds agent notifiers mapping to AgentSchedulerDbMixin to make it easier
  for services to add their agent notifiers to the core plugin

Implements blueprint lbaas-agent-scheduler
Change-Id: Id98649fd5c7873dcd5be1a2b117b8bed25f06cc2
2013-07-19 13:25:04 +04:00
HenryGessau
b40edd1d00 Clean up Cisco plugin config parameters
Fixes: bug 1201537

Change-Id: Ibb5a9a12ee451c317ae747924b336ffa044a20b1
2013-07-18 10:23:54 -04:00
Jenkins
1bd456371f Merge "rename quantum into neutron" 2013-07-18 04:08:23 +00:00
Jenkins
88f6d5ec7c Merge "Add VXLAN tunneling support for the ML2 plugin" 2013-07-17 03:32:13 +00:00
Jenkins
4642f03a9f Merge "Add gre tunneling support for the ML2 plugin" 2013-07-17 03:31:59 +00:00
Eugene Nikanorov
078a73c616 Remove use_namespaces option from etc/lbaas_agent.ini
fixes bug 1201249

Remove option from ini file since it is nor registered nor used
in lbaas agent.

Change-Id: I611f794279fea4a4155309cd0668e3b9718221b1
2013-07-16 19:37:15 +00:00
Salvatore Orlando
7ce9bc96ab Enable policy control over external_gateway_info sub-attributes
Part 2 of blueprint l3-ext-gw-modes

This patch extends the logic for building policy rule matches in order to
include sub-attributes as well. This logic will be leveraged by the
ext-gw-mode api extension.

Change-Id: I7f46a395597b71bb1c5110aa4e792a04a5010d4c
2013-07-16 17:52:27 +02:00
mathieu-rohon
6bdfccaf1b Add gre tunneling support for the ML2 plugin
This patch add the type_driver GRE to enable the creation of GRE
tunnels with the OVS agent.
No Endpoints ID are managed. Only Endpoint IP are stored in DB,
and this IP is proposed as an endpoint ID for the OVS agent.
It also fixes the bug 1201471.

Implements: blueprint ml2-gre
Change-Id: I1a33a4bd3ebc4c97eecf17a59ce16b8c2066ec66
2013-07-16 15:59:25 +02:00
Kyle Mestery
81e87775c8 Add VXLAN tunneling support for the ML2 plugin
Add an ML2 Type Driver for VXLAN networks to allow the creation
of VXLAN networks with the OVS agent.

Change-Id: I7fcc384cc44d5adc752510847d8ba5f46bbb79fb
Implements: blueprint ml2-vxlan
2013-07-16 13:34:46 +00:00
Jenkins
ab777fd06d Merge "Modify the OVS agent to support multiple tunnel_types concurrently." 2013-07-15 03:54:26 +00:00
Jenkins
8e8d5924f9 Merge "Import Oslo's common rootwrap to Neutron" 2013-07-14 03:08:30 +00:00
Dirk Mueller
933498e861 Rename to Neutron in sample init.d script
Related to LP Bug #1199794

Change-Id: I809a4d6c8e2ab047a1530f3fd6ef9aa60c0c638f
2013-07-13 16:55:55 -04:00
Kyle Mestery
341586e47b Modify the OVS agent to support multiple tunnel_types concurrently.
This change modifies the "tunnel_type" configuration option to be a ListOpt
instead of a StrOpt. This is intended to allow the agent to work in an ML2
environment where multiple, disparate "tunnel_types" are supported at the
same time. For now, the agent will enforce a single "tunnel_type".

Fixes bug #1191089

Change-Id: Ic025e54a8a3e92fe1fe44ebf08d71c2210c7d82b
2013-07-13 17:22:45 +00:00
Yong Sheng Gong
4a01e35f3f rename quantum into neutron
Bug #1200474

Change-Id: Ib83e58008fc53b57c4063057ce4c5707b55f0ff2
2013-07-13 09:37:11 +08:00
Jenkins
bd18990d78 Merge "Improve DHCP agent performance" 2013-07-12 14:13:57 +00:00
Jenkins
3c7ad231b6 Merge "Initial Modular L2 Mechanism Driver implementation." 2013-07-11 12:35:27 +00:00
Andre Pech
34798f3a1e Initial Modular L2 Mechanism Driver implementation.
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
2013-07-10 18:16:03 -07:00
Aaron Rosen
9d5c540b47 Improve DHCP agent performance
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
2013-07-09 21:46:43 -07:00
Arvind Somya
c4d423ef61 Fix for Cisco plugin sample config.
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
2013-07-09 17:54:09 +00:00
Thierry Carrez
042d15a314 Import Oslo's common rootwrap to Neutron
Use the common oslo-incubator rootwrap rather than maintain a
specific fork within Neutron.

- Migrated DnsmasqFilter use in dhcp.filters to the new EnvFilter
- Changed environment passing in ip_lib's netns.execute so that
  it can be properly matched using IpNetNsExecFilter + EnvFilter.
  It now calls "ip netns exec ns env A=B C=D command" instead of
  "A=B C=D ip netns exec ns command". Adjusted tests accordingly.

All the other changes are coming directly from the Oslo "rootwrap"
module sync.

Notes:
- Neutron locates its rootwrap.conf in etc/ rather than in etc/neutron
- Neutron maintains a specific bin/quantum-rootwrap-xen-dom0 which
  requires additional config in rootwrap.conf

Both behaviors were preserved in this commit, but this may need to be
addressed in the future to simplify future oslo-rootwrap updates.

Implements bp: quantum-common-rootwrap

Change-Id: I02879942a9d1169a71aa4d684c1b9ec109a6de32
2013-07-08 18:25:44 +02: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
Jenkins
b89e454181 Merge "dom0 rootwrap - case insensitive xenapi section" 2013-06-29 06:06:52 +00:00
Mate Lakat
8d0f8e1b99 dom0 rootwrap - case insensitive xenapi section
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
2013-06-28 18:01:15 +01:00
Jenkins
81382be9ca Merge "Port location tracking for BigSwitch Plugin" 2013-06-28 11:01:42 +00: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
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
Jenkins
b7fb6b0fe6 Merge "Rename agent_loadbalancer directory to loadbalancer" 2013-06-15 21:07:28 +00:00
Jenkins
489f5b59b6 Merge "Reduce plugin accesses from policy engine" 2013-06-15 01:44:42 +00:00
Eugene Nikanorov
358975281f Rename agent_loadbalancer directory to loadbalancer
Fix missing path changes

Fixes bug 1179276

Change-Id: I889eeac8013de67fccbac9bfa745a56e7f859756
2013-06-14 19:52:52 +04: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
Jenkins
a8c7ab6a3c Merge "Adds support for the Indigo Virtual Switch (IVS)" 2013-06-08 00:35:42 +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
armando-migliaccio
82ccdf893e Add API mac learning extension for NVP
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
2013-06-06 10:14:33 -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
Avishay Balderman
dd3a40d92b multi-vendor-support-for-lbaas
BluePrint: multi-vendor-support-for-lbaas-step0

This is the first stage in a 3 stages BP

Change-Id: Ic5b2c46c5a74338c3fa14cc991f4420cabd7798e
2013-06-05 04:59:42 -07:00
Aaron Rosen
6f9fdcb3a1 Add L3 resources to policy.json
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
2013-05-30 21:09:41 -07: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