175 Commits

Author SHA1 Message Date
Jenkins
4e276c3b47 Merge "Change external_network_bridge default to ''" 2016-08-11 01:14:59 +00:00
Jenkins
c2b220ee3d Merge "Enable sorting and pagination by default" 2016-08-04 19:25:36 +00:00
Jenkins
04ace419ba Merge "Added API extensions to detect sorting/pagination features" 2016-08-04 19:20:56 +00:00
Dariusz Smigiel
df9411dc11 Rename DB columns: tenant -> project
All occurences of ``tenant_id`` across the database are renamed
to ``project_id``. Both options are equally valid, but ``project_id``
is preferred.
To inform external users about the change, HasTenant class was
deprecated.

UpgradeImpact
Partially-Implements: blueprint keystone-v3

Change-Id: I87a8ef342ccea004731ba0192b23a8e79bc382dc
2016-08-03 14:34:37 +00:00
Jenkins
d1ce56eb70 Merge "L2-Adjacency support" 2016-08-02 22:22:12 +00:00
Kevin Benton
3f71a49e0f Change external_network_bridge default to ''
This changes the default for external_network_bridge to '' to
encourage operators to deploy L3 agents in the correct manner.

This patch also adds a functional test to ensure that namespaces
with an existing external gateway interface are not torn down and
rewired on change.

Closes-Bug: #1563070
Change-Id: If533cf7c4c379be78f5a15073accaff7f65973ab
2016-08-02 11:35:47 -07:00
Ihar Hrachyshka
9733cc2552 Enable sorting and pagination by default
Now that we have a decent api test coverage for those features, as well
as a way to detect the features via REST API, we should be safe and
thrilled to enable them by default in all installations.

Depends-On: I0aaaa037a8ad52060a68dd75c0a1accc6add238e
Depends-On: I5e68f471a641a34100aba31cb2c4a815c7220014
Depends-On: I648851b48d0481c97054e1280b60a119b42dfd38
Depends-On: Ic04cd125dd715ae0694fbf24d8193abe3151ffd1
Depends-On: Ib3709d15fd87b93285dadf78cce73ee37e8898e2
Depends-On: Ie3a66d2a7c05143df3da1c56c8e8a5308d4bae91

DocImpact Update configuration documentation to cover new defaults.
UpgradeImpact To retain the original default behaviour, set
              allow_sorting and allow_pagination to False.

Closes-Bug: #1566514
Change-Id: I3820bec029b3895913b034b718116c95b4942ed0
2016-08-01 20:59:33 +00:00
Ihar Hrachyshka
5e0878f476 Added API extensions to detect sorting/pagination features
Those features are available only when allow_sorting and
allow_pagination options are enabled (the current default is False).

They don't depend on plugin support, because when plugins don't
implement them natively, emulated mode is applied by API router itself.
So to make it plugin agnostic, we introduce a way to register custom
per-extension checks to override support detection for cases like that
one.

Now that we have a way to detect support for those features via API,
there is little reason to keep tempest configuration options to enable
those features. Instead, just inspect [network-feature-enabled]
api_extensions option in tempest.conf.

Now that DEFAULT_ALLOW_SORTING/DEFAULT_ALLOW_PAGINATION constants are
used in a single place only (in allow_sorting/allow_pagination
definitions), removed them and replaced with a literal.

Added first in-tree API tests for /extensions entry point.

DocImpact Update API documentation to cover new extensions.
APIImpact Document the new extensions.
Related-Bug: #1566514
Change-Id: I0aaaa037a8ad52060a68dd75c0a1accc6add238e
2016-08-01 22:57:15 +02:00
reedip
6cb0c49857 L2-Adjacency support
The following patch adds the support for L2-Adjacency to indicate if
there is L2 adjacency between the ports on a network.

Partially-Implements: blueprint routed-networks

Change-Id: Id2d4331568886bee52e78e1c138f1475cc89342b
2016-08-01 13:43:45 -06:00
Jenkins
0419da5ea2 Merge "Remove deprecated network_device_mtu option" 2016-07-29 16:09:16 +00:00
Ihar Hrachyshka
a9133b7255 Remove deprecated network_device_mtu option
The right way to configure Neutron to work with infrastructure MTU is by
using plugin agnostic global_physnet_mtu and ml2 specific
path_mtu/physical_network_mtus options. The deprecated option is error
prone and does not allow to use different MTUs per network.

