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)
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.
DocImpact
Closes-Bug: #1293083
Change-Id: I77bcf8f66f74ba55513c989caead1f96c92b9832
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
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:
NO_VALUE/PORT_STATUS_DOWN/PORT_STATUS_ACTIVE to ACTIVE/ERROR.
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
event.
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.
DocImpact
implements blueprint: nova-event-callback
Change-Id: I4177124485b986706fcf8e73b928024b5d82b822
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
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
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
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
Note: This change is a continuation of abandoned
change https://review.openstack.org/#/c/58720/
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
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, neutron.services.firewall.fwaas_plugin.FirewallPlugin, lbaas
DocImpact
Implements: blueprint config-plugin-by-name
Change-Id: Ia4aaa1d305b160a4d6dab9e227c744727a4c78c2
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
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
error.
Closes-Bug: #1258390
Change-Id: I58c2f9290731f3e88e4b4a5bdb600aa5bac1a12b
l3 extensions don't set quota flags in the config sample file
etc/neutron.conf.
Quota is unlimited if its value is minus and not only if it's -1.
Closes-Bug: #1250574
Change-Id: I76c8d1e2676d4e9b0feeed6e504e759fe736a0db
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
Removing workflows handling from the driver code.
Removing workflow related files
Modifying tests to support new behavior
Change-Id: Icbb6106db07e5b33c37192aa53d088e67bd4a795
Closes-bug: #1239288
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 quota.py is imported. Thus the unit tests had no chance to
specify quota_driver.
Change-Id: I9e20961d5a6322361e3c0284b3c2a7ca86755c70
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
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
DocImpact
Change-Id: I4295c9bcceb38e60f813d5596af48bd8194c1c9b
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
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.
DocImpact
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
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
- 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
This change renames everything to Neutron while providing backwards
compatible adjustments for Grizzly configuration files.
implements blueprint: remove-use-of-quantum
Change-Id: Ie7d07ba7c89857e13d4ddc8f0e9b68de020a3d19