17343 Commits

Author SHA1 Message Date
Kevin Benton
28d2e699b5 Fixes to allow OVO deserializion of ports/networks
A few fixes required to allow deserialization/serialization
of OVO resources.

* Set shared to False when context is missing for RBAC calculations
* Parse strings received from json into netaddr objects

Partially-Implements: blueprint push-notifications
Change-Id: I1609014d6100a0c410c66d159f9e682d8aa3e7ba
2017-01-25 19:30:36 -08:00
Kevin Benton
7915b4a2ea Add missing module-level SUBNET ref
The resources module was missing the SUBNET variable
so it wasn't possible for consumers to reference it
like the other resources.

TrivialFix
Partially-Implements: blueprint push-notifications
Change-Id: I954858f5c4487ea97a482a24576a6ca523d4d5d6
2017-01-25 19:29:51 -08:00
Jenkins
4157c2888e Merge "Linux Bridge: driver support for QoS egress minimum bandwidth" 2017-01-25 10:13:03 +00:00
Jenkins
601309d937 Merge "Allow all migration of routers" 2017-01-24 23:59:48 +00:00
Jenkins
571b925c7e Merge "Routed networks IPv4 inventory in Nova GRP" 2017-01-24 22:37:41 +00:00
Jenkins
3645dca054 Merge "Correctly set project_name" 2017-01-24 19:51:10 +00:00
Jenkins
1f5f10e4c8 Merge "Manually add pk for alembic_version table" 2017-01-24 17:51:00 +00:00
Jenkins
eb97599218 Merge "openvswitch agent: add OVS_RESTARTED event" 2017-01-24 12:02:06 +00:00
Jenkins
403d4e820d Merge "Do not try and remove non-existent iptables chains" 2017-01-24 11:59:24 +00:00
Jenkins
17de082a79 Merge "Change neighbour commands to use pyroute2" 2017-01-24 10:01:45 +00:00
Jenkins
a0d05fd8cf Merge "Break circular import with use of common_types" 2017-01-24 08:48:58 +00:00
John Schwarz
318650ab80 Allow all migration of routers
This patch proposes the allowance of changing a router's 'distributed'
or 'ha' attributes without any restriction as to the previous state of
these attributes, as long as the router's admin_state_up is False.

Closes-Bug: #1654991
Change-Id: Iad4dd77f74ba01876e0091112a1e24a3463993d1
2017-01-24 01:04:14 -05:00
Jenkins
c8b5095bce Merge "Update docstring in validate_provider_segment" 2017-01-24 05:33:12 +00:00
Jenkins
9ed660af9e Merge "OVO for Ipam(Allocation,Subnet,Pool)" 2017-01-23 07:47:20 +00:00
Jenkins
4f705137e9 Merge "Get rid of floating IP bgp next_hop query" 2017-01-21 13:27:16 +00:00
Jenkins
2eaadd4050 Merge "ovsfw: Support protocol numbers instead of just tcp and udp" 2017-01-21 02:18:56 +00:00
Jenkins
86d47bad2d Merge "XenAPI: Support daemon mode for rootwrap" 2017-01-21 02:18:20 +00:00
Jenkins
f511ba9db5 Merge "Modify docref commands to reflect OSC transition" 2017-01-21 02:05:14 +00:00
Jenkins
74a227500a Merge "Register sqlalchemy events through hook for UT cleanup" 2017-01-21 02:04:51 +00:00
Jenkins
951ee8806c Merge "Add KillFilter for python 3.5" 2017-01-21 01:22:38 +00:00
Jenkins
1bff60d0a6 Merge "Fix empty string check for python 3" 2017-01-21 01:20:52 +00:00
Brian Haley
d7a6827e43 Change neighbour commands to use pyroute2
Change ip_lib's IpNeighCommand class to use pyroute2
for adding, deleting and dumping entries, rather than
using 'ip neigh'.  This will increase performance when
many ARP updates happen at once.

Change-Id: Idd528c0b402d1c9fc4b030f2aaa6d641d86ec02a
Partial-Bug: #1511134
2017-01-20 16:33:26 -05:00
Miguel Lavalle
5cbdd10b21 Routed networks IPv4 inventory in Nova GRP
Using Nova's generic resource pools (GRP) API, publish routed networks
IPv4 inventory. This inventory is then used by the Nova scheduler to
place instances based on the availability of IPv4 addresses in
routed networks segments.

