Salt Cloud has reached another milestone, with the 0.8.0 release. This release includes many improvements to usability, error handling and general stability of the product.
The documentation for Salt Cloud can be found on Read the Docs: https://salt-cloud.readthedocs.io
Salt Cloud can be downloaded and install via pypi or github:
https://pypi.python.org/packages/source/s/salt-cloud/salt-cloud-0.8.0.tar.gz
https://cloud.github.com/downloads/saltstack/salt-cloud/salt-cloud-0.8.0.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. Package availability will be announced on the salt mailing list.
Additional options have been added to salt-cloud -Q, to support the same kinds of formatting already available in Salt:
--raw-out
--text-out
--yaml-out
--json-out
--no-color
As an ongoing effort, we have been cleaning up and adding error messages in an attempt to make salt-cloud more helpful when something goes wrong. This includes displaying messages as they are received from libcloud.
Previously, map files only had the ability to specify a profile name, and the node names that would be associated with it. Now you can also specify grains that will be laid down in each individual node:
vm_profile:
- mynodename:
minion:
master: salt-master
grains:
fromage: tasty
These grains can also be specified in the profile itself. When this happens, the grains in map files will override grains in the profile. For example:
vm_profile:
provider: gogrid
size: 512MB
image: CentOS 6.2 (64-bit) w/ None
os: RHEL6
minion:
master: salt.example.com
grains:
french: fries
In this example, mynodename will include grains for both fromage and french, but the master will be salt-master, not salt.example.com.
AWS is much more complex to work with than any of the other supported cloud providers. As such, additional configuration has been added in order to accommodate their usage:
Because AWS images can include a variety of different usernames for the initial login, this option allows you to specify which one(s) to use to install salt upon firstboot.
AWS instances include both private and public IP addresses. By default, salt-cloud will use the public IP to login. In situations where the salt-master is also located within AWS, the private IP can be used instead.
These options allow you to specify from within salt-cloud, which AWS locations your machines spin up in.
Ubuntu packages automatically start the service upon installation, and needed to be handled differently in the deploy script. Configuration is now laid down before the package is installed, so that the minion can make its initial start happen with the correct configuration.