]> review.fuel-infra Code Review - openstack-build/neutron-build.git/log
openstack-build/neutron-build.git
9 years agoMerge "Fix typo in error message in NetcatTester"
Jenkins [Mon, 14 Sep 2015 16:28:10 +0000 (16:28 +0000)]
Merge "Fix typo in error message in NetcatTester"

9 years agoAdd utility function for checking trusted port
Kevin Benton [Thu, 3 Sep 2015 17:01:40 +0000 (10:01 -0700)]
Add utility function for checking trusted port

Ports that have a device_owner that starts with 'network:'
are trusted in several places throughout the codebase. Each
of these did a startswith check on each field and it's not
immediately obvious why it's done.

This patch adds a utility function called 'is_port_trusted'
that performs the same check and makes it obvious what is
being done.

Change-Id: I542c753776d5cfb2fd736b25ea6e111867c89c89

9 years agoFix typo in error message in NetcatTester
Jakub Libosvar [Mon, 14 Sep 2015 09:19:14 +0000 (09:19 +0000)]
Fix typo in error message in NetcatTester

Change-Id: Ie00901b1dab6c0c5ad4ec0f0c437426afc60396e

9 years agoMerge "Delete gateway conntrack state when remove external gateway"
Jenkins [Mon, 14 Sep 2015 05:05:20 +0000 (05:05 +0000)]
Merge "Delete gateway conntrack state when remove external gateway"

9 years agoMerge "Switch scheduler drivers to load based schedulers"
Jenkins [Mon, 14 Sep 2015 00:20:02 +0000 (00:20 +0000)]
Merge "Switch scheduler drivers to load based schedulers"

9 years agoMerge "Remove an unnecessary extension check for rbac"
Jenkins [Mon, 14 Sep 2015 00:19:50 +0000 (00:19 +0000)]
Merge "Remove an unnecessary extension check for rbac"

9 years agoMerge "Don't log exceptions in GW update on router create"
Jenkins [Mon, 14 Sep 2015 00:19:38 +0000 (00:19 +0000)]
Merge "Don't log exceptions in GW update on router create"

9 years agoMerge "Handle ObjectDeletedError when deleting network ports/subnets"
Jenkins [Sun, 13 Sep 2015 07:22:34 +0000 (07:22 +0000)]
Merge "Handle ObjectDeletedError when deleting network ports/subnets"

9 years agoMerge "Fix BadRequest error on add_router_interface for DVR"
Jenkins [Sun, 13 Sep 2015 07:22:22 +0000 (07:22 +0000)]
Merge "Fix BadRequest error on add_router_interface for DVR"

9 years agoMerge "Tweak test_keepalived_respawns test logic"
Jenkins [Sun, 13 Sep 2015 06:43:25 +0000 (06:43 +0000)]
Merge "Tweak test_keepalived_respawns test logic"

9 years agoSwitch scheduler drivers to load based schedulers
armando-migliaccio [Fri, 11 Sep 2015 09:32:42 +0000 (02:32 -0700)]
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

9 years agoFix BadRequest error on add_router_interface for DVR
armando-migliaccio [Sat, 12 Sep 2015 19:07:35 +0000 (12:07 -0700)]
Fix BadRequest error on add_router_interface for DVR

This operation for DVR is made of multiple steps, some of
which are not within the same DB transaction. For this
reason, if a failure occurs, the rollback will be partial.

This inconsistent state leads the retry logic to fail with
BadRequest, because the router is believed to be already
connected to the subnet.

To fix this condition, it is necessary to delete the port
should the DB deadlock occur.

Closes-bug: #1494114

Change-Id: Ia2a73d6f9d1e4746e761ad072d954e64267a3ad1

9 years agoFix missing value types for log message
Sergey Vilgelm [Sat, 12 Sep 2015 18:55:01 +0000 (21:55 +0300)]
Fix missing value types for log message

This patch add missing value types for some log message of exception.

Change-Id: Ie9f512bc804f0cd70df991b1910c975a2f9d6fcf
Closes-Bug: #1494574

9 years agoMerge "Reservations: Don't count usage if resource is unlimited"
Jenkins [Sat, 12 Sep 2015 15:31:57 +0000 (15:31 +0000)]
Merge "Reservations: Don't count usage if resource is unlimited"

9 years agoMerge "Remove an unused DVR function"
Jenkins [Sat, 12 Sep 2015 14:26:12 +0000 (14:26 +0000)]
Merge "Remove an unused DVR function"

9 years agoMerge "Don't setup ARP protection on LB for network ports"
Jenkins [Sat, 12 Sep 2015 09:14:38 +0000 (09:14 +0000)]
Merge "Don't setup ARP protection on LB for network ports"

9 years agoTweak test_keepalived_respawns test logic
armando-migliaccio [Fri, 11 Sep 2015 04:54:33 +0000 (21:54 -0700)]
Tweak test_keepalived_respawns test logic

