1. 15 Nov, 2017 1 commit
    • Julien Muchembled's avatar
      Use inotify-simple instead of inotifyx · 31142ddf
      Julien Muchembled authored
      There's little hope that it gets maintained because it contains a C extension whereas alternatives often use ctypes. In particular, it has no support for Python 3, and this is a blocker for us. At the beginning, [I though we were switching to pyinotify](0bb405fc): it is quite popular, and even used by fail2ban, but the code is ugly (big, crazy API, limited, and probably slow).
      
      I didn't really know inotify and it's disappointing to see that created files (CREATE+WRITE+CLOSE_WRITE) can't be distinguished from hard links (CREATE). Acting upon new inodes is a common scenario and in the first case, you want to wait CLOSE_WRITE or you would read a partially written file. What I mean is that inotify is often unreliable, unless you detect changes done by your own software (e.g. you can make sure that files aren't hard-linked) but then some other IPC is probably simpler.
      
      In any case, I open this MR because I haven't tested it. I only checked with pylint (hence the second commit).
      
      /cc @alain.takoudjou @gabriel @luke (from Git history)
      
      /reviewed-on !257
      31142ddf
  2. 14 Nov, 2017 9 commits
  3. 13 Nov, 2017 3 commits
  4. 10 Nov, 2017 4 commits
    • Julien Muchembled's avatar
      9c672830
    • Julien Muchembled's avatar
      9cfa3a6c
    • Julien Muchembled's avatar
      aa5a0991
    • Jérome Perrin's avatar
      slaprunner: provide pidfile in config file for slapos node · 7ead3646
      Jérome Perrin authored
      Thanks to nexedi/slapos!158 , in a slaprunner we can use slapos command:
      ```
      $ slapos supply https://lab.nexedi.com/nexedi/slapos/raw/1.0.19/software/erp5/software.cfg slaprunner
      ```
      works fine to supply a software to "current" webrunner, but building this software with `slapos node software` fails with:
      ```
      $ slapos node software
      2017-10-03 02:46:33 slapos[29536] CRITICAL slapgrid could not write pidfile /opt/slapos/slapgrid-sr.pid
      2017-10-03 02:46:33 slapos[29536] ERROR [Errno 13] Permission denied: '/opt/slapos/slapgrid-sr.pid'
      Traceback (most recent call last):
        File "/opt/slapgrid/f496eadc03f1ac5a0ab1e4ae60bbe972/eggs/slapos.core-1.4.1-py2.7.egg/slapos/cli/entry.py", line 300, in run_subcommand
          result = cmd.run(parsed_args)
        File "/opt/slapgrid/f496eadc03f1ac5a0ab1e4ae60bbe972/eggs/slapos.core-1.4.1-py2.7.egg/slapos/cli/command.py", line 50, in run
          return self.take_action(parsed_args)
        File "/opt/slapgrid/f496eadc03f1ac5a0ab1e4ae60bbe972/eggs/slapos.core-1.4.1-py2.7.egg/slapos/cli/slapgrid.py", line 116, in take_action
          setRunning(logger=self.app.log, pidfile=pidfile)
        File "/opt/slapgrid/f496eadc03f1ac5a0ab1e4ae60bbe972/eggs/slapos.core-1.4.1-py2.7.egg/slapos/grid/utils.py", line 155, in setRunning
          write_pid(logger, pidfile)
        File "/opt/slapgrid/f496eadc03f1ac5a0ab1e4ae60bbe972/eggs/slapos.core-1.4.1-py2.7.egg/slapos/grid/utils.py", line 167, in write_pid
          with open(pidfile, 'w') as fout:
      IOError: [Errno 13] Permission denied: '/opt/slapos/slapgrid-sr.pid'
      ```
      
      because slaprunner's web interface also runs software, it's better both `slapos node software` command and the one from slaprunner web interface uses the same pid file so that they do not run in parallel.
      
      This depends on nexedi/slapos.core!29
      
      /reviewed-on nexedi/slapos!235
      7ead3646
  5. 09 Nov, 2017 3 commits
  6. 08 Nov, 2017 2 commits
  7. 07 Nov, 2017 9 commits
  8. 06 Nov, 2017 1 commit
  9. 05 Nov, 2017 3 commits
  10. 04 Nov, 2017 2 commits
  11. 03 Nov, 2017 3 commits