git://git.onelab.eu
/
nodemanager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Slices can call recreate on themselves regardless of instantiation.
[nodemanager.git]
/
sliver_vs.py
diff --git
a/sliver_vs.py
b/sliver_vs.py
index
7206add
..
ef7b606
100644
(file)
--- a/
sliver_vs.py
+++ b/
sliver_vs.py
@@
-125,7
+125,7
@@
class Sliver_VS(accounts.Account, vserver.VServer):
if os.path.isdir ("/vservers/.vref/%s"% vref): refname = vref
if not os.path.isdir ("/vservers/.vref/%s"% refname):
if os.path.isdir ("/vservers/.vref/%s"% vref): refname = vref
if not os.path.isdir ("/vservers/.vref/%s"% refname):
- logger.
verbose
("%s (%s) : vref %s not found, using default %s"%(
+ logger.
log
("%s (%s) : vref %s not found, using default %s"%(
name,vref,refname,default))
refname=default
# reset so arch is right
name,vref,refname,default))
refname=default
# reset so arch is right
@@
-135,7
+135,7
@@
class Sliver_VS(accounts.Account, vserver.VServer):
except IOError:
# have not found slicefamily
except IOError:
# have not found slicefamily
- logger.
verbose
("%s (%s): legacy node - using fallback vrefname 'default'"%(name,vref))
+ logger.
log
("%s (%s): legacy node - using fallback vrefname 'default'"%(name,vref))
# for legacy nodes
refname="default"
arch="i386"
# for legacy nodes
refname="default"
arch="i386"
@@
-174,6
+174,8
@@
class Sliver_VS(accounts.Account, vserver.VServer):
if self.rspec['enabled'] > 0:
logger.log('%s: starting in %d seconds' % (self.name, delay))
time.sleep(delay)
if self.rspec['enabled'] > 0:
logger.log('%s: starting in %d seconds' % (self.name, delay))
time.sleep(delay)
+ # VServer.start calls fork() internally,
+ # so just close the nonstandard fds and fork once to avoid creating zombies
child_pid = os.fork()
if child_pid == 0:
if self.initscriptchanged:
child_pid = os.fork()
if child_pid == 0:
if self.initscriptchanged:
@@
-185,14
+187,13
@@
class Sliver_VS(accounts.Account, vserver.VServer):
os.close(fd)
try:
self.chroot_call(install_initscript)
os.close(fd)
try:
self.chroot_call(install_initscript)
- self.initscriptchanged = False
except: logger.log_exc(self.name)
except: logger.log_exc(self.name)
- # VServer.start calls fork() internally,
- # so just close the nonstandard fds and fork once to avoid creating zombies
tools.close_nonstandard_fds()
vserver.VServer.start(self)
os._exit(0)
tools.close_nonstandard_fds()
vserver.VServer.start(self)
os._exit(0)
- else: os.waitpid(child_pid, 0)
+ else:
+ os.waitpid(child_pid, 0)
+ self.initscriptchanged = False
else: logger.log('%s: not starting, is not enabled' % self.name)
def stop(self):
else: logger.log('%s: not starting, is not enabled' % self.name)
def stop(self):