Closes-Bug: #1603493
Related-Bug: #1549470
Related-Bug: #1542108
Related-Bug: #1542475

DocImpact Remove all references to network_device_mtu option from
          Neutron documentation. Note that Nova has a deprecated option
          with the same name that will need a separate patch to be removed.

Depends-On: I8e6cc99fe70d0c41a705431fb3160e8fccacff10
Depends-On: I337b284076a794027fbd63796119d56bd1923cf2
Change-Id: I7287db9df25a78a59b2dfa28acfde7fe69d17f40
2016-07-25 19:51:00 +00:00
Jenkins
41438c90f4 Merge "Calculate MTU on every network fetch instead of on create" 2016-07-22 22:37:21 +00:00
Jenkins
e43ac3b27b Merge "Release note: fix a typo in add-time-stamp-fields" 2016-07-21 08:26:58 +00:00
Ihar Hrachyshka
a984f9554c Calculate MTU on every network fetch instead of on create
Today, existing networks may not reflect MTU configured for
neutron-server, if they were created when neutron-server was using
different MTU setup for its infrastructure, or when it was using bad
default values for network MTUs (specifically, before Mitaka, all networks
were getting MTU = 0 by default, disabling both advertisement and data
path MTU size enforcement).

This patch stops persisting MTU in the database on network create and
instead calculate it on every network resource fetch.

DocImpact Now changes to MTU configuration options immediately affect
          existing network MTUs, not just new networks.

UpgradeImpact Existing networks with invalid MTU persisted in database
              may change their MTU values to reflect configuration.

Change-Id: Iee4f5037bf10b73ba98464143b183aacb59c22f2
Closes-Bug: #1556182
2016-07-20 13:26:50 +02:00
Terry Wilson
ca57c9fe8f Update ovsdb release notes re: new OVS ports
Defaulting ovsdb/of_interface to native causes services to
listen on new ports. On systems using selinux, it is important
to make sure that permission is given to listen on these ports.

Change-Id: Ia6d906f1ecc1f64cb1d937a4dcfc9f63eda36f2e
2016-07-18 11:58:35 -05:00
David Shaughnessy
1bb95a4554 Add object versioning to QoS DSCP.
- Changes RULE_TYPE_DSCP_MARK to RULE_TYPE_DSCP_MARKING to conform
  with the rules name.
- Added object versioning to qos related objects.
 - qos/rule: Throws a QosRuleVersionUnavailable exception when
   the QosDscpMarkingRule version is < '1.1'.
- removed test object version incrementation TODO from test_policy.py
 - Object versioning can not be used to increment the object version.

Change-Id: I4f10ef3c1cbaa2a868de2b8e3abc4c39eb1f44c7
Partial-Bug: #1468353
2016-07-12 11:11:11 +01:00
Jenkins
f7292d4914 Merge "Deprecate option min_l3_agents_per_router" 2016-07-10 14:03:51 +00:00
Jenkins
0bf1517b10 Merge "Remove the deprecated config "quota_items"" 2016-07-09 00:41:46 +00:00
Jens Rosenboom
e82494f9cd Deprecate option min_l3_agents_per_router
As was discussed in [1], we should not only allow setting
min_l3_agents_per_router to one [2], but deprecate this option
completely.

[1] https://bugs.launchpad.net/bugs/1555042
[2] https://review.openstack.org/289925

Related-Bug: 1555042
Closes-Bug: 1599275
Change-Id: I518e12edd4bfb7a036b278d5f108cf0fc3de0353
2016-07-08 19:08:36 +00:00
Jenkins
d78450e1fe Merge "Change tunnel MTU calculation to support IPv6" 2016-07-07 14:59:11 +00:00
Jenkins
8f294d94c8 Merge "OVS-agent: Switch the default to "native" of_interface" 2016-07-06 22:03:32 +00:00
Brian Haley
51a697817d Change tunnel MTU calculation to support IPv6
The IPv6 header is twice the size of the IPv4 header, 40 vs 20
bytes, but the tunnel overhead constants are static, only
accounting for an IPv4 header in all cases.  In order to be
correct it needs to treat the tunnel overhead different from
the IP overhead at L3.

