Browse Source

Merge "Implement namespace creation method"

changes/89/784889/1
Zuul 7 months ago
committed by Gerrit Code Review
parent
commit
58c9912be0
  1. 18
      neutron/privileged/agent/linux/ip_lib.py

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

@ -538,11 +538,19 @@ def create_netns(name, **kwargs):
:param name: The name of the namespace to create
"""
try:
netns.create(name, libc=priv_linux.get_cdll())
except OSError as e:
if e.errno != errno.EEXIST:
raise
pid = os.fork()
if pid == 0:
try:
netns._create(name, libc=priv_linux.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