Comment 8 for bug 1917487

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

Reviewed: https://review.opendev.org/c/openstack/neutron/+/801988
Committed: https://opendev.org/openstack/neutron/commit/85f591ed60b0a267bea8b7fbd45788a9363d5720
Submitter: "Zuul (22348)"
Branch: stable/train

commit 85f591ed60b0a267bea8b7fbd45788a9363d5720
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Mar 4 15:40:08 2021 +0000

    Implement namespace creation method

    Since [1], Pyroute forks the namespace creation to avoid calling
    destructive routine "libc.unshare(CLONE_NEWNET)" from the main
    process. This implementation uses sockets between both processes
    to return any error feedback sent from the child process.

    This patch implements the same fork without any communication. If
    the child process raises an exception other than "OSError(EEXIST)",
    the child process returns 1 that is read by the the main process,
    that raises a "RuntimeError" exception.

    Related-Bug: #1917487

    [1]https://github.com/svinota/pyroute2/commit/81db2c98a1dda1c575ae087519cb08aa6ffdb39e

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

    Change-Id: I0294586335a71d0757803843f675124bfb450967
    (cherry picked from commit eb567478516897fadac1b7d205bef5c86284eace)