This required removing the 20 byte IP overhead from the tunnel
type overhead constants and creating a new option,
ml2.overlay_ip_version, in order for the server to know which
version will be used, since it calculates the MTU for the network.
A version mis-match will now cause a tunnel sync to fail on
the server.

Moved all MTU tests to a common location to remove duplication.

DocImpact

Change-Id: Ia2546c4c71ff48b9fe2817fbad22b1fbf85f325b
Closes-bug: #1584940
2016-07-05 18:07:29 -04:00
Gary Kotton
b7873b12d0 Release note: fix a typo in add-time-stamp-fields
specfic => specific

In addition to this it rewords the release note following comments.

TrivialFix

Change-Id: Ic951544e37fb824fc3d850564a5674a965b8ca10
2016-07-03 22:48:33 -07:00
IWAMOTO Toshihiro
7ae9e4ee00 OVS-agent: Switch the default to "native" of_interface
UpgradeImpact
Change-Id: If3b27a623da762989980157a29376f8fa9bc991e
2016-07-02 01:15:52 +00:00
Jenkins
78dc79146f Merge "Adding FDB population agent extension" 2016-07-01 10:33:33 +00:00
Jenkins
15aa18673a Merge "enable OVSDB native interface by default" 2016-06-30 19:25:43 +00:00
Edan David
2c8f61b816 Adding FDB population agent extension
The purpose of this extension is updating the FDB table upon changes of
normal port instances thus enabling communication between direct port
SR-IOV instances and normal port instances.
Additionally enabling communication to direct port
instances with floating ips.
Support for OVS agent and linux bridge.

DocImpact
Change-Id: I61a8aacb1b21b2a6e452389633d7dcccf9964fea
Closes-Bug: #1492228
Closes-Bug: #1527991
2016-06-29 10:21:15 -04:00
Inessa Vasilevskaya
bdeb7bcc2b enable OVSDB native interface by default
- unit tests were fixed mainly by mocking
  Connection class of native implementation.

- some ovs-lib tests rely on direct ovs-vsctl
  output. Temporarily decorated with @vsctl_only.

UpgradeImpact

Change-Id: I2632b0e21edd61536867a9fc830a45d9899091e4
2016-06-25 10:43:12 +03:00
Hong Hui Xiao
ff73054e86 Remove the deprecated config "quota_items"
It was deprecated at [1], and quota of resource will be registered
at initialization of APIRouter. So, no need to use the config now.

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

DocImpact: All references of 'quota_items' configuration option
and its description should be removed from the docs.

UpgradeImpact: Remove 'quota_items' configuration option from
neutron.conf file.

Change-Id: I0698772a49f51d7c65f1f4cf1ea7660cd07113a0
Closes-Bug: #1593772
2016-06-24 14:45:39 +00:00
Jenkins
b9c2f5444d Merge "Remove the deprecated config 'router_id'" 2016-06-23 20:44:55 +00:00
Hong Hui Xiao
448bc8e522 Remove the deprecated config 'router_id'
It was deprecated at [1].
Remove the deprecated config 'router_id' and its related tests.

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

DocImpact: All references of 'router_id' configuration option
and its description should be removed from the docs.

UpgradeImpact: Remove 'router_id' configuration option from the
l3_agent.ini.

Change-Id: Ic9420191e8c1a333e4dcc0b70411591b8573ec7c
Closes-Bug: #1594711
2016-06-23 10:12:55 +00:00
Jenkins
27c0d3ca81 Merge "Fix designate dns driver for SSL based endpoints" 2016-06-16 21:15:19 +00:00
imran malik
9cd95366a0 Fix designate dns driver for SSL based endpoints
Allow setting options in designate section to specify if want
to skip SSL cert check. This makes it possible to work with HTTPS
based endpoints, the default behavior of keystoneclient is to always
set verify=True however in current code, one cannot either provide
a valid CA cert or skip the verification.

