Commit Graph

35 Commits (d568fee34be36ca17a9124fe6539f62d702d6359)

Author SHA1 Message Date
Dan Prince d1ab56d8c4 Make default nova_url use a version
The default nova_url for neutron is missing an API
version number. This can cause requests to fail
because the Nova /versions API cannot respond
to Neutron notification requests.

It seems reasonable for the default value to
at least have a chance at being correct so
this patch upgrades the default Nova API url to
use the Nova 'v2' API.

Related-bug: #1298640
Change-Id: Ib1449de84fbc01fb704ebfe4a016ac8f4932be96
(cherry picked from commit c09a14089a)
9 years ago
Carl Baldwin c782e8c344 Add a note that rpc_workers option is experimental
blueprint multiple-rpc-workers

Closes-Bug: 1304374
Change-Id: Id354b96fc591752e1e79b072997423b6447d5de9
9 years ago
Assaf Muller e13d19cab3 Change report_interval from 4 to 30, agent_down_time from 9 to 75
report_interval is how often an agent sends out a heartbeat to the
service. The Neutron service responds to these 'report_state' RPC
messages by updating the agent's heartbeat DB record.
The last heartbeat is then compared to the configured
agent_down_time to determine if the agent is up or down.
The agent's status is used when scheduling networks on DHCP
and L3 agents.

In the spirit of sane defaults suited for production, these values
should be bumped to reduce the load on the Neutron service
dramatically, freeing up CPU time to perform intensive operations.

Closes-Bug: #1293083
Change-Id: I77bcf8f66f74ba55513c989caead1f96c92b9832
9 years ago
Aaron Rosen 2d37076d61 Send network-changed notifications to nova
This patch notifies nova whenever a floatingip or fixed_ip is updated.

Implements blueprint: nova-event-callback

DocImpact - This notifications are off by default.

Change-Id: Ifbe9d856e80e512d5595fd72ea2d7c047ce0de9d
9 years ago
Aaron Rosen 827cc51705 Notify nova when ports are ready
The following patch adds a callback from neutron to nova that notifies nova
when a port for an instance is *ready to be used*. After nova receives this
event it will then start the instance in a hope that when it comes up
its networking should be in working order.

NOTE: *ready to be used* currently means that a plugin changes the status
in the db associated with a port from:

Neutron will then signal nova: network_vif_plugged:<status> where status
will either be 'completed' or 'failed' given the neutron port status.

Neutron also notifies nova when a port goes from status:
PORT_STATUS_ACTIVE to PORT_STATUS_DOWN and sends nova a network_vif_unplugged

Currently this patch breaks multiregion support (i.e previously you could
back multiple nova regions by one neutron server) though now since neutron
needs to notify nova we'll need to add a way to determine which region a
given port is in.

For now the work around for this would be to set: notify_nova_port_active=False
in neutron to prevent neutron from sending the notification and setting:
vif_plugging_is_fatal=False in nova.conf. Doing this will keep the current
interaction where an instance will be booted without waiting for the network
to be ready.


implements blueprint: nova-event-callback

Change-Id: I4177124485b986706fcf8e73b928024b5d82b822
9 years ago
Ivar Lazzaro ff7623f3c9 Embrane LBaaS Driver
Implements blueprint embrane-lbaas-driver

This commit implements Embrane's driver for LBaaS,
which uses Embrane's heleos(tm) appliances to provide Load Balancing.

Change-Id: Ia76fbc8881d178cfe6df11a2cfe8e77d3f36094f
9 years ago
Paul Michali 8a1d021943 VPNaaS Service Driver for Cisco CSR
This has the service driver part of the vendor specific VPNaaS plugin.
This version DOES NOT rely on the Service Type Framework code, which is
presently under review (client 53602, server 41827) and on hold due to
discussion over flavors. As a result, this changeset has modifications
so that the service driver is not hard-coded in the VPN plugin.

The device driver will be under a separate review and has the REST
client that talks to the Cisco CSR (running out-of-band).

Note: See review 74156 for more details on device driver portion of
      this blueprint.

Change-Id: I39b1475c992b594256f5a28be0caa1ee9398050e
Partially-implements: blueprint vpnaas-cisco-driver
9 years ago
Carl Baldwin d925b8fb9c Adds multiple RPC worker processes to neutron server
blueprint multiple-rpc-workers