This test initial design is problematic: it spawns keepalived,
it asserts the process is up, then it attempts to kill it.

However, this is when problems may arise:

a) it does so by using the disable method on the process - we
   should be more rude than that if we want to simulate a crash!

b) keepalived may be forking while it is starting and it is
   possible that for a moment the ppid changes and the process
   owner invoking the kill has no rights to kill the spawned
   process. This is the most plausible explaination I could find
   as to why kill returns 1 with no standard error

c) it does not verify that the process has indeed disappeared
   (what if the pm.disable didn't work?) - this means that the
   test can pass, and yet the monitor may not work.

Bottom line: this test relied on the correctness of the very code
that was meant to validate...and that's not cool. To this aim, we
wait for the process to be active, kill the process with a kill -9
and verify that the process after the kill is indeed different.

Closes-bug: #1490043

Change-Id: Idaf419a1464d9d0d75b9106a7acd5cd960a7c623

9 years agoMerge "Add RPC command and delete if last FIP on Agent"
Jenkins [Sat, 12 Sep 2015 07:16:12 +0000 (07:16 +0000)]
Merge "Add RPC command and delete if last FIP on Agent"

9 years agoMerge "Replace is_this_snat_host validation with internal function"
Jenkins [Sat, 12 Sep 2015 04:42:35 +0000 (04:42 +0000)]
Merge "Replace is_this_snat_host validation with internal function"

9 years agoMerge "Restore reservations in API controller"
Jenkins [Sat, 12 Sep 2015 03:46:53 +0000 (03:46 +0000)]
Merge "Restore reservations in API controller"

9 years agoMerge "Don't log deadlock or retry exceptions in L3 DB"
Jenkins [Sat, 12 Sep 2015 02:06:25 +0000 (02:06 +0000)]
Merge "Don't log deadlock or retry exceptions in L3 DB"

9 years agoMerge "Install sriov-agent.ini on 'setup.py install'"
Jenkins [Sat, 12 Sep 2015 00:54:19 +0000 (00:54 +0000)]
Merge "Install sriov-agent.ini on 'setup.py install'"

9 years agoMerge "Configure gw_iface for RAs only in Master HA Router"
Jenkins [Sat, 12 Sep 2015 00:51:37 +0000 (00:51 +0000)]
Merge "Configure gw_iface for RAs only in Master HA Router"

9 years agoMerge "ovs: don't use ARP responder for IPv6 addresses"
Jenkins [Fri, 11 Sep 2015 22:19:13 +0000 (22:19 +0000)]
Merge "ovs: don't use ARP responder for IPv6 addresses"

9 years agoMerge "Make ip address optional to add_route and delete_route"
Jenkins [Fri, 11 Sep 2015 21:46:34 +0000 (21:46 +0000)]
Merge "Make ip address optional to add_route and delete_route"

9 years agoMerge "Add list routes"
Jenkins [Fri, 11 Sep 2015 21:46:07 +0000 (21:46 +0000)]
Merge "Add list routes"

9 years agoReservations: Don't count usage if resource is unlimited
Salvatore Orlando [Fri, 28 Aug 2015 15:55:42 +0000 (08:55 -0700)]
Reservations: Don't count usage if resource is unlimited

If a resource is unlimited (ie: limit<0) then there is no need
to verify headroom for it. This also means that there no need for
counting it; therefore it is possible to save some DB operations
by skipping the count phase.

Change-Id: Ibe9ca8a1c29fb8ba12df187c25f8f9515968a54d
Related-blueprint: better-quotas

9 years agoRestore reservations in API controller
Salvatore Orlando [Tue, 25 Aug 2015 09:28:08 +0000 (02:28 -0700)]
Restore reservations in API controller

This patch restores the reservation logic in the API controller,
as the DB issues arising from the pymysql switch has been solved.

Change-Id: I98b40925fdceba13d6a2b5a4d0c5793aeb5cf077
Related-Bug: #1486134
Related-Blueprint: better-quotas

9 years agoMerge "Remove useless log from periodic_sync_routers_task"
Jenkins [Fri, 11 Sep 2015 19:32:36 +0000 (19:32 +0000)]
Merge "Remove useless log from periodic_sync_routers_task"

9 years agoovs: don't use ARP responder for IPv6 addresses
Ihar Hrachyshka [Fri, 11 Sep 2015 18:46:51 +0000 (14:46 -0400)]
ovs: don't use ARP responder for IPv6 addresses

ARP does not support IPv6 addresses, so when we try to apply the flow, it
fails, with all other flows deferred for the same transaction. It results in
random flow breakages, depending on the order of the bad flow in the
transaction.

Change-Id: I0ecf167653e5a7d0916e091e05050406a026a1e2
Co-Authored-By: Thomas Carroll <Thomas.Carroll@pnnl.gov>
Closes-Bug: #1477253

9 years agoMerge "Updated from global requirements"
Jenkins [Fri, 11 Sep 2015 17:24:10 +0000 (17:24 +0000)]
Merge "Updated from global requirements"

9 years agoInstall sriov-agent.ini on 'setup.py install'
Ihar Hrachyshka [Fri, 11 Sep 2015 14:32:06 +0000 (16:32 +0200)]
Install sriov-agent.ini on 'setup.py install'

The previous change [1] that split the configuration file into two pieces
missed the update of setup.cfg, so the file was not installed.

[1]: Ie1eda925e051f85d53ad9624d6617d095cf8c7be

Change-Id: Idcdc71b5614463fc0d81a8bc2d2833159be9e6c9
Related-Bug: #1489060

9 years agoConfigure gw_iface for RAs only in Master HA Router
sridhargaddam [Thu, 10 Sep 2015 16:14:13 +0000 (16:14 +0000)]
Configure gw_iface for RAs only in Master HA Router

For an HA Router which does not have any IPv6 subnets in the external network
and when ipv6_gateway is not set, Neutron configures the gateway interface of
the router to receive Router Advts for default route. In an HA router, only
the Master instance has the IP addresses while the Backup instance does not
have any addresses (including LLA). In Kernel version 3.10, when the last
IPv6 address is removed from the interface, IPv6 proc entries corresponding
to the iface are also deleted. This is however reverted in the later versions
of kernel code.

This patch addresses this issue by configuring the proc entry only for the
Master HA Router instance instead of doing it un-conditionally.

Closes-Bug: #1494336
Change-Id: Ibf8e0ff64cda00314f8fa649ef5019c95c2d6004

9 years agoRemove useless log from periodic_sync_routers_task
Ryan Moats [Fri, 11 Sep 2015 12:41:38 +0000 (07:41 -0500)]
Remove useless log from periodic_sync_routers_task

Logging that peridoic_sync_routers_task is starting with fullsync
False just adds noise to devstack logs.  Reposition the log
statement to indicate that the task is starting if it is going
to be doing real processing.

Change-Id: I73def1e20218b01c135769d0b8fbce449dad17ea
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
9 years agoMerge "Add test to check that correct functions is used in expand/contract"
Jenkins [Fri, 11 Sep 2015 12:06:56 +0000 (12:06 +0000)]
Merge "Add test to check that correct functions is used in expand/contract"

9 years agoMerge "Don't setup ARP protection on OVS for network ports"
Jenkins [Thu, 10 Sep 2015 23:08:01 +0000 (23:08 +0000)]
Merge "Don't setup ARP protection on OVS for network ports"

9 years agoMerge "Check ICMP codes in range [0,255]"
Jenkins [Thu, 10 Sep 2015 22:13:02 +0000 (22:13 +0000)]
Merge "Check ICMP codes in range [0,255]"

9 years agoMerge "Add l2pop support to full stack tests"
Jenkins [Thu, 10 Sep 2015 22:08:19 +0000 (22:08 +0000)]
Merge "Add l2pop support to full stack tests"

9 years agoMerge "Add tunneling support to full stack tests"
Jenkins [Thu, 10 Sep 2015 22:07:46 +0000 (22:07 +0000)]
Merge "Add tunneling support to full stack tests"

9 years agoMerge "Descheduling DVR routers when ports are unbound from VM"
Jenkins [Thu, 10 Sep 2015 21:42:19 +0000 (21:42 +0000)]
Merge "Descheduling DVR routers when ports are unbound from VM"

9 years agoReplace is_this_snat_host validation with internal function
Swaminathan Vasudevan [Thu, 10 Sep 2015 20:48:46 +0000 (13:48 -0700)]
Replace is_this_snat_host validation with internal function

There is already a function to validate if it is an snat
host or not. So just use that function instead of additional
validation.

Change-Id: I004d94d1d4b632880ed289ccdc9bf45cffc0e095

9 years agoMerge "Remove hack for discovery novaclients extension"
Jenkins [Thu, 10 Sep 2015 20:44:58 +0000 (20:44 +0000)]
Merge "Remove hack for discovery novaclients extension"

9 years agoAdd l2pop support to full stack tests
Assaf Muller [Thu, 11 Jun 2015 21:13:44 +0000 (17:13 -0400)]
Add l2pop support to full stack tests

Add the l2pop mechanism driver to the ML2 plugin configuration, and set
l2_population = True, in the OVS agent configuration.
Each test class can enable or disable l2pop in its environment.

Change-Id: If4f2bf07883b763073b5a53f1aa557acb131d176

9 years agoAdd tunneling support to full stack tests
Assaf Muller [Tue, 16 Jun 2015 12:56:41 +0000 (08:56 -0400)]
Add tunneling support to full stack tests

* EnvironmentDescription class now accepts 'network_type'.
  It sets the ML2 segmentation type, passes it to the OVS agents
  configuration files, and sets up the host configuration. If
  tunnelling type is selected, it sets up a veth pair with an IP
  address from the 240.0.0.1+ range. The addressed end of
  this pair is configured as the local_ip for tunneling purposes
  in each of the OVS agents. If network type is not tunnelled, it
  sets up provider bridges instead and interconnects them.
* For now we run the basic L3 HA test with VLANs and tunneling just
  so we have something to show for.
* I started using scenarios in fullstack tests to run the same test
  with VLANs or tunneling, and because test names are used for log
  dirs, and testscenarios changes test names to include characters
  that are not shell friendly (Space, parenthesis), I 'sanitized'
  some of those characters.

Change-Id: Ic45cc27396452111678cf85ab26b07275846ce44

9 years agoRemove an unused DVR function
IWAMOTO Toshihiro [Thu, 10 Sep 2015 08:24:47 +0000 (17:24 +0900)]
Remove an unused DVR function

is_dvr_router_interface isn't used since commit
c5fafcb30a5b86e87309ad4650f7d05a2ca038dc.

Change-Id: Id902e7b4aafcf61f8da29bf7ab543559ea6b7937

9 years agoHandle ObjectDeletedError when deleting network ports/subnets
Oleg Bondarev [Thu, 10 Sep 2015 07:51:10 +0000 (10:51 +0300)]
Handle ObjectDeletedError when deleting network ports/subnets

It appeared there is still a race on port deletion when deleting
networks. So commit a55e10cfd6369533f0cc22edd6611c9549b8f1b4
introduced a regression. It's a bit of ironic that commit message
was "Avoid DB errors when deleting network's ports and subnets".
Shame on me!

Closes-Bug: #1494157
Change-Id: I37727eca5d68e6440f0f93e0f6bbe63b2f18b443

9 years agoMerge "Remove address scopes from supported extensions"
Jenkins [Thu, 10 Sep 2015 06:26:40 +0000 (06:26 +0000)]
Merge "Remove address scopes from supported extensions"

9 years agoMerge "Reduce the chance of random check/gate test failures"
Jenkins [Thu, 10 Sep 2015 03:26:54 +0000 (03:26 +0000)]
Merge "Reduce the chance of random check/gate test failures"

9 years agoDescheduling DVR routers when ports are unbound from VM
Stephen Ma [Fri, 28 Aug 2015 14:00:48 +0000 (14:00 +0000)]
Descheduling DVR routers when ports are unbound from VM

When a VM is deleted, the DVR port used by the VM could be unbound
from the compute node. When it is unbounded, it is no longer
in use on the node. Currently the unbind doesn't trigger a check
to determine whether the DVR router can be unscheduled from the
L3-agent running on the compute node. This patch makes the check
and unschedule the router, if necessary.

Closes-Bug: 1489184
Change-Id: I882e0682bfc7695b3b23e36eb4d7e35a5d19748e

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Thu, 10 Sep 2015 00:06:08 +0000 (00:06 +0000)]
Updated from global requirements

