librecipe/execute: fallback to polling when inotify fails
When user ran out of inotify watch, starting wrappers using wait-for-files is not possible: AssertionError: Traceback (most recent call last): File "/srv/slapgrid/slappart15/tmp/tmpzurwmg4q/wrapper", line 13, in <module> sys.exit(slapos.recipe.librecipe.execute.generic_exec(['/bin/echo', 'done'], wait_list=['/srv/slapgrid/slappart15/tmp/tmpzurwmg4q/wait'])) File "/srv/slapgrid/slappart15/srv/project/slapos-clean/slapos/recipe/librecipe/execute.py", line 100, in generic_exec _wait_files_creation(wait_list) File "/srv/slapgrid/slappart15/srv/project/slapos-clean/slapos/recipe/librecipe/execute.py", line 30, in _wait_files_creation watchdescriptors = {inotify.add_watch(dirname, File "/srv/slapgrid/slappart15/srv/project/slapos-clean/slapos/recipe/librecipe/execute.py", line 30, in <dictcomp> watchdescriptors = {inotify.add_watch(dirname, File "/srv/slapgrid/slappart15/srv/project/venv/lib/python3.9/site-packages/inotify_simple.py", line 110, in add_watch return _libc_call(_libc.inotify_add_watch, self.fileno(), fsencode(path), mask) File "/srv/slapgrid/slappart15/srv/project/venv/lib/python3.9/site-packages/inotify_simple.py", line 39, in _libc_call raise OSError(errno, os.strerror(errno)) OSError: [Errno 28] No space left on device This catches inotify errors and fallback to simple polling in that case.
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
External | |||||||||
passed |
#554217
external
|
Cloudooo.UnitTest-Master |
|
||||||
passed |
#554260
external
|
ERP5.StandaloneDeploymentScriptTest-Debian.Buster |
|
||||||
passed |
#554305
external
|
ERP5.StandaloneDeploymentScriptTest-Debian.Buster.Master |
|
||||||
passed |
#554255
external
|
SlapOS-Master.StandaloneDeploymentScriptTest-Debian.Buster |
|
||||||
passed |
#554254
external
|
SlapOS.Eggs.UnitTest-Jerome.Python3 |
|
||||||
passed |
#554194
external
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:17:44
|
||||||
passed |
#554222
external
|
SlapOS.Eggs.UnitTest-Master.Python3 |
|
||||||
failed |
#554301
external
|
SlapOS.SoftwareReleases.IntegrationTest-Master |
|
||||||
failed |
#554303
external
|
SlapOS.Theia.ResilienceTest-Master |
|
||||||