Commit Graph

141 Commits

Author SHA1 Message Date
Martin Hickey 112c8dd11d Remove Neutron core static example configuration files
Oslo config generator was introduced in patch [1] to
automatically generate the sample Neutron core configuration
files.

This patch removes the static example configuration files from
the repository as they are now redundant.

[1] https://review.openstack.org/#/c/204206/

DocImpact

Change-Id: Ic7ae2e038b5bd7b215c65c9c565bfe31ef551520
Partially-Implements: blueprint autogen-neutron-conf-file
Closes-bug: #1199963
Depends-On: Ic37a16b6cf8eb92030649f1fc8b198738a8cc104
2015-11-30 13:06:53 +00:00
Jenkins 9b531b9e4e Merge "Change instances of Openstack to OpenStack." 2015-11-26 01:43:14 +00:00
venkatamahesh bf915b001d Change instances of Openstack to OpenStack.
Change Openstack to OpenStack
as per standards

Change-Id: I10f33c1e70fb5f2d74e6feda0a4a266d7071e1ab
2015-11-25 20:47:58 +00:00
Hirofumi Ichihara 6e50027819 Add availability_zone support for network
This patch adds the availability_zone support for network.

APIImpact
DocImpact

Change-Id: I9259d9679c74d3b3658771290e920a7896631e62
Co-Authored-By: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Partially-implements: blueprint add-availability-zone
2015-11-25 22:34:09 +09:00
Jenkins 364abc81c8 Merge "Add a better description for notification_driver" 2015-11-18 20:28:57 +00:00
Jenkins ddd13b25e7 Merge "Revert "Move dhcp_lease_duration into DHCP agent config options list"" 2015-11-17 05:29:34 +00:00
Dongcan Ye 6bcac62fc2 Add a better description for notification_driver
Improve description for the notification_driver
property in neutron.conf, so users will understand
how to configure it correctly.

Change-Id: Ib5d4c4b6eea5cabf58708d8201f9ff9c883b6c97
2015-11-17 13:16:29 +08:00
Kevin Benton 3a57401e86 Revert "Move dhcp_lease_duration into DHCP agent config options list"
This reverts commit 3101e2b62f.

The lease duration isn't DHCP agent specific. DHCP is a feature that
should be provided by whatever plugin is loaded and operators would
still like to set lease times for DHCP.

In the reference implementation we just consume it directly in the
agent, but that doesn't mean it's specific to the agent implementation.

Change-Id: I5efb6aa5e196d4cac5ff7c0c35be5a350401b925
2015-11-16 10:53:24 +00:00
Jenkins d8c07f1933 Merge "Move dhcp_lease_duration into DHCP agent config options list" 2015-11-13 22:31:42 +00:00
Jenkins 772b3e3df3 Merge "Replace subnetpool config options with admin-only API" 2015-11-13 16:08:38 +00:00
Ihar Hrachyshka 3101e2b62f Move dhcp_lease_duration into DHCP agent config options list
It is DHCP agent specific, and so it should not be present in
neutron.conf or be reported as a valid option for other services.

Also modified the help message slightly to avoid mentioning dnsmasq
since the option could in theory be used by alternative dhcp drivers.

Change-Id: I66bcea1c3a6ce6fa9ce56ea8137a94858f18dc5a
2015-11-13 12:21:44 +01:00
Jenkins 87ce4868ca Merge "Add new config option for IPv6 Prefix Delegation" 2015-11-11 08:42:32 +00:00
Jenkins 73c804d1c5 Merge "Add track_quota_usage conf into neutron.conf" 2015-11-09 21:42:06 +00:00
John Davidge 6ee91e56c8 Replace subnetpool config options with admin-only API
This patch adds a new boolean 'is_default' property to subnetpools. This
allows the admin to set the default v4/v6 subnetpools via the API rather
than the existing neutron.conf options - which are deprecated by this patch.

Only one subnetpool per IP family can be set to default.

DocImpact
ApiImpact

Co-Authored-By: Carl Baldwin <carl@ecbaldwin.net>

Change-Id: I5daba2347cfb91fac0b155b2c1b459ee7d9e4505
Closes-Bug: 1501328
2015-11-06 17:16:31 +00:00
John Davidge a3113c56c2 Add new config option for IPv6 Prefix Delegation
With the impending deprecation of the default subnetpool configuration
options, IPv6 PD needs to be enabled with a new config option.

This patch adds the 'ipv6_pd_enabled' option to neutron.conf, and makes
all of the necessary changes for its use.

DocImpact