Change-Id: I78f123c8e49b6dcd23bda1def9e021df74ffb0ea

9 years agoMerge "Fix dvr update for subnet attach multi subnets"
Jenkins [Wed, 9 Sep 2015 23:50:16 +0000 (23:50 +0000)]
Merge "Fix dvr update for subnet attach multi subnets"

9 years agoReduce the chance of random check/gate test failures
ajmiller [Wed, 9 Sep 2015 21:38:41 +0000 (14:38 -0700)]
Reduce the chance of random check/gate test failures

As previously implemented, the TestTrackedResource class is designed
to inject random failures into the gate. It generates random numbers
within the range of 0..10000, and will fail if it generates duplicate
random numbers during its run.

This patch creates UUIDs instead of random numbers, and makes the
chance of an collision vanishingly small.

Change-Id: I0cf535d1c5a3995a50b506aafce10e983872dcb7
Closes-bug: #1494021

9 years agoMake ip address optional to add_route and delete_route
Carl Baldwin [Tue, 1 Sep 2015 16:58:22 +0000 (16:58 +0000)]
Make ip address optional to add_route and delete_route

The add_route and delete_route methods require that the ip (actually
"via" in ip route terms) be passed.  Some routes don't require this.
This patch makes it optional while maintaining the position for those
callers who do pass it by position.

