Merge "Implement namespace creation method" into stable/train

This commit is contained in:
Zuul 2021-10-19 10:32:02 +00:00 committed by Gerrit Code Review
commit 8353c2adba
1 changed files with 13 additions and 5 deletions

View File

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