X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=initscript.py;h=0876abbe9a5f54976b04b9644e3e638e22dccf1d;hb=ecee05390277f57b02d21ffca0195292bde1defa;hp=b448261da6ea9b130764c0afbea20c65bc1bc102;hpb=667b4097e91c477c867f149939f24afd3d4dfa97;p=nodemanager.git diff --git a/initscript.py b/initscript.py index b448261..0876abb 100644 --- a/initscript.py +++ b/initscript.py @@ -19,13 +19,15 @@ class Initscript: self.refresh_slice_vinit() def install_and_enable_vinit (self): + "prepare sliver rootfs init and systemd so the vinit service kicks in" # the fact that systemd attempts to run old-style services - # says we should do either or or the other and not both + # says we should do either one or the other and not both # but actually if that was true we could just do it for init and be fine # which is not what we've seen starting with f18 - # so for now let's do it for both systems unconditionnally - self.install_and_enable_vinit_for_init () - self.install_and_enable_vinit_for_systemd () + # so we try for a systemd system, and if it fails it means + # one of the dir does not exist and so we are dealing with an init-based rootfs + try: self.install_and_enable_vinit_for_systemd () + except: self.install_and_enable_vinit_for_init () # unconditionnally install and enable the generic vinit script # mimicking chkconfig for enabling the generic vinit script @@ -46,7 +48,7 @@ class Initscript: logger.log("Initscript: %s: creating runlevel3 symlink %s"%(self.name,enable_link)) os.symlink(enable_target,enable_link) except: - logger.log_exc("Initscript: %s: failed to create runlevel3 symlink %s"%enable_link) + logger.log_exc("Initscript failed to create runlevel3 symlink %s"%enable_link,name=self.name) # very similar but with systemd unit files - we target 'multi-user' in this context def install_and_enable_vinit_for_systemd(self): @@ -65,7 +67,7 @@ class Initscript: logger.log("Initscript: %s: creating enabling symlink %s"%(self.name,enable_link)) os.symlink(enable_target,enable_link) except: - logger.log_exc("Initscript: %s: failed to create enabling symlink %s"%enable_link) + logger.log_exc("Initscript failed to create enabling symlink %s"%enable_link,name=name) #ln -s '/usr/lib/systemd/system/vinit.service' '/etc/systemd/system/multi-user.target.wants/vinit.service'