Change-Id: Ic16408c00c77898d8f7663c92e56aa30427469f3
Partially-Implements:  blueprint address-scopes

9 years agoAdd list routes
Carl Baldwin [Fri, 28 Aug 2015 21:28:39 +0000 (21:28 +0000)]
Add list routes

This adds list routes while refactoring list_onlink_routes to share
implementation.  It changes test_onlink_routes to be consistent in the
type of data that it returns with the new list_routes.

Change-Id: I386a8e2cb146385bb59a7a8387a29dddbec48d8a
Partially-Implements: blueprint address-scopes

9 years agoMerge "Make ip rule comparison more robust"
Jenkins [Wed, 9 Sep 2015 20:48:19 +0000 (20:48 +0000)]
Merge "Make ip rule comparison more robust"

9 years agoFix dvr update for subnet attach multi subnets
lzklibj [Mon, 2 Mar 2015 10:13:41 +0000 (02:13 -0800)]
Fix dvr update for subnet attach multi subnets

Fix method dvr_update_router_addvm to notify every
router attached to subnet where the vm will boot
on.

In dvr case, when a subnet only attaches to one router,
the subnet will only have one distributed router interface,
which device_owner is "network:router_interface_distributed".
So in this case, get_ports in this method will only get
one port, and it should be unnecessary to break in for loop.

