[Backport 1512450] L3 agent: optimize operations when deleting a tenant router

Bug #1519289 reported by Oleg Bondarev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Invalid
Medium
Sergii Rizvan

Bug Description

Backport for https://bugs.launchpad.net/neutron/+bug/1512450

When deleting a tenant router, the reference l3 agent performs the following operations from within the qrouter namespace:
iptables-save
iptables-restore
ip6tables-save
find on /sys/class/net
find on /sys/class/net
iptables-save
ip6tables-save
find on /sys/class/net

Lastly, the qrouter namespace is removed, which begs the question of why the above operations are performed - can they be optimized away?

Tags: neutron
Changed in mos:
status: New → Confirmed
Revision history for this message
Oleg Bondarev (obondarev) wrote :
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix proposed to openstack/neutron (openstack-ci/fuel-8.0/liberty)

Fix proposed to branch: openstack-ci/fuel-8.0/liberty
Change author: Oleg Bondarev <email address hidden>
Review: https://review.fuel-infra.org/14564

Changed in mos:
status: Confirmed → In Progress
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix merged to openstack/neutron (openstack-ci/fuel-8.0/liberty)

Reviewed: https://review.fuel-infra.org/14564
Submitter: Pkgs Jenkins <email address hidden>
Branch: openstack-ci/fuel-8.0/liberty

Commit: 096c97f8c16dba1acaca8a3161f3c49ab04d6dd1
Author: Oleg Bondarev <email address hidden>
Date: Thu Dec 17 06:08:53 2015

Optimize router delete execution

Optimize the execution of router delete in the L3 agent
by not performing operations in the router namespace that
will be removed as the last step of the workflow.
Comparing the slopes of the least squares fit of delete
execution time shows that this optimization decreases that
slope by over half.

Upstream: https://review.openstack.org/240971

Closes-Bug: 1519289
Closes-Bug: 1512450
Change-Id: Ic425ab1f8c3afe882c9deaa72a814ac0d2053f3b

Changed in mos:
status: In Progress → Fix Committed
tags: added: on-verification
Revision history for this message
Kristina Berezovskaia (kkuznetsova) wrote :

Verify on:
VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "8.0"
  api: "1.0"
  build_number: "361"
  build_id: "361"
  fuel-nailgun_sha: "53c72a9600158bea873eec2af1322a716e079ea0"
  python-fuelclient_sha: "4f234669cfe88a9406f4e438b1e1f74f1ef484a5"
  fuel-agent_sha: "7463551bc74841d1049869aaee777634fb0e5149"
  fuel-nailgun-agent_sha: "92ebd5ade6fab60897761bfa084aefc320bff246"
  astute_sha: "c7ca63a49216744e0bfdfff5cb527556aad2e2a5"
  fuel-library_sha: "ba8063d34ff6419bddf2a82b1de1f37108d96082"
  fuel-ostf_sha: "889ddb0f1a4fa5f839fd4ea0c0017a3c181aa0c1"
  fuel-mirror_sha: "8adb10618bb72bb36bb018386d329b494b036573"
  fuelmenu_sha: "824f6d3ebdc10daf2f7195c82a8ca66da5abee99"
  shotgun_sha: "63645dea384a37dde5c01d4f8905566978e5d906"
  network-checker_sha: "9f0ba4577915ce1e77f5dc9c639a5ef66ca45896"
  fuel-upgrade_sha: "616a7490ec7199f69759e97e42f9b97dfc87e85b"
  fuelmain_sha: "07d5f1c3e1b352cb713852a3a96022ddb8fe2676"
(vxlan+l2+l3+neutron, 3 controllers, 2 computes)

Steps:
1) Create net, subnet
2) create router and add interface to this router
3) set gatawey
4) boot vm
5) delete router-interface
6) check ping

Namespace was deleted? ping isn't available

Changed in mos:
status: Fix Committed → Fix Released
tags: removed: on-verification
Sergii Rizvan (srizvan)
Changed in mos:
status: Fix Released → In Progress
Changed in mos:
milestone: 8.0 → 8.0-mu-1
Revision history for this message
Vitaly Sedelnik (vsedelnik) wrote :

Reopened and retargeted to 8.0-mu-1 as the fix conflict with appropriate fix to upstream stable branch.

Revision history for this message
Sergii Rizvan (srizvan) wrote :

Bug was reopened because in upstream the commit was abandoned: [1]. Instead of it other commit was merged to fix the bug: [2].
This situation makes some problems when we are trying to merge another changes from upstream. That's why we are going to revert commit [3] and instead of it merge commit [2] from upstream.
[1] https://review.openstack.org/#/c/274052/
[2] https://review.openstack.org/#/c/274053/5
[3] https://review.fuel-infra.org/#/c/14564/

Changed in mos:
assignee: Oleg Bondarev (obondarev) → Sergii Rizvan (srizvan)
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to openstack/neutron (openstack-ci/fuel-8.0/liberty)

Related fix proposed to branch: openstack-ci/fuel-8.0/liberty
Change author: Sergii Rizvan <email address hidden>
Review: https://review.fuel-infra.org/19811

Revision history for this message
Sergii Rizvan (srizvan) wrote :

Bug should be fixed by merging the tip of origin/stable/liberty into origin/openstack-ci/fuel-8.0/liberty
CR: https://review.fuel-infra.org/#/c/19596/

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix merged to openstack/neutron (openstack-ci/fuel-8.0/liberty)

Reviewed: https://review.fuel-infra.org/19811
Submitter: Pkgs Jenkins <email address hidden>
Branch: openstack-ci/fuel-8.0/liberty

Commit: 52b069f984ff28c2a95cc18aa9fca4a2fdab01de
Author: Sergii Rizvan <email address hidden>
Date: Wed Apr 20 14:58:02 2016

Revert "Optimize router delete execution"

This reverts commit 096c97f8c16dba1acaca8a3161f3c49ab04d6dd1.
In the upstream the commit was abandoned:
https://review.openstack.org/#/c/274052/.
Instead of it other commit was merged to fix the bug:
https://review.openstack.org/#/c/274053/5.
This situation makes some problems when we are trying to merge another changes
from the upstream. That's why we are going to revert the commit and instead of
it merge commit https://review.openstack.org/#/c/274053/5 from the upstream.
Related-Bug: #1519289

Change-Id: I6c000a363a0ac17841cfb0d5d581391c0287649f

Revision history for this message
Sergii Rizvan (srizvan) wrote :

The bug should be fixed by merging the tip of origin/stable/liberty into origin/openstack-ci/fuel-8.0/liberty branch: https://review.fuel-infra.org/#/c/19596/
That's why setting the bug to invalid.

Changed in mos:
status: In Progress → Invalid
Changed in mos:
milestone: 8.0-mu-1 → 8.0-updates
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to openstack/neutron (9.0/mitaka)

Related fix proposed to branch: 9.0/mitaka
Change author: Sergii Rizvan <email address hidden>
Review: https://review.fuel-infra.org/21078

Changed in mos:
status: Invalid → In Progress
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Change abandoned on openstack/neutron (9.0/mitaka)

Change abandoned by Alexander Ignatov <email address hidden> on branch: 9.0/mitaka
Review: https://review.fuel-infra.org/21078
Reason: Not needed for Mitaka. This is pure Liberty stuff.

Sergii Rizvan (srizvan)
Changed in mos:
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.