mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge branch '2014.7' into develop
Conflicts: doc/topics/releases/2014.7.0.rst
This commit is contained in:
commit
13995afba0
7 changed files with 48 additions and 7 deletions
|
@ -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
|
||||
-------------------
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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'],
|
||||
|
|
Loading…
Add table
Reference in a new issue