But when a subnet attaches multiple routers, get_ports in
this method will return all distributed router interfaces
and the routers hold those interfaces should be notified
when an instance booted on the subnet. So it should also
be unnecessary to break in for loop.

Change-Id: I3a5808e5b6e8b78abd1a5b924395844507da0764
Closes-Bug: #1427122
Co-Authored-By: Ryan Moats <rmoats@us.ibm.com>
9 years agoMerge "SR-IOV: devstack support for SR-IOV agent"
Jenkins [Wed, 9 Sep 2015 18:44:50 +0000 (18:44 +0000)]
Merge "SR-IOV: devstack support for SR-IOV agent"

9 years agoMerge "Remove ebtables_driver/manager dead code"
Jenkins [Wed, 9 Sep 2015 18:30:25 +0000 (18:30 +0000)]
Merge "Remove ebtables_driver/manager dead code"

9 years agoMerge "Delete FIP agent gateway port with external gw port"
Jenkins [Wed, 9 Sep 2015 18:27:18 +0000 (18:27 +0000)]
Merge "Delete FIP agent gateway port with external gw port"

9 years agoMerge "sriov: update port state even if ip link fails"
Jenkins [Wed, 9 Sep 2015 18:16:31 +0000 (18:16 +0000)]
Merge "sriov: update port state even if ip link fails"

9 years agoMerge "Fix test_external_tables_not_changed"
Jenkins [Wed, 9 Sep 2015 16:51:54 +0000 (16:51 +0000)]
Merge "Fix test_external_tables_not_changed"

9 years agoMake ip rule comparison more robust
Carl Baldwin [Fri, 28 Aug 2015 21:19:40 +0000 (21:19 +0000)]
Make ip rule comparison more robust

I found that ip rules would be added multiple times in new address
scopes code because the _exists method was unable to reliably
determine if the rule already existed.  This commit improves this by
more robustly canonicalizing what it reads from the ip rule command so
that like rules always compare the same.

Change-Id: I6d0c208f0ed8e65cdb750789321a7ad6ca1b77c2
Partially-Implements: blueprint address-scopes

9 years agoRemove hack for discovery novaclients extension
Andrey Kurilin [Wed, 9 Sep 2015 13:48:59 +0000 (16:48 +0300)]
Remove hack for discovery novaclients extension

novaclient provides a common way to discover all extensions, so we can
remove import based on novaclient versioned client object.

Closes-Bug: #1493886
Change-Id: I7ae2eeb2d7e5c56e9284f3b059ff6e3545f42d5f

9 years agoCheck ICMP codes in range [0,255]
huangpengtao [Sun, 30 Aug 2015 02:43:50 +0000 (10:43 +0800)]
Check ICMP codes in range [0,255]

ICMP allows codes between 0 and 255, this change
adds a check for codes range min value.

DocImpact
APIImpact

Closes-Bug: #1486300

Change-Id: Ic7a49458448fad16447b914bb15742515661a851

9 years agoRemove address scopes from supported extensions
Carl Baldwin [Tue, 8 Sep 2015 21:04:23 +0000 (21:04 +0000)]
Remove address scopes from supported extensions

This feature is not ready for prime time, but the cli code is
already landed and shipped.

In order to prevent users from getting mad about an uncooked feature,
let's disable it until it becomes more robust.

Tests must be disabled unconditionally because our CI API test framework
execute tests for 'all' extensions available.

Related-blueprint: address-scopes

Change-Id: I71dc333e210b1f4acf30569711b4442ed8a1dfc3

9 years agoAdd test to check that correct functions is used in expand/contract
Ann Kamyshnikova [Wed, 9 Sep 2015 11:32:36 +0000 (14:32 +0300)]
Add test to check that correct functions is used in expand/contract

This test will check that expand branch does not contain drop SQLAlchemy
operations and contract branch does not contain create/add SQLAlchemy
operations.

Partially-Implements: blueprint online-schema-migrations

Change-Id: Ifda31c0599651931c1a98f673f3b10e64538f18b
Related-bug: #1490767

9 years agoMerge "Add non-model index names to autogen exclude filters"
Jenkins [Wed, 9 Sep 2015 12:38:56 +0000 (12:38 +0000)]
Merge "Add non-model index names to autogen exclude filters"

9 years agoMerge "Implement expand/contract autogenerate extension"
Jenkins [Wed, 9 Sep 2015 12:34:59 +0000 (12:34 +0000)]
Merge "Implement expand/contract autogenerate extension"

