Browse Source

Merge "Implement namespace creation method" into stable/train

changes/59/816459/1
Zuul 7 months ago committed by Gerrit Code Review
parent
commit
8353c2adba
  1. 18
      neutron/privileged/agent/linux/ip_lib.py

18
neutron/privileged/agent/linux/ip_lib.py

@ -567,11 +567,19 @@ def create_netns(name, **kwargs):
:param name: The name of the namespace to create
"""
try:
netns.create(name, libc=_get_cdll())
except OSError as e:
if e.errno != errno.EEXIST:
raise
pid = os.fork()
if pid == 0:
try:
netns.create(name, libc=_get_cdll())
except OSError as e:
if e.errno != errno.EEXIST:
os._exit(1)
except Exception:
os._exit(1)
os._exit(0)
else:
if os.waitpid(pid, 0)[1]:
raise RuntimeError(_('Error creating namespace %s') % name)
@privileged.default.entrypoint

Loading…
Cancel
Save