123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- .. _release-0-16-0:
- =========================
- Salt 0.16.0 Release Notes
- =========================
- :release: 2013-07-01
- The 0.16.0 release is an exciting one, with new features in master redundancy,
- and a new, powerful requisite.
- Major Features
- ==============
- Multi-Master
- ------------
- This new capability allows for a minion to be actively connected to multiple
- salt masters at the same time. This allows for multiple masters to send out commands
- to minions and for minions to automatically reconnect to masters that have gone
- down. A tutorial is available to help get started here:
- :ref:`Multi Master Tutorial <tutorial-multi-master>`
- Prereq, the New Requisite
- -------------------------
- The new `prereq` requisite is very powerful! It allows for states to execute
- based on a state that is expected to make changes in the future. This allows
- for a change on the system to be preempted by another execution. A good example
- is needing to shut down a service before modifying files associated with it,
- allowing, for instance, a webserver to be shut down allowing a load balancer to
- stop sending requests while server side code is updated. In this case, the
- prereq will only run if changes are expected to happen in the prerequired
- state, and the prerequired state will always run after the prereq state and
- only if the prereq state succeeds.
- Peer System Improvements
- ------------------------
- The peer system has been revamped to make it more reliable, faster, and like
- the rest of Salt, async. The peer calls when an updated minion and master are
- used together will be much faster!
- Relative Includes
- -----------------
- The ability to include an sls relative to the defined sls has been added, the
- new syntax id documented here:
- :ref:`Includes <states-include>`
- More State Output Options
- -------------------------
- The ``state_output`` option in the past only supported `full` and `terse`,
- 0.16.0 add the `mixed` and `changes` modes further refining how states are sent
- to users' eyes.
- Improved Windows Support
- ------------------------
- Support for Salt on Windows continues to improve. Software management on
- Windows has become more seamless with Linux/UNIX/BSD software management.
- Installed software is now recognized by the short names defined in the
- :ref:`repository SLS <windows-package-manager>`. This makes it
- possible to run ``salt '*' pkg.version firefox`` and get back results from
- Windows and non-Windows minions alike.
- When templating files on Windows, Salt will now correctly use Windows
- appropriate line endings. This makes it much easier to edit and consume files
- on Windows.
- When using the cmd state the ``shell`` option now allows for specifying
- Windows Powershell as an alternate shell to execute cmd.run and cmd.script.
- This opens up Salt to all the power of Windows Powershell and its advanced
- Windows management capabilities.
- Several fixes and optimizations were added for the Windows networking modules,
- especially when working with IPv6.
- A system module was added that makes it easy to restart and shutdown Windows
- minions.
- The Salt Minion will now look for its config file in ``c:\salt\conf`` by
- default. This means that it's no longer necessary to specify the ``-c`` option
- to specify the location of the config file when starting the Salt Minion on
- Windows in a terminal.
- Multiple Targets for pkg.removed, pkg.purged States
- ---------------------------------------------------
- Both :mod:`pkg.removed <salt.states.pkg.removed>` and :mod:`pkg.purged
- <salt.states.pkg.purged>` now support the ``pkgs`` argument, which allow for
- multiple packages to be targeted in a single state. This, as in
- :mod:`pkg.installed <salt.states.pkg.installed>`, helps speed up these
- states by reducing the number of times that the package management tools (apt,
- yum, etc.) need to be run.
- Random Times in Cron States
- ---------------------------
- The temporal parameters in :mod:`cron.present <salt.states.cron.present>`
- states (minute, hour, etc.) can now be randomized by using ``random`` instead
- of a specific value. For example, by using the ``random`` keyword in the
- ``minute`` parameter of a cron state, the same cron job can be pushed to
- hundreds or thousands of hosts, and they would each use a randomly-generated
- minute. This can be helpful when the cron job accesses a network resource, and
- it is not desirable for all hosts to run the job concurrently.
- .. code-block:: yaml
- /path/to/cron/script:
- cron.present:
- - user: root
- - minute: random
- - hour: 2
- Since Salt assumes a value of ``*`` for unspecified temporal parameters, adding
- a parameter to the state and setting it to ``random`` will change that value
- from ``*`` to a randomized numeric value. However, if that field in the cron
- entry on the minion already contains a numeric value, then using the ``random``
- keyword will not modify it.
- Confirmation Prompt on Key Acceptance
- -------------------------------------
- When accepting new keys with ``salt-key -a minion-id`` or ``salt-key -A``,
- there is now a prompt that will show the affected keys and ask for confirmation
- before proceeding. This prompt can be bypassed using the ``-y`` or ``--yes``
- command line argument, as with other ``salt-key`` commands.
- Support for Setting Password Hashes on BSD Minions
- --------------------------------------------------
- FreeBSD, NetBSD, and OpenBSD all now support setting passwords in
- :mod:`user.present <salt.states.user.present>` states.
|