1. 12 Oct, 2016 2 commits
    • Sebastien Robin's avatar
      svcbackend: raise exception if supervisord is failing · 7b59f9a4
      Sebastien Robin authored
      errors will be much more visible
      7b59f9a4
    • Sebastien Robin's avatar
      svcbackend: explicitely call the executable instead of using Popen 'executable' keyword · 14979297
      Sebastien Robin authored
      Some testnodes were failing more or less randomly while calling "slapos node instance".
      On failing nodes, unlike other ones, there was this unexpected log:
      
      2016-10-06 15:35:18 slapos[11671] INFO Processing computer partitions...
      2016-10-06 15:35:18 slapos[11671] INFO Launching supervisord with clean environment.
      2016-10-06 15:35:18 slapos[11671] INFO Could not find platform independent libraries <prefix>
      2016-10-06 15:35:18 slapos[11671] INFO Could not find platform dependent libraries <exec_prefix>
      2016-10-06 15:35:18 slapos[11671] INFO Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
      2016-10-06 15:35:18 slapos[11671] INFO ImportError: No module named site
      2016-10-06 15:35:18 slapos[11671] WARNING Supervisord unknown problem:
      2016-10-06 15:35:18 slapos[11671] INFO Processing Computer Partition test0-0.
      
      Then slapgrid was later failing with :
      
      slapgrid_cp :   File "/opt/slapgrid/75e907b4c1523ecfa2aa210ec2754db4/eggs/supervisor-3.3.1-py2.7.egg/supervisor/xmlrpc.py", line 521, in connect
      slapgrid_cp :     self.sock.connect(self.socketfile)
      slapgrid_cp :   File "/opt/slapos/rebootstrap/parts/python2.7/lib/python2.7/socket.py", line 228, in meth
      slapgrid_cp :     return getattr(self._sock,name)(*args)
      slapgrid_cp : error: [Errno 2] No such file or directory
      
      But the initial suspect logs sounds be the original issue that is the source
      of next ones.
      
      So it looks like supervisord was not able to start at all.
      
      After playing with subprocess.Popen, is sounds not a good idea to play
      with the keyword 'executable'. It looks like not always be strictly equivalent
      to a replacement of the first argument of the first Popen args. It's much better
      to directly set the process we want to call in the invocation list :
      - it avoid to rely on a feature that is "very seldom needed" as we see
        in subprocess documentation
      - it makes the code much readable, it avoid the guy reading the
        code wasting time understanding that the invocation_list is not
        really what is going to be executed.
      14979297
  2. 22 Jan, 2015 1 commit
  3. 20 Jan, 2015 1 commit
  4. 16 Jan, 2015 1 commit
  5. 24 Jun, 2013 1 commit
  6. 23 Jun, 2013 1 commit
  7. 26 Apr, 2013 1 commit
  8. 24 Apr, 2013 2 commits
  9. 11 Jan, 2013 1 commit
  10. 19 Oct, 2012 2 commits
  11. 06 Aug, 2012 1 commit
  12. 09 Jul, 2012 1 commit
  13. 08 Jun, 2011 1 commit
    • Łukasz Nowak's avatar
      Be more tolerant with supervisord backend. · 675cf888
      Łukasz Nowak authored
      Use socket/time timeouts in small loops to react on common usage cases.
      Be sure that supervisord is functional enough in order to avoid running other
      steps in case of deconfigured svc backend.
      675cf888
  14. 27 May, 2011 1 commit
  15. 26 May, 2011 1 commit