0.15.0.rst 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. =========================
  2. Salt 0.15.0 Release Notes
  3. =========================
  4. :release: 2013-05-03
  5. The many new features of Salt 0.15.0 have arrived! Salt 0.15.0 comes with many
  6. smaller features and a few larger ones.
  7. These features range from better debugging tools to the new Salt Mine system.
  8. Major Features
  9. ==============
  10. The Salt Mine
  11. -------------
  12. First there was the peer system, allowing for commands to be executed from a
  13. minion to other minions to gather data live. Then there was the external job
  14. cache for storing and accessing long term data. Now the middle ground is being
  15. filled in with the Salt Mine. The Salt Mine is a system used to execute
  16. functions on a regular basis on minions and then store only the most recent
  17. data from the functions on the master, then the data is looked up via targets.
  18. The mine caches data that is public to all minions, so when a minion posts
  19. data to the mine all other minions can see it.
  20. IPV6 Support
  21. ------------
  22. 0.13.0 saw the addition of initial IPV6 support but errors were encountered and
  23. it needed to be stripped out. This time the code covers more cases and must be
  24. explicitly enabled. But the support is much more extensive than before.
  25. Copy Files From Minions to the Master
  26. -------------------------------------
  27. Minions have long been able to copy files down from the master file server, but
  28. until now files could not be easily copied from the minion up to the master.
  29. A new function called ``cp.push`` can push files from the minions up to the
  30. master server. The uploaded files are then cached on the master in the master
  31. cachedir for each minion.
  32. Better Template Debugging
  33. -------------------------
  34. Template errors have long been a burden when writing states and pillar. 0.15.0
  35. will now send the compiled template data to the debug log, this makes tracking
  36. down the intermittent stage templates much easier. So running state.sls or
  37. state.highstate with `-l debug` will now print out the rendered templates in
  38. the debug information.
  39. State Event Firing
  40. ------------------
  41. The state system is now more closely tied to the master's event bus. Now when
  42. a state fails the failure will be fired on the master event bus so that the
  43. reactor can respond to it.
  44. Major Syndic Updates
  45. --------------------
  46. The Syndic system has been basically re-written. Now it runs in a completely
  47. asynchronous way and functions primarily as an event broker. This means that
  48. the events fired on the syndic are now pushed up to the higher level master
  49. instead of the old method used which waited for the client libraries to
  50. return.
  51. This makes the syndic much more accurate and powerful, it also means that
  52. all events fired on the syndic master make it up the pipe as well making a
  53. reactor on the higher level master able to react to minions further
  54. downstream.
  55. Peer System Updates
  56. -------------------
  57. The Peer System has been updated to run using the client libraries instead
  58. of firing directly over the publish bus. This makes the peer system much more
  59. consistent and reliable.
  60. Minion Key Revocation
  61. ---------------------
  62. In the past when a minion was decommissioned the key needed to be manually
  63. deleted on the master, but now a function on the minion can be used to revoke
  64. the calling minion's key:
  65. .. code-block:: bash
  66. $ salt-call saltutil.revoke_auth
  67. Function Return Codes
  68. ---------------------
  69. Functions can now be assigned numeric return codes to determine if the function
  70. executed successfully. While not all functions have been given return codes,
  71. many have and it is an ongoing effort to fill out all functions that might
  72. return a non-zero return code.
  73. Functions in Overstate
  74. ----------------------
  75. The overstate system was originally created to just manage the execution of
  76. states, but with the addition of return codes to functions, requisite logic can
  77. now be used with respect to the overstate. This means that an overstate stage
  78. can now run single functions instead of just state executions.
  79. Pillar Error Reporting
  80. ----------------------
  81. Previously if errors surfaced in pillar, then the pillar would consist of only
  82. an empty dict. Now all data that was successfully rendered stays in pillar and
  83. the render error is also made available. If errors are found in the pillar,
  84. states will refuse to run.
  85. Using Cached State Data
  86. -----------------------
  87. Sometimes states are executed purely to maintain a specific state rather than
  88. to update states with new configs. This is grounds for the new cached state
  89. system. By adding `cache=True` to a state call the state will not be generated
  90. fresh from the master but the last state data to be generated will be used.
  91. If no previous state data is available then fresh data will be generated.
  92. Monitoring States
  93. -----------------
  94. The new monitoring states system has been started. This is very young but
  95. allows for states to be used to configure monitoring routines. So far only one
  96. monitoring state is available, the ``disk.status`` state. As more capabilities
  97. are added to Salt UI the monitoring capabilities of Salt will continue to be
  98. expanded.