Change-Id: I43486c5a13ee2ff0097355afe7e1f3ef8794b185
Closes-Bug: 1501835
2015-11-06 16:35:02 +00:00
Jenkins 5fe2ab900f Merge "Remove deprecated nova_* options" 2015-11-01 09:43:32 +00:00
Cedric Brandily 26f008296b Remove deprecated nova_* options
Neutron nova_* options have been deprecated in Kilo in favour of options
in [nova] section.

This change removes these options in order to simplify code, clarify
configuration and avoid a warning in unittests.

DocImpact
UpgradeImpact
Closes-Bug: #1509092
Related-Bug: #1403686
Change-Id: I950f72ad7d7d41cfa006f8c7105934301cd56faa
2015-11-01 00:13:10 +01:00
Eugene Nikanorov 678b431ba4 Spawn dedicated rpc workers for state reports queue
By default spawn one additional rpc worker to process
state report queue.
State report queue will also be processed by regular
rpc workers, but in case these workers are busy with
processing heavy requests, state reports queue will
automatically be consumed by dedicated rpc workers.

This change applies to ML2 plugin only.
Other plugins should implement start_rpc_state_reports_listener
to enable additional rpc workers.

Change-Id: I5f8df6a478f7c82382049274b34b07109eeafbdb
Closes-Bug: #1505217
2015-10-21 17:55:25 +04:00
gong yong sheng eb6a41743c Add track_quota_usage conf into neutron.conf
track_quota_usage is missing in neutron configuration files. This
patch adds it into neutron.conf so that deployers know it.

Closes-bug: #1504370
DocImpact

Change-Id: Ibaff5ac60cd69958eb981d2058d946cc88f799f1
2015-10-09 11:49:26 +08:00
Jenkins e739ba36ee Merge "Consume sslutils and wsgi modules from oslo.service" 2015-10-08 22:20:42 +00:00
Elena Ezhova 216d2d0b75 Consume sslutils and wsgi modules from oslo.service
sslutils and basic WSGI functionality have been moved to
oslo.service and now Neutron can reuse them.

Marked ssl options that were renamed in oslo.service as
deprecated.

Added a note about possible implications for out-of-tree plugins
to neutron_api.rst

Bumped oslo.service version to 0.9.0.

Related-Bug: #1482633

Depends-On: I0424a6c261fae447dbc25b3abf00258c860a88f5
Change-Id: Ibfdf07e665fcfcd093a0e31274e1a6116706aec2
2015-10-08 17:58:53 +00:00
Kevin Benton 37277cf416 Deprecate max_fixed_ips_per_port
This option does not have a clear use case since we prevent
users from setting their own IP addresses on shared networks.

DocImpact
Change-Id: I211e87790c955ba5c3904ac27b177acb2847539d
Closes-Bug: #1502356
2015-10-05 16:49:15 +00:00
Hirofumi Ichihara 9c2c3021a6 Add availability_zone support base
This patch adds the availability_zone attribute to agents and
supports availability_zone API.
Availability_zone support for resources (network/router) and
the schedulers are included in subsequent patches.

APIImpact
DocImpact

Co-Authored-By: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Change-Id: Id7a62000ab0484412b3970199df8c374568fe70d
Partially-implements: blueprint add-availability-zone
2015-10-02 10:14:10 +09:00
armando-migliaccio e5f635ee4f Switch scheduler drivers to load based schedulers
Cloud deployed at scale most likely will use these scheduler
drivers because they allow a fairer resource allocation compared
to chance schedulers (which randomly place resources on the hosts).

Because of their importance, it's only wise to test them in
the gate on a continuous basis, so that we do not get surprised
by accidental regressions.

Rather than pushing this down through devstack-gate/project-config
patches, this chance alters the default of the scheduler
drivers, so that users can also pick these up out of the box.

This means that after an upgrade they would observe a change in
the scheduling behavior, if they relied on the default config.

DocImpact
UpgradeImpact

Closes-bug: #1494667

Change-Id: I5927914cb88eff66bc7a045340ff68cb8da95ad6
2015-09-12 23:01:47 -07:00
Jenkins c2eea9eee3 Merge "Add support for PluginWorker and Process creation notification" 2015-09-04 05:02:52 +00:00
Terry Wilson 9f6bd17703 Add support for PluginWorker and Process creation notification
There are several cases where plugin initialization should be
handled after neutron-server forks API/RPC workers. For example,
starting a client connection to an SDN controller before forking
copies the fd of the socket to the child process, but then you have
multiple processes trying to read/write the same socket connection.