Co-Authored-By: Terry Wilson<>
Change-Id: I51f2a52add6c11af905e6f1e6e45d31731ebbb5d
9 years ago
Jeremy Hanmer 3e8c09e53a Typo/grammar fixes for the example neutron config file
Change-Id: I12d21ef2a5bff5a8cdd08fea42b413b062479926
9 years ago
Jenkins e172ee1c36 Merge "Raise max header size to accommodate large tokens" 9 years ago
Jenkins 5d199086a4 Merge "Extending quota support for neutron LBaaS entities" 9 years ago
zhhuabj b22442a6b8 Raise max header size to accommodate large tokens
The max header is exceeded in the following scenario
- Auth tokens built with a keystone v3 API catalog
- A catalog with approximately 8 or more endpoints defined

Change-Id: Ie815e457c0b25ab828e780b5d90233ba0ceff61f
Closes-Bug: #1251026
9 years ago
Youcef Laribi 7bad5158fa Implements an LBaaS driver for NetScaler devices
This driver for the Neutron LBaaS plugin allows for
using the Citrix NetScaler loadbalancing devices
to provide Neutron LBaaS functionality in OpenStack.

Change-Id: Ibfeb54c4402943fb3696a1c599fa373e42e520d4
Implements: blueprint netscaler-lbaas-driver
9 years ago
Evgeny Fedoruk b53ebc7a8a Extending quota support for neutron LBaaS entities
Note: This change is a continuation of abandoned
      Previous change was abandoned due to rebase problem.

Extending quota mechanism to support neutron
LBaaS entities. Adding quota for vips, pools, members
and health monitors.

This is one of four changes related to the BP.
This one is for neutron project.
Another one is for python-neutronclient package,
another one for tempest,
and another one for horizon/openstack-dashboard project

See blueprint neutron-quota-extension for another two changes.

Change-Id: I64a1d3647a4eb21833266346377416638667a931
Implements: blueprint neutron-quota-extension
9 years ago
Zang MingJie 9fbb6aaa6c Configure plugins by name
To configure core plugin or service plugins, instead of using class names,
simpler names can also be used, ex:

service_plugins = router, firewall, lbaas

For compatibility with previous versions, the class name of a plugin can be
specified instead of its entrypoint name, ex:

service_plugins = router,, lbaas


Implements: blueprint config-plugin-by-name
Change-Id: Ia4aaa1d305b160a4d6dab9e227c744727a4c78c2
10 years ago
Jenkins ffa8f68cb2 Merge "Update the descriptions for the log cfg opts" 10 years ago
Jenkins 5ce7f61cca Merge "Add missing quota flags in the config file sample" 10 years ago
Dan Prince f78608f77c Update the descriptions for the log cfg opts
The existing logging config descriptions are incorrect.

This fix makes the documented config settings for verbose/debug
match their current behaviour.

Change-Id: I1a3830ca616c379cd37593fb3c3ef30a0d368cd9
Closes-Bug: #1261793
10 years ago
John Dewey 8bceddb959 Removed erronus config file comment
The comment stating 'DHCP agents needs it.' with regards to the
rpc_notifier notification_driver is incorrect.  Looking through
the code, I see no place this is true.  I believe it to be an

Closes-Bug: #1258390

Change-Id: I58c2f9290731f3e88e4b4a5bdb600aa5bac1a12b
10 years ago
Édouard Thuleau 0c85faa733 Add missing quota flags in the config file sample
l3 extensions don't set quota flags in the config sample file
Quota is unlimited if its value is minus and not only if it's -1.

Closes-Bug: #1250574
Change-Id: I76c8d1e2676d4e9b0feeed6e504e759fe736a0db
10 years ago
armando-migliaccio 291048aba2 Tune up report and downtime intervals for l2 agent
If the neutron server erroneously thinks than the l2 agent is down
it will fail to bind a port, which can lead to VM's spawn errors.
However, the issue is only transient because the agent effectively
is only 'late' in reporting back.

Best solution would be an alpha-count algorithm (so that we can detect
persistent failures more reliably), but for now let's be more tolerant
assuming that the agent is down by waiting at least twice the report
interval plus a tiny teeny bit.

Change-Id: I544135ce1f6b7eaefb34ac44af8f5844d92ddd95
Close-bug: #1244255
10 years ago
Jenkins c1577c5954 Merge "Creates multiple worker processes for API server" 10 years ago
Avishay Balderman 3ae0171834 Removing workflows from the Radware driver code
Removing workflows handling from the driver code.
Removing workflow related files
Modifying tests to support new behavior