DocImpact: Introduce two additional options for `[designate]` section
in neutron.conf
CONF.designate.insecure to allow insecure connections over SSL.
CONF.designate.ca_cert for a valid cert when connecting over SSL

Change-Id: Ic371cc11d783618c38ee40a18206b0c2a197bb3e
Closes-Bug: #1588067
2016-06-15 15:06:40 -07:00
Jenkins
1381c5e71d Merge "DHCP: delete config option dnsmasq_dns_server" 2016-06-14 23:07:24 +00:00
Jenkins
bd4e0a38b5 Merge "Fix broken URL in Mitaka Neutron release note" 2016-06-14 23:07:00 +00:00
Gary Kotton
eb965f99de DHCP: delete config option dnsmasq_dns_server
This field was marked as deprecated In commit
a269541c603f8923b35b7e722f1b8c0ebd42c95a. That was in Kilo
which has provided enough time for admins to addjust to this.

In addition to this the patch sets the default value as [].
If a value is not specified this is None and that should not be
the default list.

DocImpact
UpgradeImpact

Change-Id: Ieaf18ffc9baf7e1caebe9de47017338bebd92c84
2016-06-14 00:49:30 -07:00
OpenStack Proposal Bot
65b96dde3b Imported Translations from Zanata
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I1a3739b70f60b84ab409fbf1c85f8e0609f337c2
2016-06-07 07:17:09 +00:00
Fang Zhen
56efc8ac76 Switch to oslo.cache
Oslo incubator is about to stop for cache module. We could use
oslo.cache instead. The legacy memory backend is replaced by
oslo_cache.dict.

Closes-Bug: #1517883

Change-Id: I108242ca9f27c9ec47959ce7615bc7d84cae014b
2016-06-02 15:22:36 +00:00
Jenkins
b3dbe19494 Merge "Deprecate advertise_mtu option" 2016-05-25 20:26:12 +00:00
Dina Belova
9a43f58f4d Add OSprofiler support
* Add osprofiler wsgi middleware. This middleware is used for 2 things:
  1) It checks that person who wants to trace is trusted and knows
     secret HMAC key.
  2) It starts tracing in case of proper trace headers
     and adds first wsgi trace point, with info about HTTP request

* Add initialization of osprofiler at start of service
  Currently that includes oslo.messaging notifer instance creation
  to send Ceilometer backend notifications.

Neutron client change: Ic11796889075b2a0e589b70398fc4d4ed6f3ef7c

Co-authored-by: Ryan Moats <rmoats@us.ibm.com>
Depends-On: I5102eb46a7a377eca31375a0d64951ba1fdd035d
Closes-Bug: #1335640
DocImpact Add devref and operator documentation on how to use this
APIImpact
Change-Id: I7fa2ad57dc5763ce72cba6945ebcadef2188e8bd
2016-05-20 11:35:59 -05:00
Ihar Hrachyshka
4955746bbf Deprecate advertise_mtu option
Now that we advertise MTU via DHCP and RA by default, there is no reason
to keep the option available for configuration. Other agents/plugins are
also encouraged to advertise MTU values to instances by their own means.

DocImpact: mark the advertise_mtu option as deprecated as of Newton.

Closes-Bug: 1576000
Change-Id: Ibf7d60dfc57bec090f16d909c050c09e7cfd9352
2016-05-20 14:28:05 +02:00
Armando Migliaccio
1f4c82ce9e Deprecate neutron-debug
We will not follow the typical deprecation cycle and thus we will
not remove this in the release after the deprecation is advertised.

Nonetheless we want to signal the need for a more comprehensive set
of tools and APIs that will eventually make people want to move away
from the limitations of neutron-debug.

Closes-bug: #1583700

Change-Id: Ibe471f186b9b5c9c15c5857a35cbaca6b8d284d6
2016-05-19 20:25:46 +00:00
shmcfarl
a474eb0cb6 Fix broken URL in Mitaka Neutron release note
The section "Other Notes" has a bullet referring to "Please read the OpenStack
Networking Guide." The URL referenced in that bullet was in correct. An
updated URL of
http://docs.openstack.org/mitaka/networking-guide/adv-config-availability-zone.html
was added to the file
https://github.com/openstack/neutron/blob/master/releasenotes/notes/add-availability-zone-4440cf00be7c54ba.yaml