It is also useful for a plugin to be able to do something in only
one process, regardless of how many workers are forked. One example
would be handling syncing from an external system to the neutron
database.

This patch does 3 things:
1) Treats rpc_workers=0 as = 1. This simplifies the code for
   handling notification that forking has completed. In the
   existing code, calling the notification in the Worker object's
   start() method would happen twice in the case where both api
   and rpc workers were 0, despite there being only one process.
   An earlier patch already changed the default api_workers to be
   the number of processors.
2) Adds notification of forking via the callbacks mechanism.
   Plugins can subscribe to resources.PROCESS, event.AFTER_CREATE
   and do any post-fork initialization that needs to be done for
   every spawned process.
3) Adds core/service plugin calls to get_workers() which defaults
   to returning (). Plugins that need additional processes to spawn
   should just return an iterable of NeutronWorkers that will be
   spawned in their own process.

DocImpact

Closes-Bug: #1463129
Change-Id: Ib99954678c2b4f32f486b537979d446aafbea07b
2015-09-03 06:40:50 +00:00
Jenkins 26992bc156 Merge "Add enable_new_agents to neutron server" 2015-08-30 05:08:14 +00:00
Hirofumi Ichihara a6c8d60e5e Add enable_new_agents to neutron server
Neutron doesn't have a way to test a newly added network node
by deploying test resource before any customer resource on the node
is deployed. Nova and Cinder has the setting of “enable_new_services”
in each conf to disable the initial service status to achieve this.
This proposal adds enable_new_agents config.

DocImpact

Change-Id: Ie0d0b2dd4d95de95f3839d1c35f24b708e893801
Implements: blueprint enable-new-agents
Related-Bug: 1472076
2015-08-28 14:41:59 +09:00
Miguel Lavalle 3d28fc0bfc Add dns_label processing for Ports
Functionallity is added to enable users to specify a dns_label field during
port creation and update. This dns_label field will be used for DNS resolution
of the hostname in dnsmasq and also will be used when Neutron can integrate
with external DNS systems.

Change-Id: I6beab336dfd9b70b1af6e975939c602047faa651
DocImpact
APIImpact
Closes-Bug: #1459030
Implements: blueprint internal-dns-resolution
2015-08-24 17:26:35 -05:00
Ihar Hrachyshka 70727ba781 Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Note to reviewers: gerrit diff for merge patches is very limited, and
leaving comments in global section won't scale, so please comment here:

https://etherpad.openstack.org/p/qos-merge-back-review

This merge commit introduces QoS feature into Liberty release of
Neutron.

The feature is documented in: doc/source/devref/quality_of_service.rst
included with the merge patch.

It includes:

- QoS API service plugin with QoS policy and QoS bandwidth limit
  (egress) rule support;
- core plugin mechanism to determine supported rule types, with its ML2
  implementation;
- new agent extension manager;
- QoS agent extension with pluggable backend QoS drivers (Open vSwitch
  and SR-IOV support is included).

To extend network and port core resources with qos_policy_id attribute,
a new ML2 extension driver (qos) was introduced that relies on the QoS
core resource extension (the idea is that eventually we'll get a core
resource extension manager that can be directly reused by core plugins).

Agent-server interaction is based on:

- get_device_details() method that is extended with qos_policy_id;
- a new push/pull mechanism that allows agents and servers to
  communicate using oslo.versionedobjects based objects sent on the
  wire.

The merge includes the following types of test coverage:

- unit tests;
- functional tests for OVS agent, QoS agent extension, and low level
  ovs_lib changes;
- API tests to cover port/network qos_policy_id attribute and new QoS
  resources.

The client changes can be found at:

* https://review.openstack.org/189655
* https://review.openstack.org/198277

The team also prepared fullstack test but it needs to wait for client
merge before it can pass in the gate:

* https://review.openstack.org/202492

Gerrit does not show diff for merge changes that did not result in any
conflict, so to facilitate review, rely on the following steps:

- fetch the patch locally
- git fetch origin
- git diff origin/master...

This merge also disables qos extension API tests until the service is
enabled in master gate.

Local changes apart from conflicts:
- updated down_revision for qos migration to reflect master expand head;
- disabled qos API tests with gate_hook.sh until we have it enabled in
  master gate;
- bumped oslo.versionedobjects requirement to reflect what is in
  openstack/requirements' global-requirements.txt

