0.8.5.rst 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. ==============================
  2. Salt Cloud 0.8.5 Release Notes
  3. ==============================
  4. Welcome to 0.8.5! Some important things have happened in this release, that
  5. you'll want to take note of. The first thing that may trip you up when
  6. installing directly is that Paramiko is no longer a dependency, and botocore
  7. and sshpass are new dependencies. Read on to see what else has happened.
  8. Documentation
  9. =============
  10. The documentation for Salt Cloud can be found on Read the Docs:
  11. https://salt-cloud.readthedocs.io
  12. Download
  13. ========
  14. Salt Cloud can be downloaded and install via pypi:
  15. https://pypi.python.org/packages/source/s/salt-cloud/salt-cloud-0.8.5.tar.gz
  16. Some packages have been made available for salt-cloud and more on their
  17. way. Packages for Arch and FreeBSD are being made available thanks to the
  18. work of Christer Edwards, and packages for RHEL and Fedora are being created
  19. by Clint Savage. The Ubuntu PPA is being managed by Sean Channel. Package
  20. availability will be announced on the salt mailing list.
  21. Salt Bootstrap
  22. ==============
  23. In 0.8.4, the default deploy script was set to bootstrap-salt-minion. Since
  24. then, the Salt Boostrap script has been extended to be able to install more
  25. than just minions, and as such, has been renamed. It is now called
  26. bootstrap-salt, and has been renamed in Salt Cloud accordingly. Check out the
  27. salt-bootstrap project for more details:
  28. https://github.com/saltstack/salt-bootstrap
  29. Just another reminder: For those of you still using "os" in your profiles, this
  30. option was renamed to "script" in 0.8.2, and your configuration should be
  31. updated accordingly.
  32. Updating Salt Bootstrap
  33. =======================
  34. If you like running the latest and greatest version of salt-bootstrap, but
  35. you're sick of tracking down the source directory to update it, a new option
  36. has been added to update it for you.
  37. .. code-block:: bash
  38. salt-cloud -u
  39. salt-cloud --update-bootstrap
  40. Bear in mind that this updates to the latest (unstable) version, so use with
  41. caution.
  42. Modify AWS Tags
  43. ===============
  44. One of the features of AWS is the ability to tag resources. In fact, under the
  45. hood, the names given to EC2 instances by salt-cloud are actually just stored
  46. as a tag called Name. The ability to manage tags on AWS instances has now been
  47. added to Salt Cloud.
  48. .. code-block:: bash
  49. salt-cloud -a get_tags mymachine
  50. salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
  51. salt-cloud -a del_tags mymachine tag1,tag2,tag3
  52. Rename AWS Instances
  53. ====================
  54. As mentioned above, AWS instances are named via a tag. However, renaming an
  55. instance by renaming its tag will cause the salt keys to mismatch. A rename
  56. function has been added which renames both the instance, and the salt keys.
  57. .. code-block:: bash
  58. salt-cloud -a rename mymachine newname=yourmachine
  59. AWS Termination Protection
  60. ==========================
  61. AWS allows the user to enable and disable termination protection on a specific
  62. instance. An instance with this protection enabled cannot be destroyed.
  63. .. code-block:: bash
  64. salt-cloud -a enable_term_protect mymachine
  65. salt-cloud -a disable_term_protect mymachine
  66. Setting up New Salt Masters
  67. ===========================
  68. It has become increasingly common for users to set up multi-hierarchal
  69. infrastructures using Salt Cloud. This sometimes involves setting up an
  70. instance to be a master in addition to a minion. With that in mind, you can
  71. now law down master configuration on a machine by specifying master options
  72. in the profile or map file.
  73. .. code-block:: yaml
  74. make_master: True
  75. This will cause Salt Cloud to generate master keys for the instance, and tell
  76. salt-bootstrap to install the salt-master package, in addition to the
  77. salt-minion package.
  78. The default master configuration is usually appropriate for most users, and
  79. will not be changed unless specific master configuration has been added to the
  80. profile or map:
  81. .. code-block:: yaml
  82. master:
  83. user: root
  84. interface: 0.0.0.0
  85. Keeping /tmp/ Files
  86. ===================
  87. When Salt Cloud deploys an instance, it uploads temporary files to /tmp/ for
  88. salt-bootstrap to put in place. After the script has run, they are deleted. To
  89. keep these files around (mostly for debugging purposes), the --keep-tmp option
  90. can be added:
  91. .. code-block:: bash
  92. salt-cloud -p myprofile mymachine --keep-tmp
  93. For those wondering why /tmp/ was used instead of /root/, this had to be done
  94. for images which require the use of sudo, and therefore do not allow remote
  95. root logins, even for file transfers (which makes /root/ unavailable).
  96. Deploy Script Arguments
  97. =======================
  98. Custom deploy scripts are unlikely to need custom arguments to be passed to
  99. them, but salt-bootstrap has been extended quite a bit, and this may be
  100. necessary. script_args can be specified in either the profile or the map
  101. file, to pass arguments to the deploy script:
  102. .. code-block:: yaml
  103. aws-amazon:
  104. provider: aws
  105. image: ami-1624987f
  106. size: Micro Instance
  107. ssh_username: ec2-user
  108. script: bootstrap-salt
  109. script_args: -c /tmp/
  110. This has also been tested to work with pipes, if needed:
  111. .. code-block:: yaml
  112. script_args: '| head'
  113. Remove Old SSH Keys
  114. ===================
  115. When an instance is destroyed, its IP address is usually recycled back into
  116. the IP pool. When such an IP is reassigned to you, and the old key is still in
  117. your known_hosts file, the deploy script will fail due to mismatched SSH keys.
  118. To mitigate this, add the following to your main cloud configuration:
  119. .. code-block:: yaml
  120. delete_sshkeys: True