[salt] salt:// URI cannot find file in saltenv 'base'

I have files symlinked to /srv/salt/dir/file, but salt can’t find them when I use salt://dir/file. I thought it may be that it was symlinked, but I just moved the file and changed the reference, but that didn’t work either. I couldn’t find anything here on the forum or in salt’s docs. I did find an issue on saltstack’s Github saying symlinks were no good, but nothing else.

Could you provide an example of a state, the output, maybe with the -l debug flag?

qubesctl doesn’t have an -l option. Can you show me an example of the full command you’re looking for?

The error I receive in `/var/log/qubes/mgmt-mytemplate.log is “Source file salt://dir/file not found in saltenv ‘base’”

Also, this exact script used to work, but I don’t know which software version it was when it worked. Should’ve mentioned that before.

qubesctl can take any option of salt-call, so you can use your command and append -l debug at the end:

qubesctl [...] -l debug

But the log message seems clear enough. (At least, clear enough to say that I’m incompetent in this matter)

1 Like

I think it’s having an issue with file.roots. I’m getting a lot of other similar errors in the log with system files, like _grains/pci_devs.py, for instance. But I’m not sure because it finds others fine. I may just have to do a clean install to see if that fixes things.

Symlinks pointing outside of file_roots (or even just outside of /srv?) won’t work due to isolation via DispVM used bu qubesctl. Only some files are copied into DispVM where actual salt is running.

2 Likes

I thought I specified, but when I looked I didn’t. I moved the file to /srv/salt/file directly and called it with salt://file. It still failed, so I’m not sure it’s to do with the symlinks, which I now realize aren’t kosher.