slaprunner: provide pidfile in config file for slapos node
Thanks to !158 (merged) , 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 slapos.core!29 (merged)