mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Add 0.8.0 release notes
This commit is contained in:
parent
f97c58743e
commit
2c4f376662
1 changed files with 119 additions and 0 deletions
119
doc/topics/releases/0.8.0.rst
Normal file
119
doc/topics/releases/0.8.0.rst
Normal file
|
@ -0,0 +1,119 @@
|
|||
========================
|
||||
Salt 0.8.0 release notes
|
||||
========================
|
||||
Salt 0.8.0 is ready for general consumption!
|
||||
The source tarball is available on github for download:
|
||||
|
||||
https://github.com/downloads/thatch45/salt/salt-0.8.0.tar.gz
|
||||
A lot of work has gone into salt since the last release just 2 weeks ago, and
|
||||
salt has improved a great deal. A swath of new features are here along with
|
||||
performance and threading improvements!
|
||||
|
||||
The main new features of salt 0.8.0 are:
|
||||
|
||||
Salt-cp
|
||||
|
||||
Cython minion modules
|
||||
|
||||
Dynamic returners
|
||||
|
||||
Faster return handling
|
||||
|
||||
Lowered required python version to 2.6
|
||||
|
||||
Advanced minion threading
|
||||
|
||||
Configurable minion modules
|
||||
|
||||
|
||||
Salt-cp -
|
||||
=======================
|
||||
The salt-cp command introduces the ability to copy simple files via salt to
|
||||
targeted servers. Using salt-cp is very simple, just call salt-cp with a target
|
||||
specification, the source file(s) and where to copy the files on the minions.
|
||||
For instance:
|
||||
|
||||
# salt-cp ‘*’ /etc/hosts /etc/hosts
|
||||
|
||||
Will copy the local /etc/hosts file to all of the minions.
|
||||
|
||||
Salt-cp is very young, in the future more advanced features will be added, and
|
||||
the functionality will much more closely resemble the cp command.
|
||||
|
||||
Cython minion modules -
|
||||
========================
|
||||
Cython is an amazing tool used to compile python modules down to c. This is
|
||||
arguably the fastest way to run python code, and since pyzmq requires cython,
|
||||
adding support to salt for cython adds no new dependencies.
|
||||
|
||||
Cython minion modules allow minion modules to be written in cython and
|
||||
therefore executed in compiled c. Simply write the salt module in cython and
|
||||
use the file extension “.pyx” and the minion module will be compiled when
|
||||
the minion is started. An example cython module is included in the main
|
||||
distribution called cytest.pyx:
|
||||
https://github.com/thatch45/salt/blob/master/salt/modules/cytest.pyx
|
||||
|
||||
Dynamic Returners -
|
||||
========================
|
||||
By default salt returns command data back to the salt master, but now salt can
|
||||
return command data to any system. This is enabled via the new returners
|
||||
modules feature for salt. The returners modules take the return data and sends
|
||||
it to a specific module. The returner modules work like minion modules, so any
|
||||
returner can be added to the minions.
|
||||
|
||||
This means that a custom data returner can be added to communicate the return
|
||||
data so anything from MySQL, redis, mongodb and more!
|
||||
|
||||
There are 2 simple stock returners in the returners directory:
|
||||
https://github.com/thatch45/salt/tree/master/salt/returners
|
||||
|
||||
The documentation on writing returners will be added to the wiki shortly, and
|
||||
returners can be written in pure python, or in cython.
|
||||
|
||||
Configurable Minion Modules -
|
||||
==============================
|
||||
Minion modules may need to be configured, now the options passed to the minion
|
||||
configuration file can be accessed inside of the minion modules via the __opt__
|
||||
dict.
|
||||
|
||||
Information on how to use this simple addition has been added to the wiki:
|
||||
https://github.com/thatch45/salt/wiki/Writing-Salt-Modules
|
||||
|
||||
The test module has an example of using the __opts__ dict, and how to set
|
||||
default options:
|
||||
https://github.com/thatch45/salt/blob/master/salt/modules/test.py
|
||||
|
||||
Advanced Minion Threading:
|
||||
==============================
|
||||
In 0.7.0 the minion would block after receiving a command from the master, now
|
||||
the minion will spawn a thread or multiprocess. By default python threads are
|
||||
used because for general use they have proved to be faster, but the minion can
|
||||
now be configured to use the python multiprocessing module instead. Using
|
||||
multiprocessing will cause executions that are cpu bound or would otherwise
|
||||
exploit the negative aspects of the Python GIL to run faster and more reliably,
|
||||
but simple calls will still be faster with python threading.
|
||||
The configuration option can be found in the minion configuration file:
|
||||
https://github.com/thatch45/salt/blob/master/conf/minion
|
||||
|
||||
Lowered Supported Python to 2.6 -
|
||||
|
||||
The requirement for python 2.7 has been removed to support python 2.6. I have
|
||||
received requests to take the minimum python version back to 2.4, but
|
||||
unfortunately this will not be possible, since the zeromq python bindings do
|
||||
not support python 2.4.
|
||||
|
||||
Salt 0.8.0 is a very major update, it also changes the network protocol slightly
|
||||
which makes communication with older salt daemons impossible, your master and
|
||||
minions need to be upgraded together!
|
||||
I could use some help bringing salt to the people! Right now I only have
|
||||
packages for Arch Linux, Fedora 14 and Gentoo. We need packages for Debian and
|
||||
people willing to help test on more platforms. We also need help writing more
|
||||
minion modules and returner modules. If you want to contribute to salt please
|
||||
hop on the mailing list and send in patches, make a fork on github and send in
|
||||
pull requests! If you want to help but are not sure where you can, please email
|
||||
me directly or post tot he mailing list!
|
||||
|
||||
I hope you enjoy salt, while it is not yet 1.0 salt is completely viable and
|
||||
usable!
|
||||
|
||||
-Thomas S. Hatch
|
Loading…
Add table
Reference in a new issue