17703 Commits

Author SHA1 Message Date
Jenkins
e6ee6ad8ee Merge "Improve tunnel_sync" 2017-02-07 04:05:19 +00:00
Anh Tran
de8f5381ca Typo fix: underlaying => underlying
Change-Id: I587d55b27641cade16ba8e41e1bafde775444268
2017-02-07 10:52:39 +07:00
Jenkins
866b184d93 Merge "DVR: Add static routes to FIP namespace" 2017-02-07 01:57:32 +00:00
Kevin Benton
dbadf7b2ed Skip segment checks during network delete operations
These checks aren't necessary when triggered as part of a
network delete operation since any remaining subnets and ports
will be removed from the network. Additionally, they can race
with the auto cleanup methods for ports and subnets if segment
deletion is moved to BEFORE_DELETE where it should be.

Change-Id: I996f5b22f5179f5540760cc05c9f091bb3f3069b
2017-02-06 16:12:20 -08:00
Jenkins
4be9800e4b Merge "tempest: Pin Ubuntu image to one version" 2017-02-07 00:11:24 +00:00
Jenkins
ae3eea1664 Merge "Simplify notify transaction tests" 2017-02-06 20:53:16 +00:00
Armando Migliaccio
2901c7439d Open Pike DB migration branch
Change-Id: I654f2ee50466f466cf543f8b2e0caa18b918b4ea
2017-02-06 20:31:22 +00:00
Armando Migliaccio
28c93a4476 Tag the alembic migration revisions for Ocata
Change-Id: Ia7bfa3accb5dbe5a53f4d0da393050bd1edc126b
2017-02-06 20:31:11 +00:00
Kevin Benton
ffa7695038 Deprecate get_locked_port_and_binding
This deprecates get_locked_port_and_binding and removes
its usage from ML2.

This function was misleading because it uses with_lockmode('update')
which does not actually block concurrent uses in galera multi-writer
deployments. A lock violation in multi-writer will manifest as a
deadlock at that end.

The revision service plugin already provides us with protection from
concurrent updates within a transaction via a compare and swap on the
revision number that will manifest as a staledataerror in races. This
error can then be retried by the retry decorator in the same way a
deadlock on multi-writer would.

This also will help us avoid trying to carry this db locking into
oslo versioned objects.

Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
Change-Id: Id9f14db607cc5c6ca02293cb7e87bc1e68301808
2017-02-06 19:49:17 +00:00
Brian Haley
0629129c03 DVR: Look at all SNAT ports for a subnet match
For IPv6, the csnat port list could have multiple
subnets contained in it, but we were only ever
looking at the one associated with the first fixed
IP when trying to match an internal port.  Change
to check all subnets on all port combinations
(internal and csnat) before giving up.

Change-Id: I9c0ac933c08734a3f6738a233fdf6021ce9bd375
Closes-bug: #1624515
2017-02-06 12:05:05 -05:00
Kevin Benton
7265e9a357 Don't delete_port on binding deadlock
We can retry _bind_port_if_needed safely since it
occurs outside of a transaction. There is no need to completely
destroy the port just for a binding deadlock retry.

TrivialFix

Change-Id: Ib4b98ebc0930032a8de0065a429730b7646a054d
2017-02-06 04:13:07 -08:00
Kevin Benton
eb203582d4 Simplify notify transaction tests
With the callback system these tests can be simplified greatly.
Their heavy use of mocking has made them difficult to work with
and questionable in value.

These replacement tests are much shorter and verify the expected
transaction semantics without any mocking.

TrivialFix
Change-Id: If9612897cbde8fbe8aa8a19fc946b57e85290ce7
2017-02-06 03:52:43 -08:00
Jenkins
f8e942c5bd Merge "Terminate macvtap agent when physical_interface_mapping config not present" 2017-02-06 11:17:03 +00:00
Kevin Benton
7dfa64bf41 Remove ORM relationship between ports and networks
This relationship doesn't serve a purpose and it results
in SQLAlchemy trying to set the network_id column on ports
to NULL when attempting to delete a network with ports in it.

This results in the following exception:

