Saltstack module is not available - salt-stack

Trying to run sls but the salt tells me the function is not available
My sls. Must create a mongodump file
create-dump:
module.run:
- name: docker.run
- m_name: mongo
- cmd: 'mongodump --out=/Mongodump
when i'm run salt minion state.sls sls
i see:
ID: create-dump
Function: module.run
Name: docker.run
Result: False
Comment: Module function docker.run is not available
Started: 06:03:40.273781
Duration: 728.234 ms
Changes:
--Versions
Salt Version:
Salt: 3000
Dependency Versions:
cffi: 1.9.1
cherrypy: 3.5.0
dateutil: 2.5.3
docker-py: 4.3.1
gitdb: 2.0.0
gitpython: 2.1.1
Jinja2: 2.8
libgit2: 0.24.5
M2Crypto: Not Installed
Mako: 1.0.6
msgpack-pure: Not Installed
msgpack-python: 0.4.8
mysql-python: 1.3.7
pycparser: 2.17
pycrypto: 2.6.1
pycryptodome: Not Installed
pygit2: 0.24.2
Python: 3.5.3 (default, Jul 9 2020, 13:00:10)
python-gnupg: 0.3.9
PyYAML: 3.12
PyZMQ: 16.0.2
smmap: 2.0.1
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.2.1
System Versions:
dist: debian 9.6
locale: UTF-8
machine: x86_64
release: 4.9.0-8-amd64
system: Linux
version: debian 9.6
tried pip3 uninstall docker - not work
If i'm reboot server docker-py downgrade to 1.10.6 version

Make sure python-docker is installed on the minion.

Related

Ipywidgets are not displayed with JavaScript error

