Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

file_roots envs with slash leads to "No such file or directory: '/var/cache/salt/master/file_lists/roots/.foo/bar.w' #51211

Closed
sathieu opened this issue Jan 17, 2019 · 1 comment

Comments

Projects
None yet
2 participants
@sathieu
Copy link
Contributor

commented Jan 17, 2019

Description of Issue/Question

Using this master config (to workaround #48132):

file_roots:
  base:
    - /srv/salt
  feature/2:
    - /srv/salt

Salt works incorrectly and logs:

2019-01-08 09:57:23,653 [salt.master      :1795][ERROR   ][28091] Error in function _file_list:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/salt/master.py", line 1788, in run_func
    ret = getattr(self, func)(load)
  File "/usr/lib/python2.7/dist-packages/salt/utils/decorators/__init__.py", line 594, in wrapped
    **salt.utils.data.decode_dict(kwargs)
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 752, in file_list
    ret.update(self.servers[fstr](load))
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 422, in file_list
    return _file_lists(load, 'files')
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 310, in _file_lists
    __opts__, form, list_cache, w_lock
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 116, in check_file_list_cache
    if not os.path.isfile(list_cache) and _lock_cache(w_lock):
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 50, in _lock_cache
    os.mkdir(w_lock)
OSError: [Errno 2] No such file or directory: '/var/cache/salt/master/file_lists/roots/.feature/2.w'

Setup

See above.

Steps to Reproduce Issue

See above

Versions Report

2018.3.3 with additionnal patches (#50417, #49987, #50626, #50768, #50783, but those are not related).

sathieu added a commit to sathieu/salt that referenced this issue Jan 17, 2019

Test for file_roots envs with slash leads to "No such file or directory"
See saltstack#51211.

2019-01-08 09:57:23,653 [salt.master      :1795][ERROR   ][28091] Error in function _file_list:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/salt/master.py", line 1788, in run_func
    ret = getattr(self, func)(load)
  File "/usr/lib/python2.7/dist-packages/salt/utils/decorators/__init__.py", line 594, in wrapped
    **salt.utils.data.decode_dict(kwargs)
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 752, in file_list
    ret.update(self.servers[fstr](load))
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 422, in file_list
    return _file_lists(load, 'files')
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 310, in _file_lists
    __opts__, form, list_cache, w_lock
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 116, in check_file_list_cache
    if not os.path.isfile(list_cache) and _lock_cache(w_lock):
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 50, in _lock_cache
    os.mkdir(w_lock)
OSError: [Errno 2] No such file or directory: '/var/cache/salt/master/file_lists/roots/.feature/2.w'

sathieu added a commit to sathieu/salt that referenced this issue Jan 17, 2019

sathieu added a commit to sathieu/salt that referenced this issue Jan 17, 2019

Test for file_roots envs with slash leads to "No such file or directory"
See saltstack#51211.

2019-01-08 09:57:23,653 [salt.master      :1795][ERROR   ][28091] Error in function _file_list:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/salt/master.py", line 1788, in run_func
    ret = getattr(self, func)(load)
  File "/usr/lib/python2.7/dist-packages/salt/utils/decorators/__init__.py", line 594, in wrapped
    **salt.utils.data.decode_dict(kwargs)
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 752, in file_list
    ret.update(self.servers[fstr](load))
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 422, in file_list
    return _file_lists(load, 'files')
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 310, in _file_lists
    __opts__, form, list_cache, w_lock
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 122, in check_file_list_cache
    if not os.path.isfile(list_cache) and _lock_cache(w_lock):
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 56, in _lock_cache
    os.mkdir(w_lock)
OSError: [Errno 2] No such file or directory: '/var/cache/salt/master/file_lists/roots/.foo/bar.w'

sathieu added a commit to sathieu/salt that referenced this issue Jan 17, 2019

sathieu added a commit to sathieu/salt that referenced this issue Jan 17, 2019

sathieu added a commit to sathieu/salt that referenced this issue Jan 17, 2019

Test for file_roots envs with slash leads to "No such file or directory"
See saltstack#51211.

2019-01-08 09:57:23,653 [salt.master      :1795][ERROR   ][28091] Error in function _file_list:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/salt/master.py", line 1788, in run_func
    ret = getattr(self, func)(load)
  File "/usr/lib/python2.7/dist-packages/salt/utils/decorators/__init__.py", line 594, in wrapped
    **salt.utils.data.decode_dict(kwargs)
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 752, in file_list
    ret.update(self.servers[fstr](load))
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 422, in file_list
    return _file_lists(load, 'files')
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/roots.py", line 310, in _file_lists
    __opts__, form, list_cache, w_lock
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 122, in check_file_list_cache
    if not os.path.isfile(list_cache) and _lock_cache(w_lock):
  File "/usr/lib/python2.7/dist-packages/salt/fileserver/__init__.py", line 56, in _lock_cache
    os.mkdir(w_lock)
OSError: [Errno 2] No such file or directory: '/var/cache/salt/master/file_lists/roots/.foo/bar.w'
@dwoz

This comment has been minimized.

Copy link
Contributor

commented Jan 17, 2019

@sathieu Thanks for reporting this and working on the fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.