Merge branch '2014.7' into develop

Conflicts:
	doc/topics/releases/2014.7.0.rst
This commit is contained in:
Colton Myers 2014-08-05 15:32:04 -06:00
commit 13995afba0
7 changed files with 48 additions and 7 deletions

View file

@ -6,7 +6,7 @@ This release is the largest Salt release ever, with more features and commits
then any previous release of Salt. Everything from the new RAET transport to
major updates in Salt Cloud and the merging of Salt API into the main project.
Major Features
New Transport!
==============
RAET Transport Option
@ -31,12 +31,33 @@ hammer out the update. This is a BETA release of Salt RAET.
For information about how to use Salt with RAET please see the tutorial:
<put tutorial here>
New Imperative State Keyword "Listen"
State System Enhancements
=========================
New Imperitive State Keyword "Listen"
-------------------------------------
The new listen keyword allows for completely imperative states by calling the
mod_watch routine after all states have run instead of re-ordering the states.
Mod Aggregate Runtime Manipulator
---------------------------------
The new mod_aggragate system allows for the state system to rewrite the state
data durring execution. This allows for state deffinitions to be aggregated
dynamically at runtime.
The best example is found in the pkg state. If mod_aggregate is turned on,
then when the first pkg state is reached the state system will scan all of the
other running states for pkg states and take all other packages set for install
and install them all at once in the first pkg state.
These runtime modifications make it easy groups of states together, in future
versions we hope to fill out the mod_aggregate system to build in more and
more optomizations.
For more documentation on mod_aggregate please see ref/states/aggregate
New Requisites: onchanges and onfail
------------------------------------
@ -47,6 +68,9 @@ Global onlyif and unless
The ``onlyif`` and ``unless`` options can now be used for any state declaration.
Major Features
==============
Scheduler Additions
-------------------

View file

@ -17,7 +17,7 @@ curl http://pkgsrc.joyent.com/packages/SmartOS/bootstrap/bootstrap-2013Q4-x86_64
hash -r
pkgin -y up
pkgin -y in build-essential salt swig py27-pip unzip
pkgin -y in build-essential salt swig py27-pip unzip py27-mysqldb
pkgin -y rm salt
cd /opt/local/bin

View file

@ -52,9 +52,15 @@ def __virtual__():
'ALT',
'OEL',
'SUSE Enterprise Server',
'SUSE',
'McAfee OS Server'
))
if __grains__['os'] in enable:
if __grains__['os'] == 'SUSE':
if __grains__['osrelease'].startswith('11'):
return __virtualname__
else:
return False
try:
osrelease = float(__grains__.get('osrelease', 0))
except ValueError:

View file

@ -151,13 +151,18 @@ def _check_cron(user,
month = str(month).lower()
if dayweek is not None:
dayweek = str(dayweek).lower()
if identifier is not None:
identifier = str(identifier)
if cmd is not None:
cmd = str(cmd)
lst = __salt__['cron.list_tab'](user)
for cron in lst['crons']:
if _cron_matched(cron, cmd, identifier):
if any([_needs_change(x, y) for x, y in
((cron['minute'], minute), (cron['hour'], hour),
(cron['daymonth'], daymonth), (cron['month'], month),
(cron['dayweek'], dayweek), (cron['comment'], comment))]):
(cron['dayweek'], dayweek), (cron['identifier'], identifier),
(cron['cmd'], cmd), (cron['comment'], comment))]):
return 'update'
return 'present'
return 'absent'

View file

@ -30,7 +30,7 @@ else:
try:
# Let's try loading the system paths from the generated module at
# installation time.
from salt._syspaths import ( # pylint: disable=W0611,E0611
from salt._syspaths import ( # pylint: disable=W0611,E0611,import-error
ROOT_DIR, # because pylint thinks that _syspaths is an
CONFIG_DIR, # attribute of salt.__init__
CACHE_DIR,

View file

@ -1365,7 +1365,13 @@ def is_linux():
# This is a hack. If a proxy minion is started by other
# means, e.g. a custom script that creates the minion objects
# then this will fail.
if 'salt-proxy-minion' in main.__file__:
is_proxy = False
try:
if 'salt-proxy-minion' in main.__file__:
is_proxy = True
except AttributeError:
pass
if is_proxy:
return False
else:
return sys.platform.startswith('linux')

View file

@ -23,7 +23,7 @@ import integration
import salt.utils
_PKG_TARGETS = {
'Arch': ['python2-django', 'finch'],
'Arch': ['python2-django', 'libpng'],
'Debian': ['python-plist', 'apg'],
'RedHat': ['xz-devel', 'zsh-html'],
'FreeBSD': ['aalib', 'pth'],