DocImpact
APIImpact
Partially-Implements: blueprint quantum-qos-api
Partially-Implements: blueprint ml2-qos
Partially-Implements: blueprint ml2-qos-ovs-bwlimiting
Partially-Implements: blueprint ml2-sriov-qos-with-bwlimiting
Change-Id: I92916d0e391791187e9a25ff172fb4b3504857b1
2015-08-17 15:16:55 +02:00
John Schwarz 98618644ce Add configurable options for HA networks
The L3 HA mechanism creates a project network for HA (VRRP) traffic
among routers. The HA project network uses the first (default) network
type in 'tenant_network_types'. Depending on the environment, this
combination may not provide a desirable path for HA traffic. For
example, some operators may prefer to use a specific network for HA
traffic to prevent split-brain issues.

This patch adds configurable options that target the network_type and
the physical_network of the created HA network.

Doc-Impact
Closes-Bug: #1481443
Change-Id: I3527a780179b5982d6e0eb0b8c32d6dafeeab730
2015-08-13 16:02:19 +03:00
Ihar Hrachyshka cc0ae6dd49 Merge remote-tracking branch 'origin/feature/qos' into merge-branch
Change-Id: I683102e617202e0ffc953a0d3cc179879f8faf82
2015-08-05 17:15:40 +02:00
Ihar Hrachyshka f80aa722a6 Added missing [qos] section into neutron.conf
Also renamed service_notification_drivers into notification_drivers
since it's clear where it belongs anyway (it's in neutron.conf meaning
it's a server side configuration value).

Change-Id: I64610e4b60112daec982a8cacded9b9b936c10bd
Partially-Implements: blueprint quantum-qos-api
2015-08-01 22:19:07 +02:00
Qiaowei Ren 78ff49ecf9 Remove unnecessary executable permission
Bunch of neutron source code files are marked as executable which is not
appropriate, this patch just 'chmod -x' to all of them.

Closes-Bug: #1468564

Change-Id: Idec4ae16501d68e044e103db24ad3be0e0751e9a
2015-08-01 05:16:32 +00:00
Salvatore Orlando 1663f5c197 Create packages for quota modules
This patch simply renames quota modules introducing two
new packages:
1) neutron.quota
2) neutron.db.quota

This paves the way for adding more quota related modules.
Unit tests paths are changed accordingly, as well as references
to moved modules.
This patch hovewer preserves the ability of importing
neutron.db.quota_db in order to avoid breaking repositories which
use neutron as a requirement.

Change-Id: I946e87f1b2ebb3e80d64aecfe58aeff9f81896f3
Related-blueprint: better-quotas
2015-07-28 11:55:01 -07:00
Miguel Angel Ajo 2ff19be1db QoS service plugin stub
This patch introduces the QoS service plugin which implements
a stub of the API extension.

This is patch is a basic step to be able to create an experimental
job enabling this service so we can do api tests.

Change-Id: Ib583e98c232ca628ba2a4bd48527eb84584c6212
2015-06-29 17:51:10 +03:00
armando-migliaccio ba2c44ef00 Revert "Revert "Set default of api_workers to number of CPUs""
This reverts commit 12a564cf03.

We should re-enable this feature on a controlled basis so that we can
flush out any outstanding issue we may have.

Related-bug: #1432189

Change-Id: I2cfd93fdb032b461022b729347390ff8636ccdeb
2015-06-12 16:43:27 +00:00
Jeremy Stanley f08e9f1f53 Switch from MySQL-python to PyMySQL
As discussed in the Liberty Design Summit "Moving apps to Python 3"
cross-project workshop, the way forward in the near future is to
switch to the pure-python PyMySQL library as a default.

https://etherpad.openstack.org/p/liberty-cross-project-python3

Change-Id: I73e0fdb6eca70e7d029a40a2f6f17a7c0797a21d
2015-06-09 19:48:20 -04:00
Pavel Bondar bacd69386d Implement IPAM Driver loader
IPAM Driver is loaded based on value of 'ipam_driver'.
Added new variable 'ipam_driver' in config.

DocImpact
Partially-Implements: blueprint neutron-ipam

Change-Id: Ia52ad70ef4f0b02cf82cfefcf50b9f1e30b05b79
2015-06-01 20:05:19 +03:00
Salvatore Orlando a6b6e5597f Deprecate quota_items, register resources upon REST initialization
Register 'core' resources when the respective rest controllers are
instantiated, rather than at module load time.

Since in this way there will not be any need to iterate over
quota_items, the option is being deprecated.

This patch does not supply unit tests as the already-existing
routine for registering a resource from quota_items is being
deprecated as well (and was not covered by any unit test beforehand).

DocImpact