Change-Id: Ib6b00c4889d6a34765844ce46280819dff0108c5
Partially-Implements: blueprint routed-networks
2017-01-20 15:32:35 -06:00
Sean Dague
af6b9b36c5 Correctly set project_name
With newer keystone middleware tenant* isn't set, project* is. The
current neutron logic assumes tenant is the good values, and that
project should mirror it, but that logic actually needs to be
inverted.

In order to minimally impact unit tests as operations, the strategy
here is to just prefer project_name, but fall back to tenant_name if
project_name isn't filled out (this should basically never be the
case).

With this project_name shows up in the context log lines in devstack
again (it's been missing for some time).

Change-Id: Ice6a4d046b492f02e3306627a760e5f4573f0fc6
2017-01-20 16:11:00 -05:00
Manjeet Singh Bhatia
7d99bf0c8d Break circular import with use of common_types
Using UUIDFIelds from common types in objects/quota.py in [1],
ended up in circular imports. This patch will fix it.

[1]. https://review.openstack.org/#/c/338625/
Change-Id: I67580a875d2a8c8a791b9e246c1247349c4771df
Closes-Bug: #1653780
2017-01-20 21:06:15 +00:00
Jakub Libosvar
d5c07fe512 ovsfw: Support protocol numbers instead of just tcp and udp
Neutron API accepts also protocol numbers as protocols for security
groups. This patch makes support for it in OVS firewall driver. iptables
driver already supports it.

Fullstack test covering SCTP connection was added and it requires
ip_conntrack_proto_sctp kernel module in order to make conntrack work
with SCTP.

Change-Id: I6c5665a994c4a50ddbb95cd1360be0de0a6c7e40
Closes-bug: 1625516
2017-01-20 11:17:40 -05:00
Davanum Srinivas
d6c99d521f Add KillFilter for python 3.5
When we run devstack with USE_PYTHON3, the existing KillFilter
definitions are not enough. Let's add one specific to python 3.5
as well.

Change-Id: I2472e4e39315225d6c9ea1651c8e3b20edc59b49
2017-01-20 15:08:56 +00:00
Kevin Benton
553ab6d86e Register sqlalchemy events through hook for UT cleanup
Register all sqlalchemy events through a new function in
neutron.db.api so we can keep track of active events and
ensure all are removed at the end of each test run.

Without this, an instance of a plugin may be left around
with the only reference to it existing in SQLAlchemy, where
it will receive events for tests unrelated to it and potentially
interfere.

Change-Id: I8e93eb4e8ef5a13f015db9cd20e44941cdcb72ef
2017-01-20 04:15:01 -08:00
Jenkins
0c05d49949 Merge "Server-side push notifications for ML2" 2017-01-20 08:41:34 +00:00
Jenkins
c0db29510c Merge "Fix netns_cleanup interrupted on rwd I/O" 2017-01-20 08:25:01 +00:00
Jenkins
ace1d669e2 Merge "Stop using legacy facade" 2017-01-20 08:23:22 +00:00
Jenkins
303324fb34 Merge "Add OVO for AutoAllocatedTopology" 2017-01-20 08:10:50 +00:00
Oleg Bondarev
7953e9886d Fix empty string check for python 3
It's '' in py2 and b'' in py3.
See bug for traceback.

Closes-Bug: #1657476
Change-Id: Ic2c32669bf238b702e13e81e15dd079d538a6abc
2017-01-20 10:03:20 +04:00
Jenkins
2614bc6498 Merge "DVR: Fix IPtables driver for metering with DVR routers" 2017-01-20 04:08:55 +00:00
Jenkins
f8b49d41c8 Merge "Add subprojects database migration" 2017-01-20 04:08:34 +00:00
Jenkins
29a002567f Merge "Get rid of L3 HA override of _update_router_db" 2017-01-20 04:07:57 +00:00
Jenkins
0c161908bd Merge "Get rid of create_router override in l3_ha mixin" 2017-01-20 04:07:36 +00:00
Quan Tian
6ffc58df65 Update docstring in validate_provider_segment
The InvalidInput exception has been moved to neutron_lib.exceptions.

TrivialFix

Change-Id: I7a2db015ce48e75872979c16b7bbe7516eeb15e8
2017-01-20 02:40:51 +00:00
Jenkins
dce2118fd7 Merge "Remove get_router_cidrs method of dvr_edge_ha router" 2017-01-20 01:49:46 +00:00
Jenkins
af4992fc61 Merge "Updated from global requirements" 2017-01-20 00:24:33 +00:00
Jenkins
b6aba016ae Merge "Protect against non-determinstic sort" 2017-01-20 00:24:11 +00:00
Jenkins
37906965f6 Merge "Allow 0 in port range for securitygrouprule object" 2017-01-20 00:18:01 +00:00
Jenkins
96a51ad742 Merge "Add a ReST client for placement API" 2017-01-20 00:17:40 +00:00
Ankur Gupta
a43e992ed9 Modify docref commands to reflect OSC transition
Change-Id: Ie8f658372eb1273aa54f3d2d6a8a30651fe26f32
2017-01-19 21:52:46 +00:00
Kevin Benton
d8440e41e0 Server-side push notifications for ML2
ML2 server-side push notifications for subnets, networks,
ports, security groups, and security group rules.

This adds a registry callback listener for each of the objects
above for the AFTER_CREATE and AFTER_UPDATE events. Whenever
one of these is triggered, it will parse the ID out of the event
and use it to retrieve an OVO object from the DB and dispatch
it to the RPC callback notifier.

This is only the logic to push changes to the agents. It does not
include an interface for the agents to query the server or the agent
side code to receive the notifications.

Partially-Implements: blueprint push-notifications
Change-Id: I5efc625c5e8565693e795d70e0f85810552d38cd
2017-01-19 21:01:23 +00:00
Kevin Benton
e834986084 Allow 0 in port range for securitygrouprule object
We allow 0 in port_range_min and port_range_max for the
non TCP/UDP use cases (e.g. ICMP). This adjusts the securitygrouprule
OVO object to use a new PortRangeWith0Field to allow 0.

Change-Id: I00f7a91202ccfcad1b8edb8759983332c6e79791
2017-01-19 21:01:02 +00:00
OpenStack Proposal Bot
48580f3012 Updated from global requirements
Change-Id: I98db73e4d9d9691f594a5275c636ceee1c0887c6
2017-01-19 20:51:48 +00:00
Jenkins
0fdfb11e0b Merge "Fix importing old path for exceptions" 2017-01-19 19:26:38 +00:00
Nakul Dahiwade
89f6dd3305 OVO for Ipam(Allocation,Subnet,Pool)
This patch introduces and integrates Oslo-Versioned Objects for
IpamAllocationPool,IpamAllocation and IpamSubnet model classes.

Change-Id: Ib7d86dd10e92b5e2baeef0e69620c8688859fe7d
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
Co-Authored-By: Anindita Das <anindita.das@intel.com>
Co-Authored-By: Mohit Malik <mohit.malik@intel.com>
Co-Authored-By: Victor Morales <victor.morales@intel.com>
2017-01-19 19:25:01 +00:00
Lizhixin
91b2efcbd5 Remove get_router_cidrs method of dvr_edge_ha router
Since commit a388f78c8cb4b1c860bfc11029b5210955f1932d, we fetch
routers' existing floating ip address from the fip namespace's
route table instead of qrouter namespace's qg device for the
dvr_local and dvr_edge router. But for dvr_edge_ha router, it
still fetch the existing floating ip like legacy router, causing
it can’t know which existent floating ip rules need to be removed.

After removing the get_router_cidrs method, the dvr_edge_ha router
inherit the get_router_cidrs method from dvr_local router and it
will remove the existent floating ip rules successfully if we
disassociate the floating ip.

Co-Authored-By: Swaminathan Vasudevan <swaminathan.vasudevan@hpe.com>
Change-Id: Ic471189773298b353db7629c827c8787703c0069
Related-Bug: #1644415
2017-01-19 10:37:14 -08:00