1==============================
2Salt Cloud 0.8.2 Release Notes
3==============================
4
5This is a great release for Salt Cloud! New cloud providers have been added,
6and the deploy functionality has been embiggened! Read on to see the cromulent
7new features.
8
9
10Documentation
11=============
12
13The documentation for Salt Cloud can be found on Read the Docs:
14https://salt-cloud.readthedocs.io
15
16Download
17========
18
19Salt Cloud can be downloaded and install via pypi or github:
20
21https://pypi.python.org/packages/source/s/salt-cloud/salt-cloud-0.8.2.tar.gz
22
23https://cloud.github.com/downloads/saltstack/salt-cloud/salt-cloud-0.8.2.tar.gz
24
25Some packages have been made available for salt-cloud and more on their
26way. Packages for Arch, and FreeBSD are being made available thanks to the
27work of Christer Edwards, and packages for RHEL and Fedora are being created
28by Clint Savage. Package availability will be announced on the salt mailing list.
29
30Select Query Option
31===================
32
33The last release of Salt Cloud added the -F/--full query option, to display
34all information available for a particular instance. We now also have the -S
35or --select-query option, which lets you specify which fields to display. Any
36fields not specified will not be displayed, and if you specify a field that
37doesn't exist on a particular provider, it will be ignored for them. Just
38add a query.selection option to /etc/salt/cloud like such:
39
40.. code-block:: yaml
41
42  query.selection:
43    - id
44    - state
45    - public_ips
46    - keyname
47    - TOTALXFER
48
49os vs script
50============
51
52In a cloud profile, you need to specify which deploy script to use to install
53Salt on the newly-provisioned VM. The option for this has always been 'os',
54which has been confusing to some. As of this release, you may now specify
55'script' instead of 'os'. If you specify both, the value for 'script' will be
56used. See the SmartOS Deploy Script below for an example.
57
58SmartOS Deploy Script
59=====================
60
61Of particular interest to Joyent users may be the new SmartOS deploy script.
62Salt itself is not fully-supported on SmartOS just yet, in part because ZeroMQ
63is also not yet supported. When this script is used for deployment, it will
64automatically install the required libraries and build ZeroMQ, and then use
65easy_install to install the latest versions of PyZMQ and Salt. To use this,
66just specify SmartOS as the 'os' or 'script' option in your cloud.profiles:
67
68.. code-block:: yaml
69
70  joyent_smartos:
71    provider: joyent
72    size: Extra Small 512 MB
73    image: smartos
74    script: SmartOS
75
76OpenStack and IBM Modules
77=========================
78
79Support has been added for clouds using OpenStack (OPENSTACK) and for IBM's
80SmartCloud Enterprise (IBMSCE) offering. We know that people have already
81started using the OpenStack module, because pull requests have already been
82merged from the community. This module has been tested against both the HP
83and the Rackspace implementations of OpenStack. This can be a tricky module
84to configure, depending on your provider, so some examples are provided here:
85
86.. code-block:: yaml
87
88  # For HP
89  OPENSTACK.identity_url: 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/'
90  OPENSTACK.compute_name: Compute
91  OPENSTACK.compute_region: 'az-1.region-a.geo-1'
92  OPENSTACK.tenant: myuser-tenant1
93  OPENSTACK.user: myuser
94  OPENSTACK.ssh_key_name: mykey
95  OPENSTACK.ssh_key_file: '/etc/salt/hpcloud/mykey.pem'
96  OPENSTACK.password: mypass
97
98  # For Rackspace
99  OPENSTACK.identity_url: 'https://identity.api.rackspacecloud.com/v2.0/tokens'
100  OPENSTACK.compute_name: cloudServersOpenStack
101  OPENSTACK.compute_region: DFW
102  OPENSTACK.tenant: 5555555
103  OPENSTACK.user: myuser
104  OPENSTACK.password: mypass
105  OPENSTACK.protocol: ipv4
106
107It is important to note that currently, only password-based authentication is
108provided through the Salt Cloud OpenStack module.
109
110IBM has fewer things that need to be configured, but setting them up can be
111tricky as well. An example might look like:
112
113.. code-block:: yaml
114
115  IBMSCE.user: myuser@mycorp.com
116  IBMSCE.password: mypass
117  IBMSCE.ssh_key_name: mykey
118  IBMSCE.ssh_key_file: '/etc/salt/ibm/mykey.pem'
119  IBMSCE.location: Raleigh
120
121The location currently must be configured in order to create an instance, but
122not to query the IBM cloud. This is important, because you need to use
123salt-cloud --list-locations (with the other options already set) in order to
124find the name of the location that you want to use.
125
126OpenStack with Salt
127===================
128
129This isn't specifically another Salt Cloud feature, but it should be noted that
130with the release of Salt 0.10.5, OpenStack is not only the first Cloud product,
131but in fact the first piece of software explicitly supported by both Salt Cloud
132(from a user perspective) and Salt itself (from an admin perspective).
133
134Salt Cloud Logging
135==================
136
137Those who have tried to hack on Salt Cloud may have discovered a complete lack
138of logging support. With this release, Salt Cloud has started to implement
139the logging features already available in Salt. The default log location is
140/var/log/salt/cloud (with a default level of warn), but it can be changed in
141your cloud configuration file:
142
143.. code-block:: yaml
144
145  log_file: /var/log/salt/cloud
146  log_level_logfile: debug
147
148If you would like to change the default logging level for the command line, you
149can also configure that in the same place:
150
151.. code-block:: yaml
152
153  log_level: debug
154
155Check salt-cloud --help for a list of logging levels, which can also be
156specified from the command line.
157