Change-Id: I3e6f6a6a15705820bc0ed489861465f54e07ae52
Closes-Bug: #1582966
2016-05-18 09:28:19 -06:00
Jenkins
a4985d16f6 Merge "Add setting default max_burst value if not given by user" 2016-05-16 21:04:26 +00:00
Jenkins
d9a282b32c Merge "OVS Mech: Set hybrid plug based on agent config" 2016-05-16 10:18:14 +00:00
Sławek Kapłoński
f766fc71be Add setting default max_burst value if not given by user
If user will not provide burst value for bandwidth limit rule there is
need to set such value on appropriate to ensure that bandwith limit
will work fine.
To ensure at least proper limitation of TCP traffic we decided to set
burst as 80% of bw_limit value.
LinuxBridge agent already sets is like that. This patch add same
behaviour for QoS extension driver in openvswitch L2 agent.

DocImpact: Add setting default max_burst value in LB and OvS drivers

Change-Id: Ib12a7cbf88cdffd10c8f6f8442582bf7377ca27d
Closes-Bug: #1572670
2016-05-12 10:06:54 +00:00
Kevin Benton
2f17a30ba0 OVS Mech: Set hybrid plug based on agent config
This adjusts the logic in the OVS mechanism driver to determine
what the ovs_hybrid_plug value should be set to in the VIF details.
Previously it was based purely on the firewall driver configured on
the server side. This prevented a mixed environment where some agents
might be running a native OVS firewall driver while others are still
based on the IPTables hybrid driver.

This patch has the OVS agents report back whether they want hybrid
plugging in their configuration dictionary sent during report_state.
The OVS agent sets this based on an explicit attribute on the firewall
driver requesting OVS hybrid plugging.

To maintain backward compat, if an agent doesn't report this, the old
logic of basing it off of the server-side config is applied.

DocImpact: The server no longer needs to be configured with a firewall
           driver for OVS. It will read config from agent state reports.
Closes-Bug: #1560957
Change-Id: Ie554c2d37ce036e7b51818048153b466eee02913
2016-05-10 12:50:43 -07:00
Frode Nordahl
773394a188 OVS: Add support for IPv6 addresses as tunnel endpoints
Remove IPv4 restriction for local_ip configuration statement.

Check for IP version mismatch of local_ip and remote_ip before creating
tunnel.

Create hash of remote IPv6 address for OVS interface/port name with least
posibility for collissions.

Fix existing tests that fail because of the added check for IP version
and subsequently valid IP addresses in _setup_tunnel_port.

DocImpact

Change-Id: I9ec137ef8c688b678a0c61f07e9a01382acbeb13
Closes-Bug: #1525895
2016-05-03 21:07:21 -04:00
Ihar Hrachyshka
38531ca59c Revert "ML2: Configure path_mtu to default to 1500 bytes"
This reverts commit 7a4633a9ca213ee03cbcd45027189e0b3e7df2f5.

Revert to using 0 as the default value for path_mtu.

In most situations, underlying MTU does not differ for tunnel backed and
vlan/flat tenant networks, in which case the only configuration expected
from operators is setting global_physnet_mtu to the appropriate MTU
value as reflecting all data paths that tenant traffic may take between
nodes.

But with the non-zero value set for path_mtu, if an operator would like
to raise the global underlying MTU used by neutron to support Jumbo
frames, both global_physnet_mtu and path_mtu need a bump, which is not
ideal.

So switch back to using a zero value for path_mtu, effectively making it
not participating in MTU calculation, unless explicitly overridden.

Left the original release note intact since it reflects the state for
Mitaka.

Added a release note for the change.

Conflicts:
	neutron/plugins/ml2/config.py
	releasenotes/notes/1500-default-mtu-b0d6e4ab193b62a4.yaml

Change-Id: I97c4aa647efc85d7b6b45359e43e2a2ae2514a69
2016-04-21 15:50:34 +02:00
Jenkins
ab1c1bc7f5 Merge "Return a 404 on quota delete if entry not found" 2016-04-19 15:15:30 +00:00