Merge "Implement namespace creation method"
This commit is contained in:
commit
58c9912be0
|
@ -538,11 +538,19 @@ def create_netns(name, **kwargs):
|
||||||
|
|
||||||
:param name: The name of the namespace to create
|
:param name: The name of the namespace to create
|
||||||
"""
|
"""
|
||||||
try:
|
pid = os.fork()
|
||||||
netns.create(name, libc=priv_linux.get_cdll())
|
if pid == 0:
|
||||||
except OSError as e:
|
try:
|
||||||
if e.errno != errno.EEXIST:
|
netns._create(name, libc=priv_linux.get_cdll())
|
||||||
raise
|
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
|
@privileged.default.entrypoint
|
||||||
|
|
Loading…
Reference in New Issue