Change-Id: Icbb6106db07e5b33c37192aa53d088e67bd4a795
Closes-bug: #1239288
10 years ago
Jenkins 5dc5854c32 Merge "Enable Quota DB driver by default" 10 years ago
Avishay Balderman 98c1ce4c1f Radware LBaaS driver implementation
Change-Id: I43f666ed6716c16b0ef95bc7ed58c4c422a7fd89
Implemnts: blueprint radware-driver-for-lbaas
10 years ago
Akihiro MOTOKI de15e0b9c5 Enable Quota DB driver by default
Closes-Bug: #1189671

Quota driver is now loaded in lazy mode, i.e. the driver is loaded
the first time the driver is accessed. This is to make unit tests
work. Some unit tests like extension test cases need to use Config
Quota driver (previous default) but QuotaEngine is initialized
when is imported. Thus the unit tests had no chance to
specify quota_driver.

Change-Id: I9e20961d5a6322361e3c0284b3c2a7ca86755c70
10 years ago
Carl Baldwin 3d669cbd0e Creates multiple worker processes for API server
This change to the WSGI code uses openstack.common.service to create
multiple worker processes to handle API load.  The main process will
start up a configurable (workers=??) number of child processes which
will all listen on the bind port.  The main process becomes the parent
and manages the children.  The parent is not a worker.

Backwards compatibility is preserved by setting api_workers to 0, the
default.  In this case, no separate worker processes are spawned and
the worker threads run in the main process.

Implement blueprint multi-workers-for-api-server

Change-Id: Iffa76041d0055840ccca852814b0e71f17a950ac
10 years ago
Eugene Nikanorov 88dd89b2ff LBaaS integration with service type framework
The patch makes the following changes:

* adds new attribute of the pool: provider, which is provider name
as it is written in configuration
* adds support for multiple plugin drivers for loadbalancer
* cleans up healthmonitor-related plugin driver API
Drivers should work with healthmonitor associations only
* adds ability to update provider attribute for the pool used
to reassociate pools with new providers in case their providers
were removed from configuration

implements blueprint lbaas-integration-with-service-types


Change-Id: I4295c9bcceb38e60f813d5596af48bd8194c1c9b
10 years ago
ZhiQiang Fan fbd55e7dbd Remove trailing comma
Closes-Bug: #1217135

There are trailing commas in default value of some options, uncomment
them will cause CRITICAL error for neutron-server. These sample config
may mislead operators, so this patch fix them to the correct format.

Change-Id: Ie0b7626aade653b761257eb2bf397cb3cc5a961e
10 years ago
Aaron Rosen d9832282cf Remove DHCP lease logic
Previously neutron was keeping track of dhcp lease time in order
to ensure it didn't hand out an ip address that was already leased.
This patch removes that logic and instead leverages the dhcp_release
utility. This allows us to reuse ip addresses immediately after a port
is deleted. This patch also bumps the lease time to 24 hours instead
of 2 minutes with reduces the amount of dhcp traffic.


There is a DocImpact for this bug related to the upgrade path. One should
first upgrade their dhcp-agents. Then wait till the dhcp_lease time has
expired. Lastly, update neutron-server in order to avoid the case where
an instance is deleted and the dnsmasq process has not released the lease
and neturon allocates that ip to a new port.

Fixes bug: 1202392
Implements blueprint: remove-dhcp-lease

Change-Id: Ifcb4f093c92904ceb896438987d53e692eb7fb26
10 years ago
ZhiQiang Fan 3313448f2d Avoid overwrite value of deprecated name in conf.
See bug/1194064 #2 Mark McLoughlin's comment

Fixes: Bug #1194064

Change-Id: I421d2decfa8829796fe7b6c14f954f3cccc17215
10 years ago
Eugene Nikanorov 1b36e20771 Service Type Framework refactoring
implements blueprint service-type-framework-cleanup

* Defines logic and API for ServiceProvider - read-only entity
that admins provide in configuration and which is stored in memory
* ServiceType entity which maps to ServiceOfferings in new terms
is removed for now.
* Routed service insertion fixed to not to refer to service providers.
* In case configuration changes and some service providers are removed
then the resources must be cleanup in a special way (undeploy logical
resources). This is a matter of future work
* Add migration.

Change-Id: I400ad8f544ec8bdc7d2efb597c995f284ff05829
10 years ago
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
10 years ago
Yong Sheng Gong 4a01e35f3f rename quantum into neutron
Bug #1200474

Change-Id: Ib83e58008fc53b57c4063057ce4c5707b55f0ff2
10 years ago
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
10 years ago