salt/doc/topics/releases/0.14.0.rst

83 lines
2.6 KiB
ReStructuredText
Raw Normal View History

2013-03-21 21:23:05 +00:00
=========================
Salt 0.14.0 Release Notes
=========================
:release: 2013-03-23
2014-12-12 19:31:43 +00:00
Salt 0.14.0 is here! This release was held up primarily by PyCon, Scale, and
2013-03-21 21:23:05 +00:00
illness, but has arrived! 0.14.0 comes with many new features and is breaking
ground for Salt in the area of cloud management with the introduction of Salt
2013-05-05 08:04:49 +00:00
providing basic cloud controller functionality.
2013-03-21 21:23:05 +00:00
Major Features
==============
Salt - As a Cloud Controller
----------------------------
This is the first primitive inroad to using Salt as a cloud controller is
available in 0.14.0. Be advised that this is alpha, only tested in a few very
small environments.
2013-05-05 08:04:49 +00:00
The cloud controller is built using kvm and libvirt for the hypervisors.
2013-03-21 21:23:05 +00:00
Hypervisors are autodetected as minions and only need to have libvirt running
and kvm installed to function. The features of the Salt cloud controller are
as follows:
- Basic vm discovery and reporting
- Creation of new virtual machines
- Seeding virtual machines with Salt via qemu-nbd or libguestfs
- Live migration (shared and non shared storage)
- Delete existing VMs
It is noteworthy that this feature is still Alpha, meaning that all rights
are reserved to change the interface if needs be in future releases!
Libvirt State
-------------
One of the problems with libvirt is management of certificates needed for live
migration and cross communication between hypervisors. The new ``libvirt``
state makes the Salt Master hold a CA and manage the signing and distribution
of keys onto hypervisors, just add a call to the libvirt state in the sls
formulas used to set up a hypervisor:
.. code-block:: yaml
libvirt_keys:
libvirt.keys
New get Functions
-----------------
2014-12-12 19:31:43 +00:00
An easier way to manage data has been introduced. The pillar, grains, and config
2013-03-21 21:23:05 +00:00
execution modules have been extended with the new ``get`` function. This
2013-05-05 08:04:49 +00:00
function works much in the same way as the get method in a python dict, but with
2013-03-21 21:23:05 +00:00
an enhancement, nested dict components can be extracted using a `:` delimiter.
If a structure like this is in pillar:
.. code-block:: yaml
foo:
bar:
baz: quo
Extracting it from the raw pillar in an sls formula or file template is done
this way:
.. code-block:: jinja
{{ pillar['foo']['bar']['baz'] }}
Now with the new get function the data can be safely gathered and a default
can be set allowing the template to fall back if the value is not available:
.. code-block:: jinja
{{ salt['pillar.get']('foo:bar:baz', 'qux') }}
This makes handling nested structures much easier, and defaults can be cleanly
2013-05-05 08:04:49 +00:00
set. This new function is being used extensively in the new formulae repository
2013-03-21 21:23:05 +00:00
of salt sls formulas.