0.8.7.rst 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ========================
  2. Salt 0.8.7 release notes
  3. ========================
  4. It has been a month since salt 0.8.0, and it has been a long month! But Salt is
  5. still coming along strong. 0.8.7 has a lot of changes and a lot of updates.
  6. This update makes Salt’s ZeroMQ back end better, strips Facter from the
  7. dependencies, and introduces interfaces to handle more capabilities.
  8. Many of the major updates are in the background, but the changes should shine
  9. through to the surface. A number of the new features are still a little thin,
  10. but the back end to support expansion is in place.
  11. I also recently gave a presentation to the Utah Python users group in Salt Lake
  12. City, the slides from this presentation are available here:
  13. The video from this presentation will be available shortly.
  14. The major new features and changes in Salt 0.8.7 are:
  15. * Revamp ZeroMQ topology on the master for better scalability
  16. * State enforcement
  17. * Dynamic state enforcement managers
  18. * Extract the module loader into salt.loader
  19. * Make Job ids more granular
  20. * Replace Facter functionality with the new salt grains interface
  21. * Support for “virtual” salt modules
  22. * Introduce the salt-call command
  23. * Better debugging for minion modules
  24. The new ZeroMQ topology allows for better scalability, this will be required by
  25. the need to execute massive file transfers to multiple machines in parallel and
  26. state management. The new ZeroMQ topology is available in the aforementioned
  27. presentation.
  28. 0.8.7 introduces the capability to declare states, this is similar to the
  29. capabilities of Puppet. States in salt are declared via state data structures.
  30. This system is very young, but the core feature set is available. Salt states
  31. work around rendering files which represent Salt high data. More on the Salt
  32. state system will be documented in the near future.
  33. The system for loading salt modules has been pulled out of the minion class to
  34. be a standalone module, this has enabled more dynamic loading of Salt modules
  35. and enables many of the updates in 0.8.7 –
  36. :blob:`salt/loader.py`
  37. Salt Job ids are now microsecond precise, this was needed to repair a race
  38. condition unveiled by the speed improvements in the new ZeroMQ topology.
  39. The new grains interface replaces the functionality of Facter, the idea behind
  40. grains differs from Facter in that the grains are only used for static system
  41. data, dynamic data needs to be derived from a call to a salt module. This makes
  42. grains much faster to use, since the grains data is generated when the minion
  43. starts.
  44. Virtual salt modules allows for a salt module to be presented as something
  45. other than its module name. The idea here is that based on information from the
  46. minion decisions about which module should be presented can be made. The best
  47. example is the pacman module. The pacman module will only load on Arch Linux
  48. minions, and will be called pkg. Similarly the yum module will be presented as
  49. pkg when the minion starts on a Fedora/RedHat system.
  50. The new salt-call command allows for minion modules to be executed from the
  51. minion. This means that on the minion a salt module can be executed, this is a
  52. great tool for testing Salt modules. The salt-call command can also be used to
  53. view the grains data.
  54. In previous releases when a minion module threw an exception very little data
  55. was returned to the master. Now the stack trace from the failure is returned
  56. making debugging of minion modules MUCH easier.
  57. Salt is nearing the goal of 1.0, where the core feature set and capability is
  58. complete!
  59. -Thomas S Hatch