mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 08:58:59 +00:00
166 lines
5.5 KiB
ReStructuredText
166 lines
5.5 KiB
ReStructuredText
==============================
|
|
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:
|
|
http://salt-cloud.readthedocs.org
|
|
|
|
Download
|
|
========
|
|
|
|
Salt Cloud can be downloaded and install via pypi:
|
|
|
|
http://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 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
|
|
|
|
|