9 years agoSR-IOV: devstack support for SR-IOV agent
Moshe Levi [Tue, 25 Aug 2015 12:50:09 +0000 (15:50 +0300)]
SR-IOV: devstack support for SR-IOV agent

Change-Id: Ia0649962bd0c68d9c99fd54cc84ce8dd67d792e8

9 years agoFix test_external_tables_not_changed
Ann Kamyshnikova [Tue, 1 Sep 2015 12:15:53 +0000 (15:15 +0300)]
Fix test_external_tables_not_changed

test_external_tables_not_changed was not
executed properly as new engine was created in env.py.

Related-bug: #1466704

Change-Id: If02415d7abd17024946f7aee8fb6abc374a7aefe

9 years agoDelete gateway conntrack state when remove external gateway
Yi Zhao [Thu, 27 Aug 2015 07:24:21 +0000 (15:24 +0800)]
Delete gateway conntrack state when remove external gateway

This fixed the problem that a gateway ip conntrack state not cleared
when user clears a router external gateway.

Change-Id: I77f22d9504430259b01366e6296a99ba1cd6a046
Closes-Bug: #1488730

9 years agoMerge "Updated from global requirements"
Jenkins [Wed, 9 Sep 2015 01:01:23 +0000 (01:01 +0000)]
Merge "Updated from global requirements"

9 years agoMerge "ovs agent resync may miss port remove event"
Jenkins [Wed, 9 Sep 2015 00:32:54 +0000 (00:32 +0000)]
Merge "ovs agent resync may miss port remove event"

9 years agoMerge "Delete the useless variable agent_host"
Jenkins [Tue, 8 Sep 2015 22:58:45 +0000 (22:58 +0000)]
Merge "Delete the useless variable agent_host"

9 years agoMerge "Fixed filters for functional tests"
Jenkins [Tue, 8 Sep 2015 22:40:52 +0000 (22:40 +0000)]
Merge "Fixed filters for functional tests"

9 years agoMerge "Stop device_owner from being set to 'network:*'"
Jenkins [Tue, 8 Sep 2015 22:40:26 +0000 (22:40 +0000)]
Merge "Stop device_owner from being set to 'network:*'"

9 years agoMerge "Add ability to use custom config in DHCP-agent"
Jenkins [Tue, 8 Sep 2015 22:08:44 +0000 (22:08 +0000)]
Merge "Add ability to use custom config in DHCP-agent"

9 years agoUpdated from global requirements
OpenStack Proposal Bot [Tue, 8 Sep 2015 22:03:54 +0000 (22:03 +0000)]
Updated from global requirements

Change-Id: Ib9d2e669f3d6e68cced7cd6674ff23ff7642f997

9 years agoAdd non-model index names to autogen exclude filters
Mike Bayer [Fri, 14 Aug 2015 18:44:28 +0000 (14:44 -0400)]
Add non-model index names to autogen exclude filters

The SQLAlchemy MySQL dialect generates implicit indexes
in the less-common case of an integer column within a composite
primary key where autoincrement is not set to False.
Add a rule to ignore these indexes when performing
autogenerate against a target database.

Change-Id: I49abb3f7ad9731cde046fa2862cdb9ec16c3aeb3
Partially-Implements: blueprint online-schema-migrations

9 years agoImplement expand/contract autogenerate extension
Mike Bayer [Mon, 20 Jul 2015 22:34:15 +0000 (18:34 -0400)]
Implement expand/contract autogenerate extension

Makes use of new Alembic 0.8 features to allow
altering of the "alembic revision" stream such
that operations for expand and contract are
directed into separate branches.

Change-Id: Ifa743e2f5b90e59a8de8f4e7a67c4bbe46686804
Partially-Implements: blueprint online-schema-migrations

9 years agoMerge "Add oslo rootwrap daemon logging during functional tests"
Jenkins [Tue, 8 Sep 2015 19:21:50 +0000 (19:21 +0000)]
Merge "Add oslo rootwrap daemon logging during functional tests"

9 years agoMerge "Resolve issue where router can't be removed from L3-agent in dvr mode"
Jenkins [Tue, 8 Sep 2015 19:15:47 +0000 (19:15 +0000)]
Merge "Resolve issue where router can't be removed from L3-agent in dvr mode"

9 years agoAdd RPC command and delete if last FIP on Agent
Swaminathan Vasudevan [Mon, 22 Jun 2015 23:50:43 +0000 (16:50 -0700)]
Add RPC command and delete if last FIP on Agent

Today FloatingIP Agent gateway port is deleted and
re-created for DVR based routers based on floatingip
association and disassociation with VMs on compute
nodes by the plugin.

This introduces lot more strain on the plugin to
create and delete these ports when VMs come up and
get deleted that are associated with FloatingIps.

This patch will introduce an RPC call for the agent
to initiate a agent gateway port delete.

Also the agent will look for the last floatingip that
it manages, and if condition satisfies, the agent will
request the server to remove the FloatingIP Agent
Gateway port.