Change-Id: Icdb744adfd86d38363239a454ccf04f3c6b9c158
Closes-Bug: #1453322
2015-05-11 04:03:40 -07:00
Cedric Brandily cf84ec4c10 Allow to define enable_snat default value
Currently neutron resets enable_snat attribute to True when enable_snat
is not provided in router external_gateway_info. But in some deployments
(private/enterprise clouds) such behavior is not the expected default
one as snat/nat/floating-ips is not used (at least by default).

This change defines the option enable_snat_by_default which allows
deployers to set enable_snat default value when neutron resets it. The
option default value is True for backward compatibility.

DocImpact
APIImpact
Closes-Bug: #1388858
Change-Id: I455a552230ec89fe907a087c1de8c8144b5d086e
2015-05-07 00:10:50 +02:00
Jenkins af01974564 Merge "Revert "Add ipset element and hashsize tunables"" 2015-04-16 22:12:03 +00:00
Li Ma 8be4e4d5fc Provide details for configure multiple DHCP agents
The help text is not that good for operation. This fix adds more
information about the option 'dhcp_agents_per_network'.

Change-Id: I955c1e9989a9c65b0ffdbbdca9113c795ec72fe6
Closes-Bug: #1370934
2015-04-14 18:33:16 -07:00
Edgar Magana 3d1277555e Add missing config parameters in neutron.conf
Include all missing configuration parameters already
integrated in Neutron code.

Change-Id: Iefa344a2f9ec2c74f6314e7c783ff3b213d76ea3
Closes-bug: #1438329
2015-04-08 10:40:30 -07:00
Jenkins 4543a4cefa Merge "Add ipset element and hashsize tunables" 2015-04-08 15:57:10 +00:00
Jenkins 7f143e75ee Merge "Stop using deprecated DEFAULT group for lock_path" 2015-04-07 18:38:52 +00:00
Brian Haley b5b919a7a3 Add ipset element and hashsize tunables
Recently, these messages have been noticed in both tempest
logs, as well as reported by downstream users syslog:

  Set IPv4915d358d-2c5b-43b5-9862 is full, maxelem 65536 reached

So the default of 64K is not sufficient enough.

This change adds two config options to control both the number
of elements as well as the hashsize, since they should be
tuned together for best performance.  Slightly different
formats were required for 'ipset create' and 'ipset restore'.

The default values for these are now set to 131072 (maxelem) and
2048 (hashsize), which is an increase over their typical default values
of 65536/1024 (respectively), in order to fix the errors seen in
the tempest tests.

DocImpact

Change-Id: Ic0b5b38a840e737dc6be938230f4052974c8620f
Closes-bug: #1439817
2015-04-06 15:33:01 -04:00
Jenkins 3f45031d68 Merge "Allow metadata proxy to log with nobody user/group" 2015-04-02 11:39:27 +00:00
Cedric Brandily fbc2278414 Allow metadata proxy to log with nobody user/group
Currently metadata proxy cannot run with nobody user/group as
metadata proxy (as other services) uses WatchedFileHandler handler to
log to file which does not support permissions drop (the process must
be able to r/w after permissions drop to "watch" the file).

This change allows to enable/disable log watch in metadata proxies with
the new option metadata_proxy_log_watch. It should be disabled when
metadata_proxy_user/group is not allowed to read/write metadata proxy
log files. Option default value is deduced from metadata_proxy_user:

* True if metadata_proxy_user is agent effective user id/name,
* False otherwise.

When log watch is disabled and logrotate is enabled on metadata proxy
logging files, 'copytruncate' logrotate option must be used otherwise
metadata proxy logs will be lost after the first log rotation.

DocImpact
Change-Id: I40a7bd82a2c60d9198312fdb52e3010c60db3511
Partial-Bug: #1427228
2015-04-01 22:41:07 +02:00
Carl Baldwin 3428594556 Implement default subnet pool configuration settings
The default_ipv6_subnet_pool option was added [1] as an integration
point between prefix delegation work and subnet allocation work.  This
patch completes the integration with subnet allocation.  This
addresses the use case where a deployer wants all ipv6 addresses to
come -- by default -- from a globally routable pool of ipv6 addresses.

In a deployment with this option set, an API user can still access the
old behavior by passing None explicitly as subnetpool_id when creating
a subnet.

This patch also adds the default_ipv4_subnet_pool for completeness.

[1] https://review.openstack.org/#/c/166973

Change-Id: I301189b5cd31d7c5fa4a40fa3e04f8e6ac77592b
Partially-Implements: blueprint subnet-allocation
2015-04-01 16:05:57 +00:00