I am new to salt. I have spent more than a week to fight with SaltStack for all kinds of software dependencies. It looks like SaltStack have not completed the development to Windows solution, especially for masterless mode. Almost all the versions (v2015.5.4, v2.15.5.5, v2015.8.0) have problem with windows standalone minion. I followed the instructions on link https://docs.saltstack.com/en/latest/topics/installation/windows.html
For example,
C:\salt>salt-call --local state.highstate -l debug
[DEBUG ] Reading configuration from c:\salt\conf\minion
[DEBUG ] Configuration file path: c:\salt\conf\minion
[DEBUG ] Reading configuration from c:\salt\conf\minion
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] LazyLoaded state.highstate
[DEBUG ] LazyLoaded grains.get
[DEBUG ] LazyLoaded saltutil.is_running
[DEBUG ] LazyLoaded roots.envs
[ERROR ] No suitable version of pygit2/libgit2, GitPython, or Dulwich is installed.
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Could not LazyLoad roots.init
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Updating roots fileserver cache
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Reading configuration from c:\salt\conf\minion
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[INFO ] Loading fresh modules for state activity
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Could not LazyLoad git.envs
[INFO ] Fetching file from saltenv 'base', ** skipped ** latest already in cache 'salt://top.sls'
[DEBUG ] Jinja search path: ['c:\salt\var\cache\salt\minion\files\base']
[DEBUG ] Rendered data from file: c:\salt\var\cache\salt\minion\files\base\top.sls:
base:
'':
- webserver
- winscp
[DEBUG ] LazyLoaded config.get
[DEBUG ] Results of YAML rendering:
OrderedDict([('base', OrderedDict([('', ['webserver', 'winscp'])]))])
[DEBUG ] LazyLoaded saltutil.sync_all
[DEBUG ] Syncing all
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\beacons'
[INFO ] Syncing beacons for environment 'base'
[INFO ] Loading cache from salt://_beacons, for base)
[DEBUG ] LazyLoaded cp.cache_dir
[DEBUG ] LazyLoaded roots.envs
[ERROR ] No suitable version of pygit2/libgit2, GitPython, or Dulwich is installed.
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Could not LazyLoad roots.init
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Updating roots fileserver cache
[INFO ] Caching directory '_beacons/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_beacons'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\modules'
[INFO ] Syncing modules for environment 'base'
[INFO ] Loading cache from salt://_modules, for base)
[INFO ] Caching directory '_modules/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_modules'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\states'
[INFO ] Syncing states for environment 'base'
[INFO ] Loading cache from salt://_states, for base)
[INFO ] Caching directory '_states/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_states'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\grains'
[INFO ] Syncing grains for environment 'base'
[INFO ] Loading cache from salt://_grains, for base)
[INFO ] Caching directory '_grains/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_grains'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\renderers'
[INFO ] Syncing renderers for environment 'base'
[INFO ] Loading cache from salt://_renderers, for base)
[INFO ] Caching directory '_renderers/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_renderers'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\returners'
[INFO ] Syncing returners for environment 'base'
[INFO ] Loading cache from salt://_returners, for base)
[INFO ] Caching directory '_returners/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_returners'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\outputters'
[INFO ] Syncing outputters for environment 'base'
[INFO ] Loading cache from salt://_outputters, for base)
[INFO ] Caching directory '_outputters/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_outputters'
[INFO ] Creating module dir 'c:\salt\var\cache\salt\minion\extmods\utils'
[INFO ] Syncing utils for environment 'base'
[INFO ] Loading cache from salt://_utils, for base)
[INFO ] Caching directory '_utils/' for environment 'base'
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Local cache dir: 'c:\salt\var\cache\salt\minion\files\base_utils'
[DEBUG ] Refreshing modules...
[INFO ] Loading fresh modules for state activity
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] Could not LazyLoad git.envs
[INFO ] Fetching file from saltenv 'base', ** skipped ** latest already in cache 'salt://webserver.sls'
[DEBUG ] Jinja search path: ['c:\salt\var\cache\salt\minion\files\base']
[DEBUG ] Rendered data from file: c:\salt\var\cache\salt\minion\files\base\webserver.sls:
nginx:
pkg:
- installed
[DEBUG ] LazyLoaded config.get
[DEBUG ] Results of YAML rendering:
OrderedDict([('nginx', OrderedDict([('pkg', ['installed'])]))])
[DEBUG ] Could not LazyLoad git.envs
[INFO ] Fetching file from saltenv 'base', ** skipped ** latest already in cache 'salt://winscp.sls'
[DEBUG ] Jinja search path: ['c:\salt\var\cache\salt\minion\files\base']
[DEBUG ] Rendered data from file: c:\salt\var\cache\salt\minion\files\base\winscp.sls:
winscp:
pkg:
- installed
[DEBUG ] Results of YAML rendering:
OrderedDict([('winscp', OrderedDict([('pkg', ['installed'])]))])
[DEBUG ] LazyLoaded cmd.run
[DEBUG ] LazyLoaded pkg.install
[DEBUG ] LazyLoaded pkg.installed
[DEBUG ] Error loading module.tls: ['PyOpenSSL version 0.10 or later must be installed before this module can be used.']
[DEBUG ] Error loading module.nacl: libnacl import error, perhaps missing python libnacl package
[DEBUG ] Error loading module.ipmi: No module named pyghmi.ipmi
[DEBUG ] Error loading module.npm: npm execution module could not be loaded because the npm binary could not be located
[DEBUG ] Could not LazyLoad pkg.ex_mod_init
[INFO ] Running state [nginx] at time 16:34:00.615000
[INFO ] Executing state pkg.installed for nginx
[DEBUG ] Could not LazyLoad pkg.hold
[ERROR ] Package nginx not found in the repository.
[INFO ] Completed state [nginx] at time 16:34:00.630000
[INFO ] Running state [winscp] at time 16:34:00.630000
[INFO ] Executing state pkg.installed for winscp
[DEBUG ] Could not LazyLoad pkg.hold
[ERROR ] Package winscp not found in the repository.
[INFO ] Completed state [winscp] at time 16:34:00.646000
[DEBUG ] File c:\salt\var\cache\salt\minion\accumulator\78001600 does not exist, no need to cleanup.
[DEBUG ] LazyLoaded highstate.output
local:
ID: nginx
Function: pkg.installed
Result: False
Comment: Package nginx not found in the repository.
Started: 16:34:00.615000
Duration: 15.0 ms
Changes:
ID: winscp
Function: pkg.installed
Result: False
Comment: Package winscp not found in the repository.
Started: 16:34:00.630000
Duration: 16.0 ms
Changes:
Summary
Succeeded: 0
Failed: 2
Total states run: 2
I have already install pyOpenssl with “pip install pyOpenssl” but still has problem. I used google search online, find this is an open issue, has not been fixed yet.
C:\salt>salt-call -l debug --local pkg.refresh_db
[DEBUG ] Reading configuration from c:\salt\conf\minion
[DEBUG ] Configuration file path: c:\salt\conf\minion
[DEBUG ] Reading configuration from c:\salt\conf\minion
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] LazyLoaded jinja.render
[DEBUG ] LazyLoaded yaml.render
[DEBUG ] LazyLoaded pkg.refresh_db
[DEBUG ] LazyLoaded cp.is_cached
[DEBUG ] LazyLoaded roots.envs
[ERROR ] No suitable version of pygit2/libgit2, GitPython, or Dulwich is installed.
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Could not LazyLoad roots.init
[DEBUG ] Could not LazyLoad git.envs
[DEBUG ] Updating roots fileserver cache
[DEBUG ] LazyLoaded nested.output
local:
True
Here are the dependent software have been installed on Vagrant guest VM. A lot of other software not shown here. I have switched from V2015.8.0 to V2015.5.5 to V2015.5.4. All have similar problems.
I currently have Linux host and Windows 7 host. Try to deploy on Windows 7 guest. Someone told me to start from a masterless minion.
Shall I start from a windows mater or Linux master? Salt windows standalone mode seems is not well supported yet. Or have to wait for a few months till Salt has stable version for windows masterless mode? Please suggest.