123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- ==============================
- Salt Cloud 0.8.5 Release Notes
- ==============================
- Welcome to 0.8.5! Some important things have happened in this release, that
- you'll want to take note of. The first thing that may trip you up when
- installing directly is that Paramiko is no longer a dependency, and botocore
- and sshpass are new dependencies. Read on to see what else has happened.
- Documentation
- =============
- The documentation for Salt Cloud can be found on Read the Docs:
- https://salt-cloud.readthedocs.io
- Download
- ========
- Salt Cloud can be downloaded and install via pypi:
- https://pypi.python.org/packages/source/s/salt-cloud/salt-cloud-0.8.5.tar.gz
- Some packages have been made available for salt-cloud and more on their
- way. Packages for Arch and FreeBSD are being made available thanks to the
- work of Christer Edwards, and packages for RHEL and Fedora are being created
- by Clint Savage. The Ubuntu PPA is being managed by Sean Channel. Package
- availability will be announced on the salt mailing list.
- Salt Bootstrap
- ==============
- In 0.8.4, the default deploy script was set to bootstrap-salt-minion. Since
- then, the Salt Boostrap script has been extended to be able to install more
- than just minions, and as such, has been renamed. It is now called
- bootstrap-salt, and has been renamed in Salt Cloud accordingly. Check out the
- salt-bootstrap project for more details:
- https://github.com/saltstack/salt-bootstrap
- Just another reminder: For those of you still using "os" in your profiles, this
- option was renamed to "script" in 0.8.2, and your configuration should be
- updated accordingly.
- Updating Salt Bootstrap
- =======================
- If you like running the latest and greatest version of salt-bootstrap, but
- you're sick of tracking down the source directory to update it, a new option
- has been added to update it for you.
- .. code-block:: bash
- salt-cloud -u
- salt-cloud --update-bootstrap
- Bear in mind that this updates to the latest (unstable) version, so use with
- caution.
- Modify AWS Tags
- ===============
- One of the features of AWS is the ability to tag resources. In fact, under the
- hood, the names given to EC2 instances by salt-cloud are actually just stored
- as a tag called Name. The ability to manage tags on AWS instances has now been
- added to Salt Cloud.
- .. code-block:: bash
- salt-cloud -a get_tags mymachine
- salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
- salt-cloud -a del_tags mymachine tag1,tag2,tag3
- Rename AWS Instances
- ====================
- As mentioned above, AWS instances are named via a tag. However, renaming an
- instance by renaming its tag will cause the salt keys to mismatch. A rename
- function has been added which renames both the instance, and the salt keys.
- .. code-block:: bash
- salt-cloud -a rename mymachine newname=yourmachine
- AWS Termination Protection
- ==========================
- AWS allows the user to enable and disable termination protection on a specific
- instance. An instance with this protection enabled cannot be destroyed.
- .. code-block:: bash
- salt-cloud -a enable_term_protect mymachine
- salt-cloud -a disable_term_protect mymachine
- Setting up New Salt Masters
- ===========================
- It has become increasingly common for users to set up multi-hierarchal
- infrastructures using Salt Cloud. This sometimes involves setting up an
- instance to be a master in addition to a minion. With that in mind, you can
- now law down master configuration on a machine by specifying master options
- in the profile or map file.
- .. code-block:: yaml
- make_master: True
- This will cause Salt Cloud to generate master keys for the instance, and tell
- salt-bootstrap to install the salt-master package, in addition to the
- salt-minion package.
- The default master configuration is usually appropriate for most users, and
- will not be changed unless specific master configuration has been added to the
- profile or map:
- .. code-block:: yaml
- master:
- user: root
- interface: 0.0.0.0
- Keeping /tmp/ Files
- ===================
- When Salt Cloud deploys an instance, it uploads temporary files to /tmp/ for
- salt-bootstrap to put in place. After the script has run, they are deleted. To
- keep these files around (mostly for debugging purposes), the --keep-tmp option
- can be added:
- .. code-block:: bash
- salt-cloud -p myprofile mymachine --keep-tmp
- For those wondering why /tmp/ was used instead of /root/, this had to be done
- for images which require the use of sudo, and therefore do not allow remote
- root logins, even for file transfers (which makes /root/ unavailable).
- Deploy Script Arguments
- =======================
- Custom deploy scripts are unlikely to need custom arguments to be passed to
- them, but salt-bootstrap has been extended quite a bit, and this may be
- necessary. script_args can be specified in either the profile or the map
- file, to pass arguments to the deploy script:
- .. code-block:: yaml
- aws-amazon:
- provider: aws
- image: ami-1624987f
- size: Micro Instance
- ssh_username: ec2-user
- script: bootstrap-salt
- script_args: -c /tmp/
- This has also been tested to work with pipes, if needed:
- .. code-block:: yaml
- script_args: '| head'
- Remove Old SSH Keys
- ===================
- When an instance is destroyed, its IP address is usually recycled back into
- the IP pool. When such an IP is reassigned to you, and the old key is still in
- your known_hosts file, the deploy script will fail due to mismatched SSH keys.
- To mitigate this, add the following to your main cloud configuration:
- .. code-block:: yaml
- delete_sshkeys: True
|