IntegrityError: (1048, u"Column 'network_id' cannot be null")

This exception is not treated as a DBReferenceError by olso.db
which makes detecting races between ports being created on a
network being deleted very noisy in the logs since oslo.db treats
this as a generic DBError.

By removing the relationship, deleting a network will now just
result in a boring standard foreign key constraint failure which
will propagate from oslo.db as a DBReferenceError that is easy
to catch.

The patch that depends on this one adjusts the delete network logic
to capture these ReferenceErrors.

Change-Id: I4166a9bbaded57a77576400929a150123b8f1b2e
2017-02-06 01:20:53 -08:00
Kevin Benton
3ffe006743 Switch to 'subquery' for 1-M relationships
This switches to the use of subqueries for 1-m relationships
which will result in a higher constant query factor but will
eliminate the potential for cross-product explosions.

Closes-Bug: #1649317
Change-Id: I6952c48236153a8e2f2f155375b70573ddc2cf0f
2017-02-06 09:01:31 +00:00
Jenkins
df7de345fc Merge "Enhance tag mechanism" 2017-02-06 08:56:38 +00:00
Jenkins
4bc5ab4f00 Merge "Use same session object for ml2 dict extend functions" 2017-02-06 08:40:18 +00:00
Jenkins
9fe45bda36 Merge "Refactor L3 scheduler (unify code paths)" 2017-02-06 03:37:09 +00:00
Kevin Benton
0df9087b37 Add DBError to _is_nested_instance
Add support for oslo.db's DBError to is_nested_instance
so we can check for IntegrityErrors in DBErrors easily
that come back from oslo.db.

This will enable the patch that depends on this to detect
port creation/network delete races very easily and retry
them.

Change-Id: I617f2549caced6547d478caba968710ad8f913b3
2017-02-05 17:42:08 -08:00
Jenkins
40b67c277b Merge "Ensure that subnet update does not creat RPC client" 2017-02-05 11:53:43 +00:00
Hirofumi Ichihara
b56f008f3a Enhance tag mechanism
This patch enhances the tag mechanism for subnet, port, subnetpool,
router resources. The tag-ext as new extension is added so that
tag supports their resources.

APIImpact: Adds tag support to subnet, port, subnetpool, router
DocImpact: allow users to set tags on some resources

Change-Id: I3ab8c2f47f283bee7219f39f20b07361b8e0c5f1
Closes-Bug: #1661608
2017-02-04 11:07:04 +09:00
c0dfb3018a Update reno for stable/ocata
Change-Id: I863d8ded02f1ce3821a0944708caa38964d5e97c
2017-02-04 01:04:32 +00:00
Jenkins
10420f68be Merge "Use assertGreater(len(x), y) instead of assertTrue(len(x) > y)" 2017-02-04 00:12:57 +00:00
Jenkins
cdeb93b0b3 Merge "Multiple tweaks for Ocata release notes" 2017-02-03 23:25:34 +00:00
Jenkins
eb01cd2f6d Merge "Add IPv6 Prefix Delegation support for DVR" 2017-02-03 23:22:24 +00:00
Kevin Benton
dde91631f6 Use same session object for ml2 dict extend functions
This adjusts the ML2 dict extend functions to pass the
same session to the drivers that was used to generate
the sqlalchemy object that will be passed to them. This
will prevent reloading objects in a separate session that
can result in a performance hit or reads to an entirely
different server than the one that the object was generated
from.

Partially-Implements blueprint: enginefacade-switch
Change-Id: Id2dbb13e8aa5fcb86fab8e815033e57e6f0e98e8
2017-02-03 15:05:29 -08:00
Dirk Mueller
751c62a601 Skip reading config files from neutron.conf.d for the namespace proxy
The namespace proxy should only be handling config options passed in
via commandline. To achieve that it overwrites default config file
detection by explicitely passing in an empty list, however it did
not overwrite default config dir detection.

Starting with oslo.config 3.20.0, a default config_dir setting reads
files from $service.conf.d.

As Newton shipped with oslo.config 3.17, which did not expose this new
feature, this is a fix for Ocata only and does not affect Upgrade.