Change-Id: I47694b2ee60c363e2fe59ad5f7d168252da08a45
Related-Bug: #1468007
Related-Bug: #1408855
Related-Bug: #1450982

9 years agoDelete FIP agent gateway port with external gw port
Swaminathan Vasudevan [Mon, 22 Jun 2015 23:33:32 +0000 (16:33 -0700)]
Delete FIP agent gateway port with external gw port

FIP agent gateway ports are associated with external
networks and specific host.

Today FIP agent gateway ports are deleted for
every floatingip associate and disassociate. This
introduces race conditions in the port delete and also
un-necessary access to the db.

This patch will delete the FIP agent gateway port when
the last gateway port of the external network is deleted.

The child patch linked to this parent patch will clean
up the FIP agent gateway port delete when associate,
disassociate and delete of floatingip happens.

This should also cover the case when an agent for some
reason was unable to request agent gw port delete.
(agent died).

Related-Bug: #1408855
Related-Bug: #1468007
Related-Bug: #1450982

Change-Id: I6637a771e6a6ce74e848cb74b779043e16a54a84

9 years agoRemove ebtables_driver/manager dead code
Cedric Brandily [Tue, 8 Sep 2015 15:23:49 +0000 (15:23 +0000)]
Remove ebtables_driver/manager dead code

Previous changes[1] have been merged as enablers[2] to fix the bug
1274034 but an alternative solution has been choosen and now we can
consider the introduced code as dead code.

This changes removes [2], associated tests and rootwrap filters.

[1] I9ef57a86b1a1c1fa4ba1a034c920f23cb40072c0
    I3c66e92cbe8883dcad843ad243388def3a96dbe5
[2] neutron.agent.linux.ebtables_driver
    neutron.agent.linux.ebtables_manager

Closes-Bug: #1493422
Related-Bug: #1274034
Change-Id: I61e38fc0d8cf8e79252aabc19a70240be57e4a32

9 years agoStop device_owner from being set to 'network:*'
Kevin Benton [Wed, 26 Aug 2015 05:03:27 +0000 (22:03 -0700)]
Stop device_owner from being set to 'network:*'

This patch adjusts the FieldCheck class in the policy engine to
allow a regex rule. It then leverages that to prevent users from
setting the device_owner field to anything that starts with
'network:' on networks which they do not own.

This policy adjustment is necessary because any ports with a
device_owner that starts with 'network:' will not have any security
group rules applied because it is assumed they are trusted network
devices (e.g. router ports, DHCP ports, etc). These security rules
include the anti-spoofing protection for DHCP, IPv6 ICMP messages,
and IP headers.

Without this policy adjustment, tenants can abuse this trust when
connected to a shared network with other tenants by setting their
VM port's device_owner field to 'network:<anything>' and hijack other
tenants' traffic via DHCP spoofing or MAC/IP spoofing.

Closes-Bug: #1489111
Change-Id: Ia64cf16142e0e4be44b5b0ed72c8e00792d770f9

9 years agoAdd oslo rootwrap daemon logging during functional tests
Assaf Muller [Tue, 8 Sep 2015 14:48:11 +0000 (10:48 -0400)]
Add oslo rootwrap daemon logging during functional tests

Change-Id: Ie688a1df6e256c0195b8f3937228f65c0463e9c3
Closes-Bug: #1493396

9 years agoMerge "Improve DB operations for quota reservation"
Jenkins [Tue, 8 Sep 2015 14:42:27 +0000 (14:42 +0000)]
Merge "Improve DB operations for quota reservation"

9 years agoMerge "tests: disable process monitor before managers"
Jenkins [Tue, 8 Sep 2015 13:29:59 +0000 (13:29 +0000)]
Merge "tests: disable process monitor before managers"

9 years agoMerge "Add a functional test to validate dvr snat namespace"
Jenkins [Tue, 8 Sep 2015 13:24:53 +0000 (13:24 +0000)]
Merge "Add a functional test to validate dvr snat namespace"

9 years agoovs agent resync may miss port remove event
Aman Kumar [Tue, 17 Mar 2015 10:41:54 +0000 (03:41 -0700)]
ovs agent resync may miss port remove event

In OVS Agent rpc_loop() resync mechanism clears the registered ports and
rescans them again, and it might result in missing some "port removed"
event and treat_devices_removed will not be called.

This fix rescans the newly updated ports when resync mechanism called,
without clearing the current registered ports.

The registered ports will be cleared only if there are too many
consecutive resyncs to avoid resycing forever because of the same
faulty port.

Closes-Bug: #1329223

Co-Authored-By: Andrey Epifanov <aepifanov@mirantis.com>
Co-Authored-By: Gandharva S <gandharva.s@hp.com>
Co-Authored-By: Romil Gupta <romilg@hp.com>
Co-Authored-By: Rossella Sblendido <rsblendido@gmail.com>
Change-Id: Ib0db9dcf889d9fd90b623857782c9a6b091e18f5

