summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro del Castillo <alejandro.delcastillo@ni.com>2016-12-14 14:38:14 -0600
committerBruce Ashfield <bruce.ashfield@windriver.com>2016-12-18 22:41:36 -0500
commit39e481c1e84ae87e45a84dce2ed57b25fa771c10 (patch)
tree767c4366638c5bfbaacde7b964d545afa422663f
parent6043a4a17dc5ca9080dac7789e38620b7b1aa372 (diff)
downloadmeta-cloud-services-39e481c1e84ae87e45a84dce2ed57b25fa771c10.tar.gz
salt: upgrade to 2016.11
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--meta-openstack/recipes-support/salt/files/cloud6
-rw-r--r--meta-openstack/recipes-support/salt/files/master276
-rw-r--r--meta-openstack/recipes-support/salt/files/minion156
-rw-r--r--meta-openstack/recipes-support/salt/files/salt-common.logrotate21
-rw-r--r--meta-openstack/recipes-support/salt/salt_2016.11.0.bb (renamed from meta-openstack/recipes-support/salt/salt_2016.3.0.bb)4
5 files changed, 403 insertions, 60 deletions
diff --git a/meta-openstack/recipes-support/salt/files/cloud b/meta-openstack/recipes-support/salt/files/cloud
index 5bd28df..921cc04 100644
--- a/meta-openstack/recipes-support/salt/files/cloud
+++ b/meta-openstack/recipes-support/salt/files/cloud
@@ -1,4 +1,4 @@
1# This file should normally be installed at: /etc/salt/cloud 1# This file should normally be installed at: /etc/salt/cloud
2 2
3 3
4########################################## 4##########################################
@@ -44,7 +44,7 @@
44#log_level_logfile: info 44#log_level_logfile: info
45 45
46 46
47# The date and time format used in log messages. Allowed date/time formating 47# The date and time format used in log messages. Allowed date/time formatting
48# can be seen here: 48# can be seen here:
49# 49#
50# http://docs.python.org/library/time.html#time.strftime 50# http://docs.python.org/library/time.html#time.strftime
@@ -71,7 +71,7 @@
71#log_fmt_console: '%(colorlevel)s %(colormsg)s' 71#log_fmt_console: '%(colorlevel)s %(colormsg)s'
72#log_fmt_console: '[%(levelname)-8s] %(message)s' 72#log_fmt_console: '[%(levelname)-8s] %(message)s'
73# 73#
74#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' 74#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
75 75
76 76
77# Logger levels can be used to tweak specific loggers logging levels. 77# Logger levels can be used to tweak specific loggers logging levels.
diff --git a/meta-openstack/recipes-support/salt/files/master b/meta-openstack/recipes-support/salt/files/master
index 821f5fc..4ecb160 100644
--- a/meta-openstack/recipes-support/salt/files/master
+++ b/meta-openstack/recipes-support/salt/files/master
@@ -39,12 +39,22 @@
39# key_logfile, pidfile: 39# key_logfile, pidfile:
40#root_dir: / 40#root_dir: /
41 41
42# The path to the master's configuration file.
43#conf_file: /etc/salt/master
44
42# Directory used to store public key data: 45# Directory used to store public key data:
43#pki_dir: /etc/salt/pki/master 46#pki_dir: /etc/salt/pki/master
44 47
48# Key cache. Increases master speed for large numbers of accepted
49# keys. Available options: 'sched'. (Updates on a fixed schedule.)
50# Note that enabling this feature means that minions will not be
51# available to target for up to the length of the maintanence loop
52# which by default is 60s.
53#key_cache: ''
54
45# Directory to store job and cache data: 55# Directory to store job and cache data:
46# This directory may contain sensitive data and should be protected accordingly. 56# This directory may contain sensitive data and should be protected accordingly.
47# 57#
48#cachedir: /var/cache/salt/master 58#cachedir: /var/cache/salt/master
49 59
50# Directory for custom modules. This directory can contain subdirectories for 60# Directory for custom modules. This directory can contain subdirectories for
@@ -54,7 +64,7 @@
54 64
55# Directory for custom modules. This directory can contain subdirectories for 65# Directory for custom modules. This directory can contain subdirectories for
56# each of Salt's module types such as "runners", "output", "wheel", "modules", 66# each of Salt's module types such as "runners", "output", "wheel", "modules",
57# "states", "returners", etc. 67# "states", "returners", "engines", etc.
58# Like 'extension_modules' but can take an array of paths 68# Like 'extension_modules' but can take an array of paths
59#module_dirs: <no default> 69#module_dirs: <no default>
60# - /var/cache/salt/minion/extmods 70# - /var/cache/salt/minion/extmods
@@ -65,6 +75,10 @@
65# Set the number of hours to keep old job information in the job cache: 75# Set the number of hours to keep old job information in the job cache:
66#keep_jobs: 24 76#keep_jobs: 24
67 77
78# The number of seconds to wait when the client is requesting information
79# about running jobs.
80#gather_job_timeout: 10
81
68# Set the default timeout for the salt command and api. The default is 5 82# Set the default timeout for the salt command and api. The default is 5
69# seconds. 83# seconds.
70#timeout: 5 84#timeout: 5
@@ -77,6 +91,11 @@
77# Set the default outputter used by the salt command. The default is "nested". 91# Set the default outputter used by the salt command. The default is "nested".
78#output: nested 92#output: nested
79 93
94# Set the default output file used by the salt command. Default is to output
95# to the CLI and not to a file. Functions the same way as the "--out-file"
96# CLI option, only sets this to a single file for all salt commands.
97#output_file: None
98
80# Return minions that timeout when running commands like test.ping 99# Return minions that timeout when running commands like test.ping
81#show_timeout: True 100#show_timeout: True
82 101
@@ -88,6 +107,12 @@
88# (true by default). 107# (true by default).
89# strip_colors: False 108# strip_colors: False
90 109
110# To display a summary of the number of minions targeted, the number of
111# minions returned, and the number of minions that did not return, set the
112# cli_summary value to True. (False by default.)
113#
114#cli_summary: False
115
91# Set the directory used to hold unix sockets: 116# Set the directory used to hold unix sockets:
92#sock_dir: /var/run/salt/master 117#sock_dir: /var/run/salt/master
93 118
@@ -106,7 +131,7 @@
106#minion_data_cache: True 131#minion_data_cache: True
107 132
108# Store all returns in the given returner. 133# Store all returns in the given returner.
109# Setting this option requires that any returner-specific configuration also 134# Setting this option requires that any returner-specific configuration also
110# be set. See various returners in salt/returners for details on required 135# be set. See various returners in salt/returners for details on required
111# configuration values. (See also, event_return_queue below.) 136# configuration values. (See also, event_return_queue below.)
112# 137#
@@ -118,15 +143,15 @@
118# By default, events are not queued. 143# By default, events are not queued.
119#event_return_queue: 0 144#event_return_queue: 0
120 145
121# Only events returns matching tags in a whitelist 146# Only return events matching tags in a whitelist, supports glob matches.
122# event_return_whitelist: 147#event_return_whitelist:
123# - salt/master/a_tag 148# - salt/master/a_tag
124# - salt/master/another_tag 149# - salt/run/*/ret
125 150
126# Store all event returns _except_ the tags in a blacklist 151# Store all event returns **except** the tags in a blacklist, supports globs.
127# event_return_blacklist: 152#event_return_blacklist:
128# - salt/master/not_this_tag 153# - salt/master/not_this_tag
129# - salt/master/or_this_one 154# - salt/wheel/*/ret
130 155
131# Passing very large events can cause the minion to consume large amounts of 156# Passing very large events can cause the minion to consume large amounts of
132# memory. This value tunes the maximum size of a message allowed onto the 157# memory. This value tunes the maximum size of a message allowed onto the
@@ -145,12 +170,12 @@
145# the key rotation event as minions reconnect. Consider this carefully if this 170# the key rotation event as minions reconnect. Consider this carefully if this
146# salt master is managing a large number of minions. 171# salt master is managing a large number of minions.
147# 172#
148# If disabled, it is recommended to handle this event by listening for the 173# If disabled, it is recommended to handle this event by listening for the
149# 'aes_key_rotate' event with the 'key' tag and acting appropriately. 174# 'aes_key_rotate' event with the 'key' tag and acting appropriately.
150# ping_on_rotate: False 175# ping_on_rotate: False
151 176
152# By default, the master deletes its cache of minion data when the key for that 177# By default, the master deletes its cache of minion data when the key for that
153# minion is removed. To preserve the cache after key deletion, set 178# minion is removed. To preserve the cache after key deletion, set
154# 'preserve_minion_cache' to True. 179# 'preserve_minion_cache' to True.
155# 180#
156# WARNING: This may have security implications if compromised minions auth with 181# WARNING: This may have security implications if compromised minions auth with
@@ -230,6 +255,14 @@
230# ZMQ high-water-mark for EventPublisher pub socket 255# ZMQ high-water-mark for EventPublisher pub socket
231#event_publisher_pub_hwm: 10000 256#event_publisher_pub_hwm: 10000
232 257
258# The master may allocate memory per-event and not
259# reclaim it.
260# To set a high-water mark for memory allocation, use
261# ipc_write_buffer to set a high-water mark for message
262# buffering.
263# Value: In bytes. Set to 'dynamic' to have Salt select
264# a value for you. Default is disabled.
265# ipc_write_buffer: 'dynamic'
233 266
234 267
235##### Security settings ##### 268##### Security settings #####
@@ -244,7 +277,7 @@
244# public keys from the minions. Note that this is insecure. 277# public keys from the minions. Note that this is insecure.
245#auto_accept: False 278#auto_accept: False
246 279
247# Time in minutes that a incoming public key with a matching name found in 280# Time in minutes that an incoming public key with a matching name found in
248# pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys 281# pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys
249# are removed when the master checks the minion_autosign directory. 282# are removed when the master checks the minion_autosign directory.
250# 0 equals no timeout 283# 0 equals no timeout
@@ -272,7 +305,7 @@
272# This setting should be treated with care since it opens up execution 305# This setting should be treated with care since it opens up execution
273# capabilities to non root users. By default this capability is completely 306# capabilities to non root users. By default this capability is completely
274# disabled. 307# disabled.
275#pulisher_acl: 308#publisher_acl:
276# larry: 309# larry:
277# - test.ping 310# - test.ping
278# - network.* 311# - network.*
@@ -283,6 +316,11 @@
283# running any commands. It would also blacklist any use of the "cmd" 316# running any commands. It would also blacklist any use of the "cmd"
284# module. This is completely disabled by default. 317# module. This is completely disabled by default.
285# 318#
319#
320# Check the list of configured users in client ACL against users on the
321# system and throw errors if they do not exist.
322#client_acl_verify: True
323#
286#publisher_acl_blacklist: 324#publisher_acl_blacklist:
287# users: 325# users:
288# - root 326# - root
@@ -295,7 +333,7 @@
295# publisher_acl_blacklist instead. 333# publisher_acl_blacklist instead.
296 334
297# Enforce publisher_acl & publisher_acl_blacklist when users have sudo 335# Enforce publisher_acl & publisher_acl_blacklist when users have sudo
298# access to the salt command. 336# access to the salt command.
299# 337#
300#sudo_acl: False 338#sudo_acl: False
301 339
@@ -308,6 +346,18 @@
308# 346#
309# Time (in seconds) for a newly generated token to live. Default: 12 hours 347# Time (in seconds) for a newly generated token to live. Default: 12 hours
310#token_expire: 43200 348#token_expire: 43200
349#
350# Allow eauth users to specify the expiry time of the tokens they generate.
351# A boolean applies to all users or a dictionary of whitelisted eauth backends
352# and usernames may be given.
353# token_expire_user_override:
354# pam:
355# - fred
356# - tom
357# ldap:
358# - gary
359#
360#token_expire_user_override: False
311 361
312# Allow minions to push files to the master. This is disabled by default, for 362# Allow minions to push files to the master. This is disabled by default, for
313# security purposes. 363# security purposes.
@@ -344,6 +394,10 @@
344#ssh_minion_opts: 394#ssh_minion_opts:
345# gpg_keydir: /root/gpg 395# gpg_keydir: /root/gpg
346 396
397# Set this to True to default to using ~/.ssh/id_rsa for salt-ssh
398# authentication with minions
399#ssh_use_home_key: False
400
347##### Master Module Management ##### 401##### Master Module Management #####
348########################################## 402##########################################
349# Manage how master side modules are loaded. 403# Manage how master side modules are loaded.
@@ -455,7 +509,7 @@
455# When using multiple environments, each with their own top file, the 509# When using multiple environments, each with their own top file, the
456# default behaviour is an unordered merge. To prevent top files from 510# default behaviour is an unordered merge. To prevent top files from
457# being merged together and instead to only use the top file from the 511# being merged together and instead to only use the top file from the
458# requested environment, set this value to 'same'. 512# requested environment, set this value to 'same'.
459#top_file_merging_strategy: merge 513#top_file_merging_strategy: merge
460 514
461# To specify the order in which environments are merged, set the ordering 515# To specify the order in which environments are merged, set the ordering
@@ -469,12 +523,15 @@
469#default_top: base 523#default_top: base
470 524
471# The hash_type is the hash to use when discovering the hash of a file on 525# The hash_type is the hash to use when discovering the hash of a file on
472# the master server. The default is md5, but sha1, sha224, sha256, sha384 526# the master server. The default is md5 but sha1, sha224, sha256, sha384
473# and sha512 are also supported. 527# and sha512 are also supported.
474# 528#
475# Prior to changing this value, the master should be stopped and all Salt 529# WARNING: While md5 is also supported, do not use it due to the high chance
530# of possible collisions and thus security breach.
531#
532# Prior to changing this value, the master should be stopped and all Salt
476# caches should be cleared. 533# caches should be cleared.
477#hash_type: md5 534#hash_type: sha256
478 535
479# The buffer size in the file server can be adjusted here: 536# The buffer size in the file server can be adjusted here:
480#file_buffer_size: 1048576 537#file_buffer_size: 1048576
@@ -540,10 +597,37 @@
540 597
541# Git File Server Backend Configuration 598# Git File Server Backend Configuration
542# 599#
543# Gitfs can be provided by one of two python modules: GitPython or pygit2. If 600# Optional parameter used to specify the provider to be used for gitfs. Must
544# using pygit2, both libgit2 and git must also be installed. 601# be one of the following: pygit2, gitpython, or dulwich. If unset, then each
545#gitfs_provider: gitpython 602# will be tried in that same order, and the first one with a compatible
546# 603# version installed will be the provider that is used.
604#gitfs_provider: pygit2
605
606# Along with gitfs_password, is used to authenticate to HTTPS remotes.
607# gitfs_user: ''
608
609# Along with gitfs_user, is used to authenticate to HTTPS remotes.
610# This parameter is not required if the repository does not use authentication.
611#gitfs_password: ''
612
613# By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
614# This parameter enables authentication over HTTP. Enable this at your own risk.
615#gitfs_insecure_auth: False
616
617# Along with gitfs_privkey (and optionally gitfs_passphrase), is used to
618# authenticate to SSH remotes. This parameter (or its per-remote counterpart)
619# is required for SSH remotes.
620#gitfs_pubkey: ''
621
622# Along with gitfs_pubkey (and optionally gitfs_passphrase), is used to
623# authenticate to SSH remotes. This parameter (or its per-remote counterpart)
624# is required for SSH remotes.
625#gitfs_privkey: ''
626
627# This parameter is optional, required only when the SSH key being used to
628# authenticate is protected by a passphrase.
629#gitfs_passphrase: ''
630
547# When using the git fileserver backend at least one git remote needs to be 631# When using the git fileserver backend at least one git remote needs to be
548# defined. The user running the salt master will need read access to the repo. 632# defined. The user running the salt master will need read access to the repo.
549# 633#
@@ -551,7 +635,7 @@
551# and the first repo to have the file will return it. 635# and the first repo to have the file will return it.
552# When using the git backend branches and tags are translated into salt 636# When using the git backend branches and tags are translated into salt
553# environments. 637# environments.
554# Note: file:// repos will be treated as a remote, so refs you want used must 638# Note: file:// repos will be treated as a remote, so refs you want used must
555# exist in that repo as *local* refs. 639# exist in that repo as *local* refs.
556#gitfs_remotes: 640#gitfs_remotes:
557# - git://github.com/saltstack/salt-states.git 641# - git://github.com/saltstack/salt-states.git
@@ -610,10 +694,10 @@
610#pillar_safe_render_error: True 694#pillar_safe_render_error: True
611 695
612# The pillar_source_merging_strategy option allows you to configure merging strategy 696# The pillar_source_merging_strategy option allows you to configure merging strategy
613# between different sources. It accepts four values: recurse, aggregate, overwrite, 697# between different sources. It accepts five values: none, recurse, aggregate, overwrite,
614# or smart. Recurse will merge recursively mapping of data. Aggregate instructs 698# or smart. None will not do any merging at all. Recurse will merge recursively mapping of data.
615# aggregation of elements between sources that use the #!yamlex renderer. Overwrite 699# Aggregate instructs aggregation of elements between sources that use the #!yamlex renderer. Overwrite
616# will verwrite elements according the order in which they are processed. This is 700# will overwrite elements according the order in which they are processed. This is
617# behavior of the 2014.1 branch and earlier. Smart guesses the best strategy based 701# behavior of the 2014.1 branch and earlier. Smart guesses the best strategy based
618# on the "renderer" setting and is the default value. 702# on the "renderer" setting and is the default value.
619#pillar_source_merging_strategy: smart 703#pillar_source_merging_strategy: smart
@@ -621,6 +705,107 @@
621# Recursively merge lists by aggregating them instead of replacing them. 705# Recursively merge lists by aggregating them instead of replacing them.
622#pillar_merge_lists: False 706#pillar_merge_lists: False
623 707
708# Set this option to 'True' to force a 'KeyError' to be raised whenever an
709# attempt to retrieve a named value from pillar fails. When this option is set
710# to 'False', the failed attempt returns an empty string. Default is 'False'.
711#pillar_raise_on_missing: False
712
713# Git External Pillar (git_pillar) Configuration Options
714#
715# Specify the provider to be used for git_pillar. Must be either pygit2 or
716# gitpython. If unset, then both will be tried in that same order, and the
717# first one with a compatible version installed will be the provider that
718# is used.
719#git_pillar_provider: pygit2
720
721# If the desired branch matches this value, and the environment is omitted
722# from the git_pillar configuration, then the environment for that git_pillar
723# remote will be base.
724#git_pillar_base: master
725
726# If the branch is omitted from a git_pillar remote, then this branch will
727# be used instead
728#git_pillar_branch: master
729
730# Environment to use for git_pillar remotes. This is normally derived from
731# the branch/tag (or from a per-remote env parameter), but if set this will
732# override the process of deriving the env from the branch/tag name.
733#git_pillar_env: ''
734
735# Path relative to the root of the repository where the git_pillar top file
736# and SLS files are located.
737#git_pillar_root: ''
738
739# Specifies whether or not to ignore SSL certificate errors when contacting
740# the remote repository.
741#git_pillar_ssl_verify: False
742
743# When set to False, if there is an update/checkout lock for a git_pillar
744# remote and the pid written to it is not running on the master, the lock
745# file will be automatically cleared and a new lock will be obtained.
746#git_pillar_global_lock: True
747
748# Git External Pillar Authentication Options
749#
750# Along with git_pillar_password, is used to authenticate to HTTPS remotes.
751#git_pillar_user: ''
752
753# Along with git_pillar_user, is used to authenticate to HTTPS remotes.
754# This parameter is not required if the repository does not use authentication.
755#git_pillar_password: ''
756
757# By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
758# This parameter enables authentication over HTTP.
759#git_pillar_insecure_auth: False
760
761# Along with git_pillar_privkey (and optionally git_pillar_passphrase),
762# is used to authenticate to SSH remotes.
763#git_pillar_pubkey: ''
764
765# Along with git_pillar_pubkey (and optionally git_pillar_passphrase),
766# is used to authenticate to SSH remotes.
767#git_pillar_privkey: ''
768
769# This parameter is optional, required only when the SSH key being used
770# to authenticate is protected by a passphrase.
771#git_pillar_passphrase: ''
772
773# A master can cache pillars locally to bypass the expense of having to render them
774# for each minion on every request. This feature should only be enabled in cases
775# where pillar rendering time is known to be unsatisfactory and any attendant security
776# concerns about storing pillars in a master cache have been addressed.
777#
778# When enabling this feature, be certain to read through the additional ``pillar_cache_*``
779# configuration options to fully understand the tunable parameters and their implications.
780#
781# Note: setting ``pillar_cache: True`` has no effect on targeting Minions with Pillars.
782# See https://docs.saltstack.com/en/latest/topics/targeting/pillar.html
783#pillar_cache: False
784
785# If and only if a master has set ``pillar_cache: True``, the cache TTL controls the amount
786# of time, in seconds, before the cache is considered invalid by a master and a fresh
787# pillar is recompiled and stored.
788#pillar_cache_ttl: 3600
789
790# If and only if a master has set `pillar_cache: True`, one of several storage providers
791# can be utililzed.
792#
793# `disk`: The default storage backend. This caches rendered pillars to the master cache.
794# Rendered pillars are serialized and deserialized as msgpack structures for speed.
795# Note that pillars are stored UNENCRYPTED. Ensure that the master cache
796# has permissions set appropriately. (Same defaults are provided.)
797#
798# memory: [EXPERIMENTAL] An optional backend for pillar caches which uses a pure-Python
799# in-memory data structure for maximal performance. There are several caveats,
800# however. First, because each master worker contains its own in-memory cache,
801# there is no guarantee of cache consistency between minion requests. This
802# works best in situations where the pillar rarely if ever changes. Secondly,
803# and perhaps more importantly, this means that unencrypted pillars will
804# be accessible to any process which can examine the memory of the ``salt-master``!
805# This may represent a substantial security risk.
806#
807#pillar_cache_backend: disk
808
624 809
625##### Syndic settings ##### 810##### Syndic settings #####
626########################################## 811##########################################
@@ -649,6 +834,12 @@
649# LOG file of the syndic daemon: 834# LOG file of the syndic daemon:
650#syndic_log_file: syndic.log 835#syndic_log_file: syndic.log
651 836
837# The behaviour of the multi-syndic when connection to a master of masters failed.
838# Can specify ``random`` (default) or ``ordered``. If set to ``random``, masters
839# will be iterated in random order. If ``ordered`` is specified, the configured
840# order will be used.
841#syndic_failover: random
842
652 843
653##### Peer Publish settings ##### 844##### Peer Publish settings #####
654########################################## 845##########################################
@@ -738,7 +929,7 @@
738# If using 'log_granular_levels' this must be set to the highest desired level. 929# If using 'log_granular_levels' this must be set to the highest desired level.
739#log_level_logfile: warning 930#log_level_logfile: warning
740 931
741# The date and time format used in log messages. Allowed date/time formating 932# The date and time format used in log messages. Allowed date/time formatting
742# can be seen here: http://docs.python.org/library/time.html#time.strftime 933# can be seen here: http://docs.python.org/library/time.html#time.strftime
743#log_datefmt: '%H:%M:%S' 934#log_datefmt: '%H:%M:%S'
744#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S' 935#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
@@ -760,7 +951,7 @@
760#log_fmt_console: '%(colorlevel)s %(colormsg)s' 951#log_fmt_console: '%(colorlevel)s %(colormsg)s'
761#log_fmt_console: '[%(levelname)-8s] %(message)s' 952#log_fmt_console: '[%(levelname)-8s] %(message)s'
762# 953#
763#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' 954#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
764 955
765# This can be used to control logging levels more specificically. This 956# This can be used to control logging levels more specificically. This
766# example sets the main salt library at the 'warning' level, but sets 957# example sets the main salt library at the 'warning' level, but sets
@@ -774,11 +965,18 @@
774 965
775##### Node Groups ###### 966##### Node Groups ######
776########################################## 967##########################################
777# Node groups allow for logical groupings of minion nodes. A group consists of a group 968# Node groups allow for logical groupings of minion nodes. A group consists of
778# name and a compound target. 969# a group name and a compound target. Nodgroups can reference other nodegroups
970# with 'N@' classifier. Ensure that you do not have circular references.
971#
779#nodegroups: 972#nodegroups:
780# group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com' 973# group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
781# group2: 'G@os:Debian and foo.domain.com' 974# group2: 'G@os:Debian and foo.domain.com'
975# group3: 'G@os:Debian and N@group1'
976# group4:
977# - 'G@foo:bar'
978# - 'or'
979# - 'G@foo:baz'
782 980
783 981
784##### Range Cluster settings ##### 982##### Range Cluster settings #####
@@ -824,3 +1022,13 @@
824############################################ 1022############################################
825# Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch 1023# Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
826#event_match_type: startswith 1024#event_match_type: startswith
1025
1026# Save runner returns to the job cache
1027#runner_returns: True
1028
1029# Permanently include any available Python 3rd party modules into Salt Thin
1030# when they are generated for Salt-SSH or other purposes.
1031# The modules should be named by the names they are actually imported inside the Python.
1032# The value of the parameters can be either one module or a comma separated list of them.
1033#thin_extra_mods: foo,bar
1034
diff --git a/meta-openstack/recipes-support/salt/files/minion b/meta-openstack/recipes-support/salt/files/minion
index bd97c43..ad7a374 100644
--- a/meta-openstack/recipes-support/salt/files/minion
+++ b/meta-openstack/recipes-support/salt/files/minion
@@ -38,6 +38,8 @@
38# value to "str". Failover masters can be requested by setting 38# value to "str". Failover masters can be requested by setting
39# to "failover". MAKE SURE TO SET master_alive_interval if you are 39# to "failover". MAKE SURE TO SET master_alive_interval if you are
40# using failover. 40# using failover.
41# Setting master_type to 'disable' let's you have a running minion (with engines and
42# beacons) without a master connection
41# master_type: str 43# master_type: str
42 44
43# Poll interval in seconds for checking if the master is still there. Only 45# Poll interval in seconds for checking if the master is still there. Only
@@ -46,6 +48,16 @@
46# of TCP connections, such as load balancers.) 48# of TCP connections, such as load balancers.)
47# master_alive_interval: 30 49# master_alive_interval: 30
48 50
51# If the minion is in multi-master mode and the master_type configuration option
52# is set to "failover", this setting can be set to "True" to force the minion
53# to fail back to the first master in the list if the first master is back online.
54#master_failback: False
55
56# If the minion is in multi-master mode, the "master_type" configuration is set to
57# "failover", and the "master_failback" option is enabled, the master failback
58# interval can be set to ping the top master with this interval, in seconds.
59#master_failback_interval: 0
60
49# Set whether the minion should connect to the master via IPv6: 61# Set whether the minion should connect to the master via IPv6:
50#ipv6: False 62#ipv6: False
51 63
@@ -60,11 +72,15 @@
60# The user to run salt. 72# The user to run salt.
61#user: root 73#user: root
62 74
63# Setting sudo_user will cause salt to run all execution modules under an sudo 75# The user to run salt remote execution commands as via sudo. If this option is
64# to the user given in sudo_user. The user under which the salt minion process 76# enabled then sudo will be used to change the active user executing the remote
65# itself runs will still be that provided in the user config above, but all 77# command. If enabled the user will need to be allowed access via the sudoers
66# execution modules run by the minion will be rerouted through sudo. 78# file for the user that the salt minion is configured to run as. The most
67#sudo_user: saltdev 79# common option would be to use the root user. If this option is set the user
80# option should also be set to a non-root user. If migrating from a root minion
81# to a non root minion the minion cache should be cleared and the minion pki
82# directory will need to be changed to the ownership of the new user.
83#sudo_user: root
68 84
69# Specify the location of the daemon process ID file. 85# Specify the location of the daemon process ID file.
70#pidfile: /var/run/salt-minion.pid 86#pidfile: /var/run/salt-minion.pid
@@ -73,6 +89,9 @@
73# sock_dir, pidfile. 89# sock_dir, pidfile.
74#root_dir: / 90#root_dir: /
75 91
92# The path to the minion's configuration file.
93#conf_file: /etc/salt/minion
94
76# The directory to store the pki information in 95# The directory to store the pki information in
77#pki_dir: /etc/salt/pki/minion 96#pki_dir: /etc/salt/pki/minion
78 97
@@ -83,6 +102,13 @@
83# clusters. 102# clusters.
84#id: 103#id:
85 104
105# Cache the minion id to a file when the minion's id is not statically defined
106# in the minion config. Defaults to "True". This setting prevents potential
107# problems when automatic minion id resolution changes, which can cause the
108# minion to lose connection with the master. To turn off minion id caching,
109# set this config to ``False``.
110#minion_id_caching: True
111
86# Append a domain to a hostname in the event that it does not exist. This is 112# Append a domain to a hostname in the event that it does not exist. This is
87# useful for systems where socket.getfqdn() does not actually result in a 113# useful for systems where socket.getfqdn() does not actually result in a
88# FQDN (for instance, Solaris). 114# FQDN (for instance, Solaris).
@@ -103,6 +129,13 @@
103# This data may contain sensitive data and should be protected accordingly. 129# This data may contain sensitive data and should be protected accordingly.
104#cachedir: /var/cache/salt/minion 130#cachedir: /var/cache/salt/minion
105 131
132# Append minion_id to these directories. Helps with
133# multiple proxies and minions running on the same machine.
134# Allowed elements in the list: pki_dir, cachedir, extension_modules
135# Normally not needed unless running several proxies and/or minions on the same machine
136# Defaults to ['cachedir'] for proxies, [] (empty list) for regular minions
137#append_minionid_config_dirs:
138
106# Verify and set permissions on configuration directories at startup. 139# Verify and set permissions on configuration directories at startup.
107#verify_env: True 140#verify_env: True
108 141
@@ -171,6 +204,20 @@
171# authenticate. 204# authenticate.
172#auth_tries: 7 205#auth_tries: 7
173 206
207# The number of attempts to connect to a master before giving up.
208# Set this to -1 for unlimited attempts. This allows for a master to have
209# downtime and the minion to reconnect to it later when it comes back up.
210# In 'failover' mode, it is the number of attempts for each set of masters.
211# In this mode, it will cycle through the list of masters for each attempt.
212#
213# This is different than auth_tries because auth_tries attempts to
214# retry auth attempts with a single master. auth_tries is under the
215# assumption that you can connect to the master but not gain
216# authorization from it. master_tries will still cycle through all
217# the masters in a given try, so it is appropriate if you expect
218# occasional downtime from the master(s).
219#master_tries: 1
220
174# If authentication fails due to SaltReqTimeoutError during a ping_interval, 221# If authentication fails due to SaltReqTimeoutError during a ping_interval,
175# cause sub minion process to restart. 222# cause sub minion process to restart.
176#auth_safemode: False 223#auth_safemode: False
@@ -249,10 +296,17 @@
249# 296#
250# 297#
251# The loop_interval sets how long in seconds the minion will wait between 298# The loop_interval sets how long in seconds the minion will wait between
252# evaluating the scheduler and running cleanup tasks. This defaults to a 299# evaluating the scheduler and running cleanup tasks. This defaults to 1
253# sane 60 seconds, but if the minion scheduler needs to be evaluated more 300# second on the minion scheduler.
254# often lower this value 301#loop_interval: 1
255#loop_interval: 60 302
303# Some installations choose to start all job returns in a cache or a returner
304# and forgo sending the results back to a master. In this workflow, jobs
305# are most often executed with --async from the Salt CLI and then results
306# are evaluated by examining job caches on the minions or any configured returners.
307# WARNING: Setting this to False will **disable** returns back to the master.
308#pub_ret: True
309
256 310
257# The grains can be merged, instead of overridden, using this option. 311# The grains can be merged, instead of overridden, using this option.
258# This allows custom grains to defined different subvalues of a dictionary 312# This allows custom grains to defined different subvalues of a dictionary
@@ -286,6 +340,26 @@
286# is not enabled. 340# is not enabled.
287# grains_cache_expiration: 300 341# grains_cache_expiration: 300
288 342
343# Determines whether or not the salt minion should run scheduled mine updates.
344# Defaults to "True". Set to "False" to disable the scheduled mine updates
345# (this essentially just does not add the mine update function to the minion's
346# scheduler).
347#mine_enabled: True
348
349# Determines whether or not scheduled mine updates should be accompanied by a job
350# return for the job cache. Defaults to "False". Set to "True" to include job
351# returns in the job cache for mine updates.
352#mine_return_job: False
353
354# Example functions that can be run via the mine facility
355# NO mine functions are established by default.
356# Note these can be defined in the minion's pillar as well.
357#mine_functions:
358# test.ping: []
359# network.ip_addrs:
360# interface: eth0
361# cidr: '10.0.0.0/8'
362
289# Windows platforms lack posix IPC and must rely on slower TCP based inter- 363# Windows platforms lack posix IPC and must rely on slower TCP based inter-
290# process communications. Set ipc_mode to 'tcp' on such systems 364# process communications. Set ipc_mode to 'tcp' on such systems
291#ipc_mode: ipc 365#ipc_mode: ipc
@@ -319,16 +393,33 @@
319#include: 393#include:
320# - /etc/salt/extra_config 394# - /etc/salt/extra_config
321# - /etc/roles/webserver 395# - /etc/roles/webserver
396
397# The syndic minion can verify that it is talking to the correct master via the
398# key fingerprint of the higher-level master with the "syndic_finger" config.
399#syndic_finger: ''
322# 400#
323# 401#
324# 402#
325##### Minion module management ##### 403##### Minion module management #####
326########################################## 404##########################################
327# Disable specific modules. This allows the admin to limit the level of 405# Disable specific modules. This allows the admin to limit the level of
328# access the master has to the minion. 406# access the master has to the minion. The default here is the empty list,
329#disable_modules: [cmd,test] 407# below is an example of how this needs to be formatted in the config file
408#disable_modules:
409# - cmdmod
410# - test
330#disable_returners: [] 411#disable_returners: []
331# 412
413# This is the reverse of disable_modules. The default, like disable_modules, is the empty list,
414# but if this option is set to *anything* then *only* those modules will load.
415# Note that this is a very large hammer and it can be quite difficult to keep the minion working
416# the way you think it should since Salt uses many modules internally itself. At a bare minimum
417# you need the following enabled or else the minion won't start.
418#whitelist_modules:
419# - cmdmod
420# - test
421# - config
422
332# Modules can be loaded from arbitrary paths. This enables the easy deployment 423# Modules can be loaded from arbitrary paths. This enables the easy deployment
333# of third party modules. Modules for returners and minions can be loaded. 424# of third party modules. Modules for returners and minions can be loaded.
334# Specify a list of extra directories to search for minion modules and 425# Specify a list of extra directories to search for minion modules and
@@ -389,6 +480,15 @@
389# environments is to isolate via the top file. 480# environments is to isolate via the top file.
390#environment: None 481#environment: None
391# 482#
483# Isolates the pillar environment on the minion side. This functions the same
484# as the environment setting, but for pillar instead of states.
485#pillarenv: None
486#
487# Set this option to 'True' to force a 'KeyError' to be raised whenever an
488# attempt to retrieve a named value from pillar fails. When this option is set
489# to 'False', the failed attempt returns an empty string. Default is 'False'.
490#pillar_raise_on_missing: False
491#
392# If using the local file directory, then the state top file name needs to be 492# If using the local file directory, then the state top file name needs to be
393# defined, by default this is top.sls. 493# defined, by default this is top.sls.
394#state_top: top.sls 494#state_top: top.sls
@@ -448,6 +548,18 @@
448# base: 548# base:
449# - /srv/salt 549# - /srv/salt
450 550
551# Uncomment the line below if you do not want the file_server to follow
552# symlinks when walking the filesystem tree. This is set to True
553# by default. Currently this only applies to the default roots
554# fileserver_backend.
555#fileserver_followsymlinks: False
556#
557# Uncomment the line below if you do not want symlinks to be
558# treated as the files they are pointing to. By default this is set to
559# False. By uncommenting the line below, any detected symlink while listing
560# files on the Master will not be returned to the Minion.
561#fileserver_ignoresymlinks: True
562#
451# By default, the Salt fileserver recurses fully into all defined environments 563# By default, the Salt fileserver recurses fully into all defined environments
452# to attempt to find files. To limit this behavior so that the fileserver only 564# to attempt to find files. To limit this behavior so that the fileserver only
453# traverses directories with SLS files and special Salt directories like _modules, 565# traverses directories with SLS files and special Salt directories like _modules,
@@ -456,13 +568,19 @@
456# is False. 568# is False.
457#fileserver_limit_traversal: False 569#fileserver_limit_traversal: False
458 570
459# The hash_type is the hash to use when discovering the hash of a file in 571# The hash_type is the hash to use when discovering the hash of a file on
460# the local fileserver. The default is md5, but sha1, sha224, sha256, sha384 572# the local fileserver. The default is md5, but sha1, sha224, sha256, sha384
461# and sha512 are also supported. 573# and sha512 are also supported.
462# 574#
575# WARNING: While md5 and sha1 are also supported, do not use it due to the high chance
576# of possible collisions and thus security breach.
577#
578# WARNING: While md5 is also supported, do not use it due to the high chance
579# of possible collisions and thus security breach.
580#
463# Warning: Prior to changing this value, the minion should be stopped and all 581# Warning: Prior to changing this value, the minion should be stopped and all
464# Salt caches should be cleared. 582# Salt caches should be cleared.
465#hash_type: md5 583#hash_type: sha256
466 584
467# The Salt pillar is searched for locally if file_client is set to local. If 585# The Salt pillar is searched for locally if file_client is set to local. If
468# this is the case, and pillar data is defined, then the pillar_roots need to 586# this is the case, and pillar data is defined, then the pillar_roots need to
@@ -470,6 +588,10 @@
470#pillar_roots: 588#pillar_roots:
471# base: 589# base:
472# - /srv/pillar 590# - /srv/pillar
591
592# Set a hard-limit on the size of the files that can be pushed to the master.
593# It will be interpreted as megabytes. Default: 100
594#file_recv_max_size: 100
473# 595#
474# 596#
475###### Security settings ##### 597###### Security settings #####
@@ -508,7 +630,7 @@
508 630
509# Fingerprint of the master public key to validate the identity of your Salt master 631# Fingerprint of the master public key to validate the identity of your Salt master
510# before the initial key exchange. The master fingerprint can be found by running 632# before the initial key exchange. The master fingerprint can be found by running
511# "salt-key -F master" on the Salt master. 633# "salt-key -f master.pub" on the Salt master.
512#master_finger: '' 634#master_finger: ''
513 635
514 636
@@ -548,7 +670,7 @@
548# Default: 'warning' 670# Default: 'warning'
549#log_level_logfile: 671#log_level_logfile:
550 672
551# The date and time format used in log messages. Allowed date/time formating 673# The date and time format used in log messages. Allowed date/time formatting
552# can be seen here: http://docs.python.org/library/time.html#time.strftime 674# can be seen here: http://docs.python.org/library/time.html#time.strftime
553#log_datefmt: '%H:%M:%S' 675#log_datefmt: '%H:%M:%S'
554#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S' 676#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
@@ -570,7 +692,7 @@
570#log_fmt_console: '%(colorlevel)s %(colormsg)s' 692#log_fmt_console: '%(colorlevel)s %(colormsg)s'
571#log_fmt_console: '[%(levelname)-8s] %(message)s' 693#log_fmt_console: '[%(levelname)-8s] %(message)s'
572# 694#
573#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' 695#log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
574 696
575# This can be used to control logging levels more specificically. This 697# This can be used to control logging levels more specificically. This
576# example sets the main salt library at the 'warning' level, but sets 698# example sets the main salt library at the 'warning' level, but sets
diff --git a/meta-openstack/recipes-support/salt/files/salt-common.logrotate b/meta-openstack/recipes-support/salt/files/salt-common.logrotate
index dcfd268..3cd0023 100644
--- a/meta-openstack/recipes-support/salt/files/salt-common.logrotate
+++ b/meta-openstack/recipes-support/salt/files/salt-common.logrotate
@@ -1,7 +1,20 @@
1/var/log/salt/master 1/var/log/salt/master {
2/var/log/salt/minion 2 weekly
3/var/log/salt/*.log 3 missingok
4{ 4 rotate 7
5 compress
6 notifempty
7}
8
9/var/log/salt/minion {
10 weekly
11 missingok
12 rotate 7
13 compress
14 notifempty
15}
16
17/var/log/salt/key {
5 weekly 18 weekly
6 missingok 19 missingok
7 rotate 7 20 rotate 7
diff --git a/meta-openstack/recipes-support/salt/salt_2016.3.0.bb b/meta-openstack/recipes-support/salt/salt_2016.11.0.bb
index 7024f42..ba1def7 100644
--- a/meta-openstack/recipes-support/salt/salt_2016.3.0.bb
+++ b/meta-openstack/recipes-support/salt/salt_2016.11.0.bb
@@ -28,8 +28,8 @@ SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME
28 file://roster \ 28 file://roster \
29" 29"
30 30
31SRC_URI[md5sum] = "8ed82cfb3f9b1764a035edbdacf0fea9" 31SRC_URI[md5sum] = "eced07a652cc6a31870fc098d5325a9c"
32SRC_URI[sha256sum] = "e316dd103b7faeaa97820197e4d0d7d358519f0ca2a6dcb1d9b718eea801ed30" 32SRC_URI[sha256sum] = "b516285926ee95cedc64ecddab05d14422b7c8819c9f6d046a431c41d608e6bc"
33 33
34S = "${WORKDIR}/${SRCNAME}-${PV}" 34S = "${WORKDIR}/${SRCNAME}-${PV}"
35 35