we are currently using JupyterHub for our team. When I try to use ipywidgets in JupyterLab I get tis JavaScript error (https adress is cutted out)
The Code
import ipywidgets as widgets
slider = widgets.FloatSlider(description='$x$')
text = widgets.FloatText(disabled=True, description='$x^2$')
def compute(*ignore):
text.value = str(slider.value ** 2)
slider.observe(compute, 'value')
slider.value = 4
widgets.VBox([slider, text])
The error from the notebook:
[Open Browser Console for more detailed log - Double click to close this message]
Failed to load model class 'VBoxModel' from module '#jupyter-widgets/controls'
Error: Module #jupyter-widgets/controls, version ^1.5.0 is not registered, however, 2.0.0 is
at f.loadClass (/lab/extensions/#jupyter-widgets/jupyterlab-manager/static/134.bcbea9feb6e7c4da7530.js?v=bcbea9feb6e7c4da7530:1:74977)
at f.loadModelClass (/lab/extensions/#jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:10729)
at f._make_model (/lab/extensions/#jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:7517)
at f.new_model (/lab/extensions/#jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:5137)
at f.handle_comm_open (/lab/extensions/#jupyter-widgets/jupyterlab-manager/static/150.3e1e5adfd821b9b96340.js?v=3e1e5adfd821b9b96340:1:3894)
at _handleCommOpen (/lab/extensions/#jupyter-widgets/jupyterlab-manager/static/134.bcbea9feb6e7c4da7530.js?v=bcbea9feb6e7c4da7530:1:73393)
at b._handleCommOpen (/static/lab/jlab_core.c53d87cd566b4851041c.js?v=c53d87cd566b4851041c:2:1203616)
at async b._handleMessage (/static/lab/jlab_core.c53d87cd566b4851041c.js?v=c53d87cd566b4851041c:2:1205606)
This is the error in the browser console (https://i.stack.imgur.com/E9wJS.png)
The packages:
Package Version
----------------------------- ------------
absl-py 1.3.0
aiohttp 3.8.3
aiosignal 1.3.1
alembic 1.8.1
altair 4.2.0
anyio 3.6.2
appmode 0.8.0
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
asn1crypto 1.5.1
asttokens 2.1.0
astunparse 1.6.3
async-generator 1.10
async-timeout 4.0.2
attrs 22.1.0
Babel 2.11.0
backcall 0.2.0
backports.functools-lru-cache 1.6.4
beautifulsoup4 4.11.1
bleach 5.0.1
blinker 1.5
bokeh 3.0.2
boto3 1.26.16
botocore 1.29.16
Bottleneck 1.3.5
brotlipy 0.7.0
cached-property 1.5.2
cachetools 5.2.0
certifi 2022.9.24
certipy 0.1.3
cffi 1.15.1
charset-normalizer 2.1.1
click 8.1.3
cloudpickle 2.2.0
colorama 0.4.6
comm 0.1.0
conda 22.9.0
conda-package-handling 1.9.0
contourpy 1.0.6
cryptography 38.0.3
cycler 0.11.0
Cython 0.29.32
cytoolz 0.12.0
dask 2022.11.0
debugpy 1.6.3
decorator 5.1.1
defusedxml 0.7.1
dill 0.3.6
distributed 2022.11.0
ecdsa 0.18.0
enbw-aop-client 0.20221027.1
entrypoints 0.4
entsoe-py 0.5.8
envs 1.4
et-xmlfile 1.0.1
executing 1.2.0
fastjsonschema 2.16.2
filelock 3.8.0
Flask 2.2.2
flatbuffers 2.0
flit_core 3.8.0
fonttools 4.38.0
frozenlist 1.3.3
fsspec 2022.11.0
gast 0.4.0
geographiclib 1.52
geopy 2.3.0
gitdb 4.0.9
GitPython 3.1.29
gmpy2 2.1.2
google-auth 2.14.1
google-auth-oauthlib 0.4.6
google-pasta 0.2.0
gravis 0.1.0
greenlet 2.0.1
grpcio 1.47.1
h11 0.14.0
h5py 3.7.0
HeapDict 1.0.1
idna 3.4
imagecodecs 2022.9.26
imageio 2.22.4
importlib-metadata 5.0.0
importlib-resources 5.10.0
ipykernel 6.18.0
ipython 8.6.0
ipython-genutils 0.2.0
ipywidgets 7.6.5
itsdangerous 2.1.2
jedi 0.18.2
Jinja2 3.1.2
jmespath 1.0.1
joblib 1.2.0
json5 0.9.10
jsonschema 4.17.1
jupyter_client 7.4.1
jupyter_core 5.0.0
jupyter-server 1.23.3
jupyter-server-mathjax 0.2.6
jupyter-server-proxy 3.2.2
jupyter-telemetry 0.1.0
jupyterhub 3.0.0
jupyterlab 3.5.0
jupyterlab-git 0.39.3
jupyterlab-pygments 0.2.2
jupyterlab_server 2.16.3
jupyterlab-widgets 1.1.1
keras 2.10.0
Keras-Preprocessing 1.1.2
kiwisolver 1.4.4
libmambapy 1.0.0
llvmlite 0.39.1
locket 1.0.0
lxml 4.9.1
lz4 4.0.2
Mako 1.2.4
mamba 1.0.0
Markdown 3.4.1
MarkupSafe 2.1.1
matplotlib 3.6.2
matplotlib-inline 0.1.6
mistune 0.8.4
mpmath 1.2.1
msgpack 1.0.4
multidict 6.0.2
munkres 1.1.4
nbclassic 0.4.8
nbclient 0.5.13
nbconvert 6.5.3
nbdime 3.1.1
nbformat 5.7.0
nbtools 21.12
nest-asyncio 1.5.6
networkx 2.8.8
neurolab 0.3.5
notebook 6.5.2
notebook_shim 0.2.2
ntlm-auth 1.5.0
numba 0.56.4
numexpr 2.8.3
numpy 1.23.5
oauthlib 3.2.2
openpyxl 3.0.10
opt-einsum 3.3.0
oscrypto 1.2.1
outcome 1.2.0
packaging 21.3
pamela 1.0.0
pandas 1.5.2
pandocfilters 1.5.0
parso 0.8.3
partd 1.3.0
patsy 0.5.3
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.2.0
pip 22.3.1
pkgutil_resolve_name 1.3.10
platformdirs 2.5.4
plotly 5.11.0
pretty-html-table 0.9.11
prometheus-client 0.15.0
prompt-toolkit 3.0.33
protobuf 4.21.9
psutil 5.9.4
ptyprocess 0.7.0
pure-eval 0.2.2
pyarrow 9.0.0
pyasn1 0.4.8
pyasn1-modules 0.2.7
pycognito 2022.4.0
pycosat 0.6.4
pycparser 2.21
pycryptodomex 3.15.0
pycurl 7.45.1
pydantic 1.10.2
Pygments 2.13.0
PyJWT 2.6.0
pyOpenSSL 22.1.0
pyparsing 3.0.9
pyproj 3.4.0
pyrsistent 0.19.2
PySocks 1.7.1
python-dateutil 2.8.2
python-jose 3.3.0
python-json-logger 2.0.1
pytz 2022.6
pytz-deprecation-shim 0.1.0.post0
pyu2f 0.1.5
PyWavelets 1.3.0
PyYAML 6.0
pyzmq 24.0.1
requests 2.28.1
requests-ntlm 1.1.0
requests-oauthlib 1.3.1
requests-toolbelt 0.10.1
rpy2 3.5.6
rsa 4.9
ruamel.yaml 0.17.21
ruamel.yaml.clib 0.2.7
ruamel-yaml-conda 0.15.80
s3transfer 0.6.0
scikit-image 0.19.3
scikit-learn 1.1.3
scipy 1.9.3
seaborn 0.12.1
selenium 4.6.0
Send2Trash 1.8.0
setuptools 65.6.2
SharePlum 0.5.1
simpervisor 0.4
simplegeneric 0.8.1
six 1.16.0
smmap 3.0.5
sniffio 1.3.0
snowflake-connector-python 2.8.2
sortedcontainers 2.4.0
soupsieve 2.3.2.post1
SQLAlchemy 1.4.44
stack-data 0.6.1
statsmodels 0.13.5
sympy 1.11.1
tables 3.7.0
tblib 1.7.0
tenacity 8.1.0
tensorboard 2.10.1
tensorboard-data-server 0.6.0
tensorboard-plugin-wit 1.8.1
tensorflow 2.10.0
tensorflow-estimator 2.10.0
termcolor 2.1.1
terminado 0.17.0
terminaltables 3.1.10
threadpoolctl 3.1.0
tifffile 2022.10.10
tinycss2 1.2.1
tomli 2.0.1
toolz 0.12.0
tornado 6.2
tqdm 4.64.1
traitlets 5.5.0
trio 0.21.0
trio-websocket 0.9.2
typing_extensions 4.4.0
tzdata 2022.6
tzlocal 4.2
unicodedata2 15.0.0
urllib3 1.26.13
usp.common.data 5.1.1
usp.common.util 0.0.1
voila 0.4.0
wcwidth 0.2.5
webencodings 0.5.1
websocket-client 1.4.2
websockets 10.4
Werkzeug 2.2.2
wheel 0.38.4
widgetsnbextension 3.5.2
wrapt 1.14.1
wsproto 1.2.0
xlrd 2.0.1
XlsxWriter 3.0.3
xyzservices 2022.9.0
yarl 1.8.1
zict 2.2.0
zipp 3.10.0
I have already tried both versions of this solution ipywidgets==7.6.5 or ipywidgets==7.7.2 ipywidgets < 8 e.g. 7.7 cannot be installed with pip · Issue #3558 · jupyter-widgets/ipywidgets · GitHub
The individual environment for each user (from Zero to JupyterHub solution) starts with ipywidgets==8.0.2. The problem is that we may need another version <8, due to your problem with voila Nbconvert and voila no ipywidgets - General - Jupyter Community Forum
Cross-post https://discourse.jupyter.org/t/ipywidgets-are-not-displayed-with-javascript-error/16958

Salt stack: how to set up a package installation check with Chocolate (state)

During the execution of the state, the manager "Chocolate" installs the package RealVNC (Program Files\Real VNC)
Next, I create a key in the registry.
I want the keys to be created only if the VNC installation was successful.
I have tried
Require:
- pkg: realvnc
Watch:
- file: C:\Program Files\Real VNC\vncserver.exe
Both options tell me that the target is not found
Sls
realvncsetup:
chocolatey.installed:
- name: realvnc
reg1:
reg.present:
- name: HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver
- vname: EnableAnalytics
- vdata: "0"
- vtype: REG_SZ
- watch:
- file: "C:\\Program Files\\RealVNC\\VNC Server"
Error
ID: reg1
Function: reg.present
Name: HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver
Result: False
Comment: The following requisites were not found:
require:
file: C:\Program Files\RealVNC\VNC Server
Started: 12:39:20.183205
Duration: 0.0 ms
Changes:
salt --versions
Salt Version:
Salt: 3002.1
Dependency Versions:
cffi: 1.12.2
cherrypy: unknown
dateutil: 2.7.3
docker-py: 3.4.1
gitdb: 2.0.5
gitpython: 2.1.11
Jinja2: 2.10
libgit2: 0.27.7
M2Crypto: Not Installed
Mako: 1.0.7
msgpack-pure: Not Installed
msgpack-python: 0.5.6
mysql-python: 1.3.10
pycparser: 2.19
pycrypto: 2.6.1
pycryptodome: 3.6.1
pygit2: 0.27.4
Python: 3.7.3 (default, Jul 25 2020, 13:03:44)
python-gnupg: 0.4.4
PyYAML: 3.13
PyZMQ: 17.1.2
smmap: 2.0.5
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.1
System Versions:
dist: debian 10 buster
locale: UTF-8
machine: x86_64
release: 4.19.0-6-amd64
system: Linux
version: Debian GNU/Linux 10 buster
The requisites that we mention, such as require, watch, etc. should be references to other states that are "scheduled" to run on the targets.
About watch
Even though the path is created by installing the "realvnc" package, there is no Salt state to handle the path. That is why it is showing the error.
Quoting from documentation for watch:
A watch requisite is used to add additional behavior when there are changes in other states.
So if you want to watch on a file, then there should be a state that "handles" the file using the file module.
About require
Also, while specifying require you are referring to pkg module, so Saltstack would look for pkg.installed for realvnc. Whereas you are using chocolatey.installed.
So with below modifications it should work fine.
chocolatey-install-realvnc:
chocolatey.installed:
- name: realvnc
# Use the appropriate path that should exist when realvnc is installed
check-progfiles-path:
file.exists:
- name: 'C:\Program Files\Real VNC\vncserver.exe'
# You can use either or both for require as you see fit
create-registry-entry:
reg.present:
- name: HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver
- vname: EnableAnalytics
- vdata: "0"
- vtype: REG_SZ
- require:
- file: 'C:\Program Files\Real VNC\vncserver.exe'
- chocolatey: realvnc

SaltStack : Unable to install a salt dependency library manually

I am trying to install a library pycryptodome on the salt master using pip and post installation version report doesn't show it correctly. However what i notice is the the version of the new installation get updated against pycrypto and not pycryptodome.
Do i need to reload anything. Or is there another way to install it ?
Below the version report.
ro#salt:~$ sudo salt --versions-report
Salt Version:
Salt: 3000.2
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: 2.4.2
docker-py: Not Installed
gitdb: 0.6.4
gitpython: 1.0.1
Jinja2: 2.8
libgit2: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.6.2
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: 2.6.1
pycryptodome: Not Installed
pygit2: Not Installed
Python: 3.5.2 (default, Apr 16 2020, 17:47:17)
python-gnupg: 0.3.8
PyYAML: 3.11
PyZMQ: 15.2.0
smmap: 0.9.0
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.1.4
System Versions:
dist: Ubuntu 16.04 xenial
locale: ANSI_X3.4-1968
machine: x86_64
release: 4.4.0-178-generic
system: Linux
version: Ubuntu 16.04 xenial
Below report is after pip3 installation of pycryptodome. You can notice the version of pycrypto changed to 3.9.7 from 2.6.1
ro#salt:~$ salt --versions-report
Salt Version:
Salt: 3000.2
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: 2.4.2
docker-py: Not Installed
gitdb: 0.6.4
gitpython: 1.0.1
Jinja2: 2.8
libgit2: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.6.2
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: 3.9.7
pycryptodome: Not Installed
pygit2: Not Installed
Python: 3.5.2 (default, Apr 16 2020, 17:47:17)
python-gnupg: 0.3.8
PyYAML: 3.11
PyZMQ: 15.2.0
smmap: 0.9.0
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.1.4
System Versions:
dist: Ubuntu 16.04 xenial
locale: ANSI_X3.4-1968
machine: x86_64
release: 4.4.0-178-generic
system: Linux
version: Ubuntu 16.04 xenial
ro#salt:~$
I was able to solve this problem with help from my colleague. The documentation for pycryptodome says that its drop-in replacement for pycrypto which is the reason it displays that way. Installing pycryptodomex will recognize pycryptodome as a standalone package.
ro#salt:~$ sudo salt --versions-report
Salt Version:
Salt: 3000.2
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: 2.4.2
docker-py: Not Installed
gitdb: 0.6.4
gitpython: 1.0.1
Jinja2: 2.8
libgit2: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.6.2
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: Not Installed
pycryptodome: 3.9.7
pygit2: Not Installed
Python: 3.5.2 (default, Apr 16 2020, 17:47:17)
python-gnupg: 0.3.8
PyYAML: 3.11
PyZMQ: 15.2.0
smmap: 0.9.0
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.1.4
System Versions:
dist: Ubuntu 16.04 xenial
locale: UTF-8
machine: x86_64
release: 4.4.0-178-generic
system: Linux
version: Ubuntu 16.04 xenial

salt-minion dropping connection to master

I am new to salt and have setup a master with 2 remote minions. All works perfectly well until after some time the master loses the connections from the minions. I think the TCP connection is getting drop by something in the salt stack. Debug shows nothing re connections being lost on either master or minion.
Is there a config setting to force the minions to reconnect?
Minion Report:
Salt Version:
Salt: 2017.7.4
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: Not Installed
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
ioflo: Not Installed
Jinja2: 2.8
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.5.5
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: 2.6.1
pycryptodome: Not Installed
pygit2: Not Installed
Python: 2.7.13 (default, Nov 24 2017, 17:33:09)
python-gnupg: Not Installed
PyYAML: 3.12
PyZMQ: 17.0.0
RAET: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.1.6
System Versions:
dist: debian 9.1
locale: UTF-8
machine: armv6l
release: 4.9.59+
system: Linux
version: debian 9.1
Master report:
Salt Version:
Salt: 2017.7.4
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: Not Installed
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
ioflo: Not Installed
Jinja2: 2.10
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.5.5
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: 2.6.1
pycryptodome: Not Installed
pygit2: Not Installed
Python: 2.7.12 (default, Dec 4 2017, 14:50:18)
python-gnupg: Not Installed
PyYAML: 3.12
PyZMQ: 17.0.0
RAET: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.1.6
System Versions:
dist: Ubuntu 16.04 xenial
locale: UTF-8
machine: x86_64
release: 4.4.0-104-generic
system: Linux
version: Ubuntu 16.04 xenial
salt-minion log after connection lost on master:
2018-03-02 09:35:27,072 [salt.utils.verify:525 ][WARNING ][10481] Insecure logging configuration detected! Sensitive data may be logged.
2018-03-02 09:35:28,973 [py.warnings :69 ][WARNING ][10481] /usr/local/lib/python2.7/dist-packages/salt/minion.py:802: DeprecationWarning:
zmq.eventloop.ioloop is deprecated in pyzmq 17. pyzmq now works with default tornado and asyncio eventloops.
zmq.eventloop.ioloop.install()
salt-master log (UTC)
2018-03-01 22:57:03,312 [py.warnings :69 ][WARNING ][97734] /usr/local/lib/python2.7/dist-packages
/salt/utils/async.py:56: DeprecationWarning: zmq.eventloop.ioloop is deprecated in pyzmq 17. pyzmq now w
orks with default tornado and asyncio eventloops.
self.io_loop = LOOP_CLASS()

Not able to execute embedded Saltstack state using gitfs

I am working with the "gitfs" feature of SaltStack in order to execute a state file.
The state file uses the "include" feature to embed other two state files from the repository.
My repository has the following hierarchy:
salt
- dir1
- dir3 / init.sls
- dir4 / init.sls
- dir2
- dir5 / init.sls
My master file is as below:
. . .
fileserver_backend:
- git
gitfs_remotes:
- https://username#bitbucket.org/path/to/repo.git
. . .
The salt/dir1/dir3/init.sls contains the following:
include:
- salt/dir2/dir5/init.sls
- salt/dir1/dir4/init.sls
. . .
On restarting salt-master and then executing
salt-run fileserver.file_list saltenv=base backend=git
shows me all the files from the repository.
But on running
salt '' state.apply salt.dir1.dir3 -l debug
I am getting the following error:
[ERROR ] Data passed to highstate outputter is not a valid highstate return: {'<minion-id>': ['Specified SLS salt/dir2/dir5/init.sls in saltenv base is not available on the salt master or through a configured fileserver', 'Specified SLS salt/dir1/dir4/init.sls in saltenv base is not available on the salt master or through a configured fileserver']}
My system configurations are as follows:
$ salt --versions-report
Salt Version:
Salt: 2016.3.3
Dependency Versions:
cffi: Not Installed
cherrypy: 3.2.2
dateutil: 1.5
gitdb: 0.5.4
gitpython: 0.3.2 RC1
ioflo: Not Installed
Jinja2: 2.7.2
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: Not Installed
Mako: 0.9.1
msgpack-pure: Not Installed
msgpack-python: 0.3.0
mysql-python: 1.2.3
pycparser: Not Installed
pycrypto: 2.6.1
pygit2: Not Installed
Python: 2.7.6 (default, Jun 22 2015, 17:58:13)
python-gnupg: Not Installed
PyYAML: 3.10
PyZMQ: 14.0.1
RAET: Not Installed
smmap: 0.8.2
timelib: Not Installed
Tornado: 4.2.1
ZMQ: 4.0.5
System Versions:
dist: Ubuntu 14.04 trusty
machine: x86_64
release: 3.13.0-91-generic
system: Linux
version: Ubuntu 14.04 trusty
The repository gets cached into the "/var/cache/salt/master/gitfs/refs/base/salt" path on restarting salt-master.
But I found "dir2/dir5/init/sls" instead of "dir2/dir5/init.sls"
What could be the reason for this issue?
The issue is most likely in your include declaration. Salt's include module treats SLS files similar to Python modules. For example, you would reference a SLS file foo/bar/baz.sls as foo.bar.baz.
Also, the init.sls file receives special treatment and enables you to treat an entire directory as a module. For example, foo.bar.baz would include either foo/bar/baz.sls or foo/bar/baz/init.sls (depending on which of them actually exists).
In conclusion, your include statement should look like this:
include:
- salt.dir2.dir5
- salt.dir1.dir4

Resources