Giter Site home page Giter Site logo

salt-windows-install's Introduction

Salt Windows Installer

This repository is for the Windows installer

Work is currently ongoing to create a simple Salt Windows installer in the subfolder "salt" inside the "deps" folder, but is currently broken. For now, you can install Salt from source. Download the Salt source from github here https://github.com/saltstack/salt We've created a repository containing all the Salt dependencies for your convenience here: https://github.com/saltstack/salt-windows-install

These instructions are for installing on Windows XP 32bit. You can find these packages here: https://github.com/saltstack/salt-windows-install/tree/master/deps/win32-py2.7

For Windows 7 64 bit, please use the corresponding packages found here: https://github.com/saltstack/salt-windows-install/tree/master/deps/win-amd64-py2.7

Install on Windows XP 32 bit

First, install the Salt dependencies

  1. Python 2.7.x from http://python.org
    1. Add "C:\Python27" to your path
  2. Install vcredist_x86.exe
  3. Win32OpenSSL-1_0_0e.exe
    1. Choose the first option to install in Windows system directory
  4. pyzmq-2.1.11.win32-py2.7.msi
  5. M2Crypto-0.21.1.win32-py2.7.msi
  6. pycrypto-2.3.win32-py2.7.msi
  7. PyYAML-3.10.win32-py2.7.msi
  8. pywin32-216.win32-py2.7.exe
  9. Cython-0.15.1.win32-py2.7.exe
  10. msgpack-python-0.1.12.win32-py2.7.exe
  11. distribute_setup.py
    1. http://python-distribute.org/distribute_setup.py
    2. "python distribute_setup.py"
  12. Add "C:\Python27\scripts" to your path
  13. jinja2
    1. "easy_install jinja2"

Second, install the Salt source

  1. Open command prompt and change directory into the Salt source directory
  2. Run "python setup.py install"
  3. Create "C:\salt" folder
  4. Copy saltsource/conf/minion.template to "C:\salt\minion"
  5. Edit "C:\salt\minion":
    1. master: ipaddress or hostname of your salt-master
    2. root_dir: C:\salt\
    3. ipc_mode: tcp
    4. multiprocessing: False

Start the Salt minion

  1. From command prompt run "python \Python27\Scripts\salt-minion -c 'c:\salt\minion'"
  2. On your Salt Master, accept your Windows Salt minion key

Install and start the Salt minion as a Windows service

  1. From command prompt run "python \Python27\Scripts\salt-minion -c 'c:\salt\minion' -d"
  2. On your Salt Master, accept your Windows Salt minion key

salt-windows-install's People

Contributors

baijum avatar jimthedev avatar patrickw-nf avatar thatch45 avatar utahdave avatar vmwghbot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

salt-windows-install's Issues

windows masterless mode not supported well

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.

iSCSI Target control

Microsoft has a free software iSCSI target service available that would be a great addition to salt.

Features/Options:

  • Target creation/Deletion
  • Target IQN control (which machines can access by DNS, IQN, IP, MAC address)
  • Virtual Disk management (creation, location, attachment to target, size)
  • Last logged in time for targets (last time an initiator connected to the target)
  • Snapshot management (CRUD)

I'd be more than happy to test this out :)

Salt.exe Crashes Windows 7

I have been playing with saltstack on windows 7 32bit vm using virtual box. This works flawlessly of course. But when I moving the installation to a test laptop with the same os everything seems to be ok but I never see a key generated and in the event logs i see several errors where the app is constantly crashing. The only major difference is my test laptop is completely updated with most current windows patches and I cant help but to think that may be the cause but its hard to tell. Can anyone shed some light on this???

Thanks

Gary

M2Crypto not working

I only need M2Crypto. After installation, if I try to import it in the REPL, it reports:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\M2Crypto\__init__.py", line 22, in <module>
    import __m2crypto
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

The last line translates to Not valid Win32 application.. The file involved is __m2crypto.pyd in the same directory. Opening it shows

This program cannot be run in DOS mode.

salt-master.exe looking for salt log in wrong directory

Good Afternoon,
This issue is of minimal importance as according to the docs there are no plans to make the Salt-Master available on windows. I did notice however that there is a Salt-Master.exe in the c:\Salt directory. I ran it from the command line to see what it would do and it immediately fails as it's looking to log something in "c:\Var" instead of what I assume should be "c:\Salt\Var".
I attached a screenshot for all to enjoy.

cheers,
-Mike
screen shot 2013-08-03 at 2 22 45 pm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.