"network_namespace_exists"can timeout in loaded systems

Bug #1947974 reported by Rodolfo Alonso
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Rodolfo Alonso

Bug Description

The method "neutron.agent.linux.ip_lib.network_namespace_exists" can timeout in loaded systems. We have detected this problem during some capacity tests. During those tests, the controllers are creating and deleting networks; that implies the creation and deletion of DHCP namespaces "qdhcp-xxx" in the same hosts. Adding additional logs (tagged with "SK;"), we found this method was timing out.

Snippet: https://paste.opendev.org/show/810132/

New additional logs added: https://paste.opendev.org/show/810133/

Changed in neutron:
importance: Undecided → Medium
assignee: nobody → Rodolfo Alonso (rodolfo-alonso-hernandez)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/814868

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/814868
Committed: https://opendev.org/openstack/neutron/commit/8127221479834350465251839ab88056f4f64fb4
Submitter: "Zuul (22348)"
Branch: master

commit 8127221479834350465251839ab88056f4f64fb4
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Oct 21 08:49:41 2021 +0000

    Check a namespace existence by checking only its own directory

    To check the existance of a namespace, instead of listing the
    namespaces directory (by default "/var/run/netns"), this patch
    directly checks the existence of the namespace directory, using
    "os.path.exists".

    This check is faster than listing the whole directory and avoids
    timeout problems as reported in the related bug.

    Closes-Bug: #1947974
    Change-Id: I558d50d28378beb3710d98a2113ff9549c82ae17

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/xena)

Fix proposed to branch: stable/xena
Review: https://review.opendev.org/c/openstack/neutron/+/816512

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/wallaby)

Fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/neutron/+/816513

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/victoria)

Fix proposed to branch: stable/victoria
Review: https://review.opendev.org/c/openstack/neutron/+/816515

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/ussuri)

Fix proposed to branch: stable/ussuri
Review: https://review.opendev.org/c/openstack/neutron/+/816516

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/c/openstack/neutron/+/816518

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/victoria)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/816515
Committed: https://opendev.org/openstack/neutron/commit/6a9c05a92498630b85102eb6af1eccb415fd605a
Submitter: "Zuul (22348)"
Branch: stable/victoria

commit 6a9c05a92498630b85102eb6af1eccb415fd605a
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Oct 21 08:49:41 2021 +0000

    Check a namespace existence by checking only its own directory

    To check the existance of a namespace, instead of listing the
    namespaces directory (by default "/var/run/netns"), this patch
    directly checks the existence of the namespace directory, using
    "os.path.exists".

    This check is faster than listing the whole directory and avoids
    timeout problems as reported in the related bug.

    Conflicts:
          neutron/privileged/agent/linux/utils.py

    Closes-Bug: #1947974
    Change-Id: I558d50d28378beb3710d98a2113ff9549c82ae17
    (cherry picked from commit 8127221479834350465251839ab88056f4f64fb4)

tags: added: in-stable-victoria
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/816513
Committed: https://opendev.org/openstack/neutron/commit/f95f2ed42a23e4ce300f0b8de726b4687c755020
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit f95f2ed42a23e4ce300f0b8de726b4687c755020
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Oct 21 08:49:41 2021 +0000

    Check a namespace existence by checking only its own directory

    To check the existance of a namespace, instead of listing the
    namespaces directory (by default "/var/run/netns"), this patch
    directly checks the existence of the namespace directory, using
    "os.path.exists".

    This check is faster than listing the whole directory and avoids
    timeout problems as reported in the related bug.

    Closes-Bug: #1947974
    Change-Id: I558d50d28378beb3710d98a2113ff9549c82ae17
    (cherry picked from commit 8127221479834350465251839ab88056f4f64fb4)

tags: added: in-stable-wallaby
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/xena)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/816512
Committed: https://opendev.org/openstack/neutron/commit/c05d07bd8f675bd17ee40ab10f5ccf90bdbdf8d2
Submitter: "Zuul (22348)"
Branch: stable/xena

commit c05d07bd8f675bd17ee40ab10f5ccf90bdbdf8d2
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Oct 21 08:49:41 2021 +0000

    Check a namespace existence by checking only its own directory

    To check the existance of a namespace, instead of listing the
    namespaces directory (by default "/var/run/netns"), this patch
    directly checks the existence of the namespace directory, using
    "os.path.exists".

    This check is faster than listing the whole directory and avoids
    timeout problems as reported in the related bug.

    Closes-Bug: #1947974
    Change-Id: I558d50d28378beb3710d98a2113ff9549c82ae17
    (cherry picked from commit 8127221479834350465251839ab88056f4f64fb4)

tags: added: in-stable-xena
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/ussuri)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/816516
Committed: https://opendev.org/openstack/neutron/commit/f144ba95a59b156f41e4fd6333349b381251f79f
Submitter: "Zuul (22348)"
Branch: stable/ussuri

commit f144ba95a59b156f41e4fd6333349b381251f79f
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Oct 21 08:49:41 2021 +0000

    Check a namespace existence by checking only its own directory

    To check the existance of a namespace, instead of listing the
    namespaces directory (by default "/var/run/netns"), this patch
    directly checks the existence of the namespace directory, using
    "os.path.exists".

    This check is faster than listing the whole directory and avoids
    timeout problems as reported in the related bug.

    Conflicts:
          neutron/privileged/agent/linux/utils.py

    Closes-Bug: #1947974
    Change-Id: I558d50d28378beb3710d98a2113ff9549c82ae17
    (cherry picked from commit 8127221479834350465251839ab88056f4f64fb4)
    (cherry picked from commit 6a9c05a92498630b85102eb6af1eccb415fd605a)

tags: added: in-stable-ussuri
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 16.4.2

This issue was fixed in the openstack/neutron 16.4.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/train)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/816518
Committed: https://opendev.org/openstack/neutron/commit/9cdd3310363b445e5751fc848e1354f7f52a0547
Submitter: "Zuul (22348)"
Branch: stable/train

commit 9cdd3310363b445e5751fc848e1354f7f52a0547
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Oct 21 08:49:41 2021 +0000

    Check a namespace existence by checking only its own directory

    To check the existance of a namespace, instead of listing the
    namespaces directory (by default "/var/run/netns"), this patch
    directly checks the existence of the namespace directory, using
    "os.path.exists".

    This check is faster than listing the whole directory and avoids
    timeout problems as reported in the related bug.

    Conflicts:
          neutron/privileged/agent/linux/utils.py

    Closes-Bug: #1947974
    Change-Id: I558d50d28378beb3710d98a2113ff9549c82ae17
    (cherry picked from commit 8127221479834350465251839ab88056f4f64fb4)
    (cherry picked from commit 6a9c05a92498630b85102eb6af1eccb415fd605a)

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 19.1.0

This issue was fixed in the openstack/neutron 19.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 17.3.0

This issue was fixed in the openstack/neutron 17.3.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 18.2.0

This issue was fixed in the openstack/neutron 18.2.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 20.0.0.0rc1

This issue was fixed in the openstack/neutron 20.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron train-eol

This issue was fixed in the openstack/neutron train-eol release.

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.