0.16.0.rst 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. .. _release-0-16-0:
  2. =========================
  3. Salt 0.16.0 Release Notes
  4. =========================
  5. :release: 2013-07-01
  6. The 0.16.0 release is an exciting one, with new features in master redundancy,
  7. and a new, powerful requisite.
  8. Major Features
  9. ==============
  10. Multi-Master
  11. ------------
  12. This new capability allows for a minion to be actively connected to multiple
  13. salt masters at the same time. This allows for multiple masters to send out commands
  14. to minions and for minions to automatically reconnect to masters that have gone
  15. down. A tutorial is available to help get started here:
  16. :ref:`Multi Master Tutorial <tutorial-multi-master>`
  17. Prereq, the New Requisite
  18. -------------------------
  19. The new `prereq` requisite is very powerful! It allows for states to execute
  20. based on a state that is expected to make changes in the future. This allows
  21. for a change on the system to be preempted by another execution. A good example
  22. is needing to shut down a service before modifying files associated with it,
  23. allowing, for instance, a webserver to be shut down allowing a load balancer to
  24. stop sending requests while server side code is updated. In this case, the
  25. prereq will only run if changes are expected to happen in the prerequired
  26. state, and the prerequired state will always run after the prereq state and
  27. only if the prereq state succeeds.
  28. Peer System Improvements
  29. ------------------------
  30. The peer system has been revamped to make it more reliable, faster, and like
  31. the rest of Salt, async. The peer calls when an updated minion and master are
  32. used together will be much faster!
  33. Relative Includes
  34. -----------------
  35. The ability to include an sls relative to the defined sls has been added, the
  36. new syntax id documented here:
  37. :ref:`Includes <states-include>`
  38. More State Output Options
  39. -------------------------
  40. The ``state_output`` option in the past only supported `full` and `terse`,
  41. 0.16.0 add the `mixed` and `changes` modes further refining how states are sent
  42. to users' eyes.
  43. Improved Windows Support
  44. ------------------------
  45. Support for Salt on Windows continues to improve. Software management on
  46. Windows has become more seamless with Linux/UNIX/BSD software management.
  47. Installed software is now recognized by the short names defined in the
  48. :ref:`repository SLS <windows-package-manager>`. This makes it
  49. possible to run ``salt '*' pkg.version firefox`` and get back results from
  50. Windows and non-Windows minions alike.
  51. When templating files on Windows, Salt will now correctly use Windows
  52. appropriate line endings. This makes it much easier to edit and consume files
  53. on Windows.
  54. When using the cmd state the ``shell`` option now allows for specifying
  55. Windows Powershell as an alternate shell to execute cmd.run and cmd.script.
  56. This opens up Salt to all the power of Windows Powershell and its advanced
  57. Windows management capabilities.
  58. Several fixes and optimizations were added for the Windows networking modules,
  59. especially when working with IPv6.
  60. A system module was added that makes it easy to restart and shutdown Windows
  61. minions.
  62. The Salt Minion will now look for its config file in ``c:\salt\conf`` by
  63. default. This means that it's no longer necessary to specify the ``-c`` option
  64. to specify the location of the config file when starting the Salt Minion on
  65. Windows in a terminal.
  66. Multiple Targets for pkg.removed, pkg.purged States
  67. ---------------------------------------------------
  68. Both :mod:`pkg.removed <salt.states.pkg.removed>` and :mod:`pkg.purged
  69. <salt.states.pkg.purged>` now support the ``pkgs`` argument, which allow for
  70. multiple packages to be targeted in a single state. This, as in
  71. :mod:`pkg.installed <salt.states.pkg.installed>`, helps speed up these
  72. states by reducing the number of times that the package management tools (apt,
  73. yum, etc.) need to be run.
  74. Random Times in Cron States
  75. ---------------------------
  76. The temporal parameters in :mod:`cron.present <salt.states.cron.present>`
  77. states (minute, hour, etc.) can now be randomized by using ``random`` instead
  78. of a specific value. For example, by using the ``random`` keyword in the
  79. ``minute`` parameter of a cron state, the same cron job can be pushed to
  80. hundreds or thousands of hosts, and they would each use a randomly-generated
  81. minute. This can be helpful when the cron job accesses a network resource, and
  82. it is not desirable for all hosts to run the job concurrently.
  83. .. code-block:: yaml
  84. /path/to/cron/script:
  85. cron.present:
  86. - user: root
  87. - minute: random
  88. - hour: 2
  89. Since Salt assumes a value of ``*`` for unspecified temporal parameters, adding
  90. a parameter to the state and setting it to ``random`` will change that value
  91. from ``*`` to a randomized numeric value. However, if that field in the cron
  92. entry on the minion already contains a numeric value, then using the ``random``
  93. keyword will not modify it.
  94. Confirmation Prompt on Key Acceptance
  95. -------------------------------------
  96. When accepting new keys with ``salt-key -a minion-id`` or ``salt-key -A``,
  97. there is now a prompt that will show the affected keys and ask for confirmation
  98. before proceeding. This prompt can be bypassed using the ``-y`` or ``--yes``
  99. command line argument, as with other ``salt-key`` commands.
  100. Support for Setting Password Hashes on BSD Minions
  101. --------------------------------------------------
  102. FreeBSD, NetBSD, and OpenBSD all now support setting passwords in
  103. :mod:`user.present <salt.states.user.present>` states.