* disable current at module on solaris, only compute job_kw_regtex once
* provide at_solaris (virtual=at) for Solaris-like systems
* add proper maintainer header
* forgot to update the docs again
* add notice that at module only works on linux, openbsd, and freebsd
* salt.states.at needed a lot of love
* update at_state checks to pass valid date to at.at, at.jobcheck, at.atrm,...
* today I learn about mod_watch, and I want it for at
* Added "none" option for pillar_source_merging_strategy
* added none to merging strategy in dictupdate so we no longer log warnings when it is selected
* Updated documentation
* fix for when pillar_source_merging_strategy is not set
* Fix looking up pillar data when merging is set to "none" and no saltenv was passed
* Fix looking up pillar data when merging is set to "none" and no saltenv was passed retry
* Let's not break when no merging strategy is passed
* Capitalisation
* Update on doc
These were copypasta'ed from gitfs' blacklist/whitelist example, but
they aren't as apropos here because the blacklist/whitelist for minionfs
is meant to refer to minion IDs, not branches/tags like in gitfs.
This outputter was originally introduced in the 2014.7 branch, but
quickly regressed and never worked in a released version of Salt. Since
then, its existence has caused much confusion. In addition, this
outputter actually was supposed to accomplish the same thing as setting
"state_verbose" to False. Therefore, it doesn't make sense to maintain
two outputters (this one and the highstate outputter).
Fixes#18614
Top file merging does not work as described in the docs, this is being
corrected for the Carbon release. This commit fixes the docs so that
they A) are accurate for these older release branches, and B) refer to
the Carbon release as a point when top file merging was corrected.
These references to the Carbon release will need to be updated again
once we settle on a version number for Carbon.
This driver has been marked for deprecation and removal in Carbon.
Release notes were updated accordingly.
Users will need to use the vmware cloud driver instead.
Docs should stick to the terms "required" vs. "dependent", where required means the state that has to happen first, and dependent means the state that relies on the required state.
The master config 'event_return' can now take a list
of returners which will each be called in turn. It
continues to function with the previous configuration
format of a single item.
* Remove :members: from fileserver docs pages
These functions can never be invoked directly from the CLI, so it is
pointless to include them in the documentation.
* Rename section
* Add docs page clarifying how to get files from different environments
* Add reminder that file_roots can be specified for masterless salt
* Link to the new environments page from the states tutorial
* Add information on pulling reactor configs from non-base environments
* Add examples of querystring syntax to cp module
* Add top file config params to minion config file documentation
* Improve documentation on top file merging behavior
* Add recommendation on changing top_file_merging_strategy
* Improve the log message warning of multiple top files
Removes the "Full list of builtin ..." from each module reference list, leaving just the module type for scanability.
Refs #12470
Refs #10206
Refs #10480
Refs #23522
Refs #33023
* Fix master hanging after a request from minion with removed key. (#33333)
* ZMQ monitor for MWorker connections.
* Reauth minion if the key was removed on the master side.
* Allow concurrency mode in state runs if using sudo (#33325)
Closes#30130
* Disambiguate non-exact matches when checking if sysv service is enabled (#33324)
Fixes#33323
* remove redundant, incorrect sudo_runas config documentation (#33318)
* remove sudo_runas documentation
`sudo_runas` was renamed to `sudo_user` and the documentation was not
updated accordingly.
* conf/minion: update sudo_user description
The description from sudo_runas was better.
* import ps from psutil_compat in beacons (#33334)
* beacons.network_info: import gate psutil
* beacons.ps: import gate psutil
* Add docs for mine_functions config var (#33326)
* Add docs for mine_functions config var
* Note that mine_enabled essentially just doesn't add the mine
update function to the scheduler.
* Bp 28467 calm mine (#33327)
* make minion mine update behavior more configurable
* Add docs for mine_functions config var
* Remove config dup from mine config options
Refs #28467
* 2015.8 does not have _DFLT_MULTIPROCESSING_MODE
* This won't be in until 2015.8.10.
* Fix network.managed for windows (#33312)
* Fix some link errors in the test writing tutorial (#33347)
* Describes parameters in register_instances function (#33339)
* Fix UnboundLocalError in git.latest (#33340)
Resolves#32260.
* Expanded documentation for boto_elb state and module (#33341)
* Describes what happens when the CNAME parameter is given.
* Describes what the recognized attributes are for for ELBs.
* Properly detect newer Linux Mint distros (#33359)
* Properly detect newer Linux Mint distros
LMDE 2 and Linux Mint 17.3 changed the DISTRIB_ID in /etc/lsb-release to
``LinuxMint``, breaking OS detection for these distros.
This commit fixes that by adding an entry to the OS_NAME_MAP in the core
grains.
* Remove LinuxMint os_family from aptpkg.py
It is no longer necessary as the distro is now detected properly, which
will lead to an os_family of Debian.
* Update job_cache and keep_jobs docs to be more specific to their behavior (#33328)
* Update job_cache and keep_jobs docs to be more specific to their behavior
Also fixed a bug discovered when investigating job_cache/keep_jobs functionality
where the jid directory and files were removed by the cache cleaner, but not the
original jid clash detection directory created in /var/cache/salt/master/jobs/.
Fixes#29286
* Add testcase for the changes in the local_cache.clean_old_jobs func
* Mark tests as destructive
* Put destructive test decorator in correct location
* Remove mentions of windows not supporting pkgs param (#33361)
Fixes#33313
* Updates docs version to 2015.8.9
Adds note regarding the os grain on Mint Linux
Adds an FAQ regarding grains that change due to upstream changes
* revved 2015.8 branch to .9 in version selector
* Add initscripts, SystemD service units and environment files for Debian (#32857)
* Add note to docs about api settings for Hipchat API v2 (#33365)
Fixes#27779
* Add win_pkg to list of modules that support "version" in pkg.installed (#33362)
Fixes#32913
* Add note about name parameter in git_pillar docs (#33369)
Fixes#27737
* Better YAML syntax error handling (#33375)
Closes#26574
* Improve doc clarity for disable_modules documentation (#33379)
* Improve doc clarity for disable_modules documentation
* Additional clarification on blacklisted name
* maintain the fallabck because I am totally sick of this crap
* blast, put the try/except int he right place
* restore whitespace
* Fix traceback in logging for config validation (#33386)
* 2015.8.10 release notes
* Sync pillarstack to latest upstream version (#33391)
* Don't lay down all available opts (#33385)
* Don't lay down all available opts
* We need at least one opt in there
* Condense defaults
* Put the default hash type back
* Update job_cache and keep_jobs docs to be more specific to their behavior
Also fixed a bug discovered when investigating job_cache/keep_jobs functionality
where the jid directory and files were removed by the cache cleaner, but not the
original jid clash detection directory created in /var/cache/salt/master/jobs/.
Fixes#29286
* Add testcase for the changes in the local_cache.clean_old_jobs func
* Mark tests as destructive
* Put destructive test decorator in correct location
* make minion mine update behavior more configurable
* Add docs for mine_functions config var
* Remove config dup from mine config options
Refs #28467
* 2015.8 does not have _DFLT_MULTIPROCESSING_MODE
* This won't be in until 2015.8.10.
* remove sudo_runas documentation
`sudo_runas` was renamed to `sudo_user` and the documentation was not
updated accordingly.
* conf/minion: update sudo_user description
The description from sudo_runas was better.
Docs were added for:
- master_tries
- mine_enabled
- mine_return_job
- syndic_failover
- auth_tries: this is an old setting, but docs were not found
in the minion.rst docs. This change should be added to older branches.
* Add Support for CSF
* Add Support for APF
* add new apf module to docs
* add blank line to match salt lint rules
* adding deny/remove host functions
* using python instead of bash while finding out if APF is running
* add error handling if iptc is missing
* remove trailing space
* PSGet module for managing powershellgallery.com packages
* Linting fixes
* Converted docstrings to sphinx format
* Update LF
* Added servicenow execution module
* Fixed up the linting
* Fix docstrings
* arbitrary change to reset the build
* Setup basic unit test runner
* Setup basic loader mock and wrapper for declaring dependent packages
* Updated unit test runner and setup my first test example
* Update the servicenow module after a bad merge commit
* Code comments for the base unit test runners
* Fix linting issues
* remove empty line endings
* Added Cisco NSO Proxy for PR review
* Added RST for autodoc of new module
* Fix from comments in PR review @rallytime
* Added execution module for NSO proxy
* Revert "Merge branch 'unittest' into cisco_nso"
This reverts commit b93c0aa6913fb90d35d8cbe94533160c91dcef1a, reversing
changes made to cd50386031d61cdb630f7ef169062be8b3de6912.
* Added state for check config present
* Added autodoc for new modules
* fix lint issues
* Do a diff on the values
* Fix linting issues
* Remove FileClient class references from docs - it doesn't exist.
Replace FileClient class references with mentions of the fileclient.py
module and replace code examples with salt.fileclient.get_file_client
examples.
Fixes#32646
* Don't reference minion import when not used
* json encode arguments passed to an execution module function call
this fixes problems where you could pass a string to a module function,
which thanks to the yaml decoder which is used when parsing command line
arguments could change its type entirely. for example:
__salt__['test.echo')('{foo: bar}')
the test.echo function just returns the argument it's given. however,
because it's being called through a salt-call process like this:
salt-call --local test.echo {foo: bar}
salt thinks it's yaml and therefore yaml decodes it. the return value
from the test.echo call above is therefore a dict, not a string.
* Prevent crash if pygit2 package is requesting re-compilation of the e… (#32652)
* Prevent crash if pygit2 package is requesting re-compilation of the entire library on production systems (no *devel packages)
* Fix PEP8: move imports to the top of the file
* Move logger up
* Add log error message in case if exception is not an ImportError
* align OS grains from older SLES with current one (#32649)
* Fixing critical bug to remove only the specified Host instead of the entire Host cluster (#32640)
* yumpkg: Ignore epoch in version comparison for explict versions without an epoch (#32563)
* yumpkg: Ignore epoch in version comparison for explict versions without an epoch
Also properly handle comparisions for packages with multiple versions.
Resolves#32229
* Don't attempt downgrade for kernel and its subpackages
Multiple versions are supported since their paths do not conflict.
* Lower log level for pillar cache (#32655)
This shouldn't show up on salt-call runs
* Don't access deprecated Exception.message attribute. (#32556)
* Don't access deprecated Exception.message attribute.
To avoid a deprecation warning message in logs.
There is a new function salt.exceptions.get_error_message(e) instead.
* Fixed module docs test.
* Fix for issue 32523 (#32672)
* Fix routes for redhat < 6
* Handle a couple of arguments better (Azure) (#32683)
* backporting a fix from develop where the use of splay would result in seconds=0 in the schedule.list when there was no seconds specified in the origina schedule
* Handle when beacon not configured and we try to enable/disable them (#32692)
* Handle the situation when the beacon is not configured and we try to disable it
* a couple more missing returns in the enable & disable
* Check dependencies type before appling str operations (#32693)
* Update external auth documentation to list supported matcher. (#32733)
Thanks to #31598, all matchers are supported for eauth configuration.
But we still have no way to use compound matchers in eauth configuration.
Update the documentation to explicitly express this limitation.
* modules.win_dacl: consistent case of dacl constants (#32720)
* Document pillar cache options (#32643)
* Add note about Pillar data cache requirement for Pillar targeting method
* Add `saltutil.refresh_pillar` function to the scheduled Minion jobs
* Minor fixes in docs
* Add note about relations between `pillar_cache` option and Pillar Targeting
to Master config comments with small reformatting
* Document Pillar Cache Options for Salt Master
* Document Minions Targeting with Mine
* Remove `saltutil.refresh_pillar` scheduled persistent job
* Properly handle minion failback failure. (#32749)
* Properly handle minion failback failure.
Initiate minion restart if all masters down on __master_disconnect like
minion does on the initial master connect on start.
* Fixed unit test
* Improve documentation on pygit2 versions (#32779)
This adds an explanation of the python-cffi dep added in pygit2 0.21.0,
and recommends 0.20.3 for LTS distros. It also links to the salt-pack
issue which tracks the progress of adding pygit2 to our Debian and
Ubuntu repositories.
* Pylint fix
* Add note about Pillar data cache requirement for Pillar targeting method
* Add `saltutil.refresh_pillar` function to the scheduled Minion jobs
* Minor fixes in docs
* Add note about relations between `pillar_cache` option and Pillar Targeting
to Master config comments with small reformatting
* Document Pillar Cache Options for Salt Master
* Document Minions Targeting with Mine
* Remove `saltutil.refresh_pillar` scheduled persistent job
Also added the loop_interval docs to minion.rst and corrected
the default documented (this value is 1 second for the minion
schedule maintenance process, not 60 seconds - the master is 60).
* Ensure rh_service not used on CloudLinux 7
Add CloudLinux to RHEL-derived distros excluded from rh_service use in osrelease >= 7
* Fix binary search and replace (#32542)
* Don't return None from eval_master (#32555)
Raise an exception instead. Because eval master if returns should return
a tuple.
* redact passwords and hashes from user.present updates
Fixes#32381
* Better log message on minion restart if master couldn't be reached. (#32576)
* Revert PR #32480 and apply #32314 with fixes / documentation (#32558)
* Revert "Fix loop in maint.flo"
This reverts commit 5196cd6a6e5db3c7b1a47b1740881bbd3e87ea3d.
* Revert "Clear VCS fsbackend and git_pillar locks on master start"
This reverts commit 7e3caa9bae1ac4de62db9924374e35a8b826937e.
* Revert "Add functions to remove VCS fsbackend update locks and git_pillar update/checkout locks"
This reverts commit 4c2db32419022501eae2a695ec488693e043d189.
* prevent eternal gitfs lock due to process crash
* Use salt.utils.fopen() instead of open()
* Make pid locking work for more than just gitfs
Also, make logging more descriptive, to aid in troubleshooting.
* Add git_pillar_global_lock config option default value
* Document proper usage of {gitfs,git_pillar}_global_lock
* Fix comments value in salt.states.pkgrepo example (#32604)
'comments' option adds '#' automatically. Example contains `#http://mirror.centos.org/centos/$releasever/os/$basearch/` string which becomes prefixed with '##' in generated file.
* alphabetize directories for dynamic modules (#32599)
Also add engines and proxy minions to the list.
* Expand on the open-source vs open-core FAQ
* Language clarification.
* Fix some mistakes in the salt-ssh thin shell script (#32583)
* [[ is bash, not compatible with /bin/sh
* check if python command exists before calling it
* Deprecate 'user' and 'group' in state cmd (#32613)
* Remove unused 'group' argument
* Fix unit testing of cmd.mod_run_check without group arg
* Deprecate 'user/group' in cmd.run
* Deprecate 'user'/'group' in cmd.script
* Deprecate 'user' in cmd.wait
* Deprecate 'user'/'group' in cmd.wait_script
* Fix mod_run_check without 'group'
* Push deprecation back one release
* Fix mac_service and mac_system modules (#32587)
* Fix mac_service module
* Add integration tests for new functions
* Start will not enable the service beforehand
* Remove unused variables
* Revert "Fix loop in maint.flo"
This reverts commit 5196cd6a6e5db3c7b1a47b1740881bbd3e87ea3d.
* Revert "Clear VCS fsbackend and git_pillar locks on master start"
This reverts commit 7e3caa9bae1ac4de62db9924374e35a8b826937e.
* Revert "Add functions to remove VCS fsbackend update locks and git_pillar update/checkout locks"
This reverts commit 4c2db32419022501eae2a695ec488693e043d189.
* prevent eternal gitfs lock due to process crash
* Use salt.utils.fopen() instead of open()
* Make pid locking work for more than just gitfs
Also, make logging more descriptive, to aid in troubleshooting.
* Add git_pillar_global_lock config option default value
* Document proper usage of {gitfs,git_pillar}_global_lock
* fix sorting by latest version when called with an attribute
* remove reference to master_alive_check
* Fixes saltstack/salt#28262
* Resolve memory leak in authentication
* outputter virt_list does not exist anymore
* Update proxmox documentation
* Fix documentation on boto_asg and boto_elb modules and states
* modules.win_timezone: don't list all zones in debug log
* Correcty index glusterfs bricks
Fixes issue #32311
* Cleaner deprecation process with decorators
* Add deprecation decorator scaffold
* Capture type error and unhandled exceptions while function calls
* Aware of the current and future version of deprecation
* Implement initially is_deprecated decorator
* Add an alias for the capitalization
* Fix capitalization easier way
* Remove an extra line
* Add successor name to the deprecation decorator.
* Granulate logging and error messages.
* Implement function swapper
* Raise later the caught exception
* Clarify exception message
* Save function original name
* Remove an extra line
* Hide an alternative hidden function name in the error message, preserving the error itself
* Rename variable as private
* Add a method to detect if a function is using its previous version
* Message to the log and/or raise an exception accordingly to the status of used function
* Log an error along with the exception
* Add internal method documentation
* Add documentation and usage process for decorator "is_deprecated"
* Add documentation and process usage for the decorator "with_deprecated"
* Hide private method name
* Fix PEP8, re-word the error message
* Deprecate basic uptime function
* Add initial decorator unit test
* Rename old/new functions, mock versions
* Move frequent data to the test setup
* Add logging on EOL exception
* Rename and document high to low version test on is_deprecated
* Implement a test on low to high version of is_deprecated decorator
* Add a correction to the test description
* Remove a dead code
* Implement a test for high to low version on is_deprecated, using with_successor param
* Correct typso adn mistaeks
* Implement high to low version with successor param on is_deprecated
* Setup a virtual name for the module
* Implement test for with_deprecated should raise an exception if same deprecated function not found
* Implement test for with_deprecated an old function is picked up if configured
* Correct test description purpose
* Implement test with_deprecated when no deprecation is requested
* Add logging test to the configured deprecation request
* Add logging testing when deprecated version wasn't requested
* Implement test EOL for with_deprecated decorator
* Correct test explanation
* Rename the test
* Implement with_deprecated no EOL, deprecated other function name
* Implement with_deprecated, deprecated other function name, EOL reached
* Add test description for the with_deprecated + with_name + EOL
* Fix confusing test names
* Add logging test to the is_deprecated decorator when function as not found.
* Add more test point to each test, remove empty lines
* Bugfix: at certain conditions a wrong alias name is reported to the log
* Fix a typo in a comment
* Add test for the logging
* Disable a pylint: None will _never_ be raised
* Fix test for the deprecated "status.uptime" version
* Bugfix: Do not yank raised exceptions
* Remove unnecessary decorator
* Add test for the new uptime
* Add test for the new uptime fails when /proc/uptime does not exists
* Rename old test case
* Skip test for the UTC time, unless freeze time is used.
* Fix pylint
* Fix documentation
* Bugfix: proxy-pass the docstring of the decorated function
* Lint fix
* Fixessaltstack/salt#28262 for 2015.5 branch
* Update master config docs
* Improve git_pillar documentation/logging
* Add note about different behavior of top file in git_pillar
* Make log entry for a missing pillar SLS file more accurate for git_pillar
* FreeBSD supports packages in format java/openjdk7 so the prior commit broke that functionality. Check freebsd/pkg#1409 for more info.
* FreeBSD supports packages in format java/openjdk7 so the prior commit broke that functionality. Check freebsd/pkg#1409 for more info.
* Update glusterfs_test to be inline with #32312
* Fix salt-cloud paralell provisioning
Closes#31632
* Ignore Raspbian in service.py __virtual__ (#32421)
* Ignore Raspbian in service.py __virtual__
This prevents more than one execution module from trying to load as the
service virtual module.
Refs: #32413
* pack __salt__ before loading provider overrides
We can (and should) pack here since we're just packing a reference to the
object. __salt__ needs to be available when we're loading our provider
overrides
* Fix broken __salt__ dict in provider override
Using ret.items() here sets ``__salt__`` to its items (tuple containing
function name and reference), breaking usage of ``__salt__`` inside
overridden functions.
* Merge #32293 with test fixes (#32418)
* Fix issue #11497
* Remove check for working directory presence in tests
* Fix Domainname introspection
Default value needs to be extracted from the container itself,
because dockerd set Domainname value when network_mode=host.
* Add pgjsonb_queue to queue doc index
* Pylint fixes
* Pass parser options into batch mode
Resolves#31738
* Changed the target file in file.symlink test (#32443)
* Argument name in docs should match actual arg name (#32445)
Fixes#31851
* tests.integration: bypass MacOS TMPDIR, gettempdir (#32447)
Updates 0edd532, 8f558a5.
When logging in as root over `ssh root@host`, `$TMPDIR` and
`tempfile.gettempdir()` are both set to a variation of:
```
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/
```
When logging in as root over `sudo -i`, `$TMPDIR` is unset and
`tempfile.gettempdir()` is set to `/tmp`.
My guess is that the second case is an unintended or uncorrected omision
by Apple as they have introduced the longer, randomized temp path in a
recent version of MacOS.
* Issue #28706: Fix state user.present behavior. (#32448)
- As mentionned in issue #28706, state user.present no longer remove
user from groups if the keyword 'groups' with empty value '[]' is not
explicitly set, salt will assume current groups are still wanted.
* tests.integration: fix 4230c8a
* Move the tables of virtual modules to individual documentation pages
* Add new doc pages to toctree
* Add external ref to windows package manager docs
* Improve docstrings
* Add documentation on virtual module provider overrides to the module docs
* Clarify the scope of the provider param in states.
* Add link to provider override docs to all package providers
* Add link to provider override docs to all service providers
* Add link to provider override docs to all user providers
* dd link to provider override docs to all shadow providers
* Add link to provider override docs to all group providers
* Backport 31164 and 31364 (#32474)
* Don't send REQ while another one is waiting for response.
The message has to be removed from the queue the only *after* it's
already processed to don't confuse send() functionality that expects
empty queue means: there's no active sendings.
* Fixed zeromq ReqMessageClient destroy
* Add link to provider override docs to opkg.py
This is a companion to https://github.com/saltstack/salt/pull/32458, but
this module was not added until the 2016.3 branch, so the documentation
is being updated there for this module.
* Add documentation for some master/minion configs (#32454)
Refs #32400
Adds docs for:
- cli_summary
- event_return_queue
- event_return_whitelist
- event_return_blacklist
- file_recv_max_size
- fileserver_followsymlinks
- fileserver_ignoresymlinks
- fileserver_limit_traversal
* Automatically detect correct MySQL password column for 5.7 and fix setting passwords (#32440)
* Automatically detect MySQL password column
* Fix changing password in MySQL 5.7
* Fix lint test
* Fix unit tests (?)
They will still fail if "authentication_string" is legitimately the right column name, but I don't know what to do about that.
* Additional unit test fix
* Only unsub if we have a jid
Closes#32479