9 years agotests: disable process monitor before managers
Ihar Hrachyshka [Tue, 8 Sep 2015 09:20:10 +0000 (11:20 +0200)]
tests: disable process monitor before managers

Otherwise the monitor may respawn managers later, leaving them running.

Issue spotted in:
http://logs.openstack.org/02/216902/4/check/gate-neutron-dsvm-functional/a97df90

Change-Id: I0e68b06c87b5770756fdf7b9201e1986cc67e07b
Related-Bug: #1490051

9 years agoMerge "Qos SR-IOV: Refactor extension delete to get mac and pci slot"
Jenkins [Tue, 8 Sep 2015 06:19:17 +0000 (06:19 +0000)]
Merge "Qos SR-IOV: Refactor extension delete to get mac and pci slot"

9 years agoMerge "Retry metadata request on connection refused error"
Jenkins [Mon, 7 Sep 2015 16:52:30 +0000 (16:52 +0000)]
Merge "Retry metadata request on connection refused error"

9 years agoMerge "Handle process disappearing before we ask for its PPID"
Jenkins [Mon, 7 Sep 2015 16:17:58 +0000 (16:17 +0000)]
Merge "Handle process disappearing before we ask for its PPID"

9 years agoRetry metadata request on connection refused error
armando-migliaccio [Mon, 7 Sep 2015 11:53:50 +0000 (04:53 -0700)]
Retry metadata request on connection refused error

This testcase may fail intermittently on 'Connection refused' error.
This could be due to the fact that the metadata proxy setup is not exactly
complete at the time the request is issued; in fact there is no
synchronization between the router being up and the metadata request being
issued, and clearly this may be the reason of accidental but seldom failures.

In order to rule out this possibility and stabilize the test, let's retry
on connection refused only. If we continue to fail, then the next step would
be to dump the content of iptables to figure out why the error occurs.

Closes-bug: #1461172

Change-Id: I65a5bf4fbbcad6ba93a46d36cabe7844ff528d8d

9 years agoAdd ability to use custom config in DHCP-agent
Sergey Belous [Thu, 3 Sep 2015 13:53:21 +0000 (16:53 +0300)]
Add ability to use custom config in DHCP-agent

This patch doesn't changes behaviour of dhcp-agent
but adds the opportunity to use user-defined config,
that will make dhcp-agent more flexible
and allows to run functional tests correctly
(without changing global oslo.config CONF)

Closes-Bug: #1492283
Change-Id: Ice807e8fc872b56bb3960b7a3de4110c7675d9d6

9 years agoImprove DB operations for quota reservation
Salvatore Orlando [Tue, 25 Aug 2015 09:21:06 +0000 (02:21 -0700)]
Improve DB operations for quota reservation

This patch deals with the lock wait timeout and the deadlock errors
observed under high concurrency (api_workers >= 4) with the pymysql
driver. It includes the following changes:

- Stop setting dirty status for resource usage when creating
  reservation, as usage of reserved resources is not tracked anymore;
- Add a variable, increasing delay when retrying make_reservation
  upon a DBDeadlock error in order to reduce the chances of further
  collisions;
- Enable transaction retry upon DBDeadlock errors for set_quota_usage;
- Do not resync quota usage while making reservation. This puts a lot
  of stress on the database and is also wasteful since resource usage
  is very likely to change again once the transaction is committed;
- Use autonested_transaction to simplify logic around when the
  nested flag should be used.

Change-Id: I7a335f9ebea3c0d6fee6e6b757554e045a66075c
Closes-Bug: #1486134
Related-Blueprint: better-quotas

9 years agoQos SR-IOV: Refactor extension delete to get mac and pci slot
Moshe Levi [Tue, 18 Aug 2015 05:48:24 +0000 (08:48 +0300)]
Qos SR-IOV: Refactor extension delete to get mac and pci slot

When calling delete we need the pci slot details to reset the VF rate. The problem
is that when the VM is deleted libvirt return the VF to the hypervisor and eswitch
manager will mark the pci_slot as unassigned so can't know from the mac which pci slot (VF)
to reset. Also newer libvirt version reset the mac when deleteing VM, so than it is
not possible at all.
The solution is to keep pci slot details locally in the agent since upon removal event
you cannot get pci_slot from the neutron server as it is for create/update since port
is already removed from neutron.

This patch pairs the mac and pci_slot for a device (VF) so when calling the extension
port delete api we can have the pci_slot and reset the VF rate.

It is also add a mapping between mac to port_id so we can pass the port_id
when calling the extention port delete api.

Partially-Implements: blueprint ml2-sriov-qos-with-bwlimiting
Closes-Bug: #1492909
Change-Id: Icc3a9599c6d7a4de9c56b452dfab7909c8d0a576

9 years agoMerge "Adds support to provide the csum option for the OVS tunnels"
Jenkins [Sun, 6 Sep 2015 22:14:46 +0000 (22:14 +0000)]
Merge "Adds support to provide the csum option for the OVS tunnels"