Change-Id: Id2dffe6f53afbfd48128d91c5d807be8785534eb
Closes-Bug: #1661106
2017-02-04 00:01:47 +01:00
Jenkins
6ace0d42d3 Merge "Add Loki service plugin for optional DB havoc" 2017-02-03 21:08:23 +00:00
Jenkins
6b69fee6d3 Merge "Remove --omit argument in run_tests.sh" 2017-02-03 21:08:08 +00:00
Jenkins
f760bd792f Merge "configure_for_func_testing.sh: Remove neutron-legacy inclusion" 2017-02-03 21:02:24 +00:00
Jenkins
b90ec94dc3 Merge "Add support for Keepalived VRRP health check" 2017-02-03 18:08:39 +00:00
Jenkins
265cec7b0f Merge "Add bulk pull OVO interface" 2017-02-03 18:00:55 +00:00
Kevin Benton
255e8a839d Turn nova notifier into a proper rate limiter
This adjusts the batching logic in the Nova notifier to immediately
send and then sleep to allow batching of subsequent calls in the batch
interval.

So rather than always wait for 2 seconds to elapse while batching,
batching will only occur in the 2 second period after a call is made.
This turns the batch notifier into a standard queuing rate limiter.

The upside to this is a single port create results in an immediate
notification to Nova without a delay.

The downside is now that a sudden burst of 6 port creations to a
previously idle server will result in 2 notification calls to Nova
(1 for the first call and another for the other 5).

Closes-Bug: #1564648
Change-Id: I82f403441564955345f47877151e0c457712dd2f
2017-02-03 13:13:45 +00:00
Kevin Benton
1e1e7a842f Add Loki service plugin for optional DB havoc
This adds a service plugin to introduce random delays
and deadlocks to DB operations to make it easier for
us to see that retry decorators are correctly applied
and race conditions are handled.

Change-Id: I8e283c1b53165faee548d26b3560a2c883dfb977
2017-02-03 05:12:33 -08:00
Jenkins
7df76e162a Merge "Fix WaitTimeout string representations" 2017-02-03 12:39:56 +00:00
Jenkins
f39a212230 Merge "Include port_security check in fullstack tests" 2017-02-03 12:34:36 +00:00
Jenkins
d142f25689 Merge "Update in-tree code to use new neighbour functions" 2017-02-03 11:09:06 +00:00
Jenkins
5735ea06b3 Merge "Remove duplicated and unused code in iptables_firewall" 2017-02-03 11:07:22 +00:00
Jenkins
e2550837bb Merge "TrivialFix: Modify the spelling mistake" 2017-02-03 09:59:05 +00:00
Jenkins
cc4c7bd4ab Merge "Fix some pylint errors in IPAM tests" 2017-02-03 09:58:50 +00:00
Jenkins
e89f4b212b Merge "Set access_policy for messaging's dispatcher" 2017-02-03 09:24:42 +00:00
Jenkins
f267a09ccc Merge "Fix port update for service subnets" 2017-02-03 09:24:27 +00:00
Jenkins
36cfbdc6ee Merge "DB: remove deprecated oslo_db warnings" 2017-02-03 09:20:23 +00:00
Jenkins
bff135561b Merge "ML2: Lower log level of "Host filtering is disabled" message" 2017-02-03 09:18:27 +00:00
Jenkins
a26e82c6b4 Merge "Use bytes for python3 friendly os.write" 2017-02-03 06:03:35 +00:00
Jenkins
ba519cc37f Merge "Use addCleanup instead of tearDown" 2017-02-03 06:00:32 +00:00
Jenkins
5b1e11579b Merge "Integration of Provisioning Block OVO." 2017-02-03 06:00:17 +00:00
Jenkins
77b9302e51 Merge "OVS: merge the required OpenFlow version rather than replace" 2017-02-03 05:48:19 +00:00
Jenkins
dec46640c8 Merge "Kill the metadata proxy process unconditionally" 2017-02-03 04:46:04 +00:00
Jenkins
1a5fbc862b Merge "Fix iptables rules for Prefix Delegated subnets" 2017-02-03 04:22:17 +00:00