Commit Graph

7202 Commits

Author SHA1 Message Date
Megan Wilhite
d48b2b8b52 test pillar.items output (#33060) 2016-05-05 06:51:27 -07:00
Justin Findlay
a78bbd0544 Update mac_assistive module for El Capitan (10.11) (#33047)
* modules.mac_assistive int tests: wrap args in list

* modules.mac_assistive.install: match schema on El Capitan

* modules.mac_assistive: remove redundant LooseVersion

* modules.mac_assistive unit tests: mock __grains__
2016-05-04 15:34:03 -06:00
Megan Wilhite
f8757631b2 Saltfile with pillar tests (#33045)
* add file.managed with pillar data tests

* do not require git for other tests
2016-05-04 14:37:57 -06:00
Justin Findlay
186352a8b8 fix dimensiondata, gce unit test certs on MacOS (#33020) 2016-05-04 09:09:02 -07:00
Justin Anderson
28ba98c613 Skip some tests related to #32902 (#32995) 2016-05-03 08:55:23 -07:00
rallytime
16c9ce70ad Merge branch '2016.3' into 'develop'
No conflicts.
2016-05-02 12:58:24 -06:00
rallytime
c12b9a5094 Merge branch '2015.8' into '2016.3'
No conflicts.
2016-05-02 10:50:27 -06:00
Justin Anderson
00fbeaba5f Fix boto_secgroup_test (#32986) 2016-05-02 10:46:19 -06:00
Jεan Sacren
ad3b8b5b3d Add integration test for gentoolkit module (#32977) 2016-05-02 08:27:09 -07:00
Anthony Shaw
af7593ae53 Introduce a lightweight unit test runner for execution modules (#32792)
* Added servicenow execution module

* Fixed up the linting

* Fix docstrings

* 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
2016-04-29 13:36:17 -07:00
Justin Findlay
cc854f1464 update pip state and integration tests for newer pip versions (#32905)
* modules.virtualenv_mod: use correct pip bootstrap url

* modules.pip: raise error on mirrors arg

* states.pip: run mirrors test on < 7.0.0

* update pip integration test states to not use mirrors

* modules.pip: run mirrors tests on pip < 7.0.0
2016-04-29 10:49:29 -07:00
Nicolas Delaby
87b70186c3 When move a function to a new namespace, allow to keep original context. (#32943) 2016-04-29 10:48:20 -07:00
Megan Wilhite
c57a2b8f3b Fix user present tests (#32895)
* fix user present tests for mac

* add setup and teardown methods

* add destructive and root decorators

* forgot teardown decorators

* fix pylint
2016-04-29 10:40:54 -06:00
rallytime
5952e3e300 Merge branch '2016.3' into 'develop'
Conflicts:
  - salt/modules/mac_brew.py
  - salt/states/archive.py
2016-04-28 15:35:34 -06:00
Justin Anderson
fa7e32afcc Fixing failures in gce_test and dimensiondata_test (#32921)
* Fixing failures in gce_test and dimensiondata_test

* Fixed lint
2016-04-28 14:15:22 -06:00
Bo Maryniuk
c55b0fab58 Test DOM parsing 2016-04-27 15:43:35 +02:00
Bo Maryniuk
c54e928e4f Add exception handling test 2016-04-27 15:43:17 +02:00
Bo Maryniuk
6a98f523ac Add Zypper caller test suite 2016-04-27 15:21:00 +02:00
Bo Maryniuk
7e1712dd80 Fix tests according to the new calling model 2016-04-27 14:35:22 +02:00
Bo Maryniuk
3a30b7fbcd Remove an obsolete test case 2016-04-27 14:34:54 +02:00
Bo Maryniuk
6e5877a2ee Add Zypper Call mock 2016-04-27 14:34:31 +02:00
Ch3LL
3520d496ba add /Users directory for mac minion in user present test 2016-04-26 15:32:11 -06:00
rallytime
cbf42a8407 Merge branch '2016.3' into 'develop'
Conflicts:
  - conf/master
  - doc/ref/configuration/master.rst
  - salt/cli/batch.py
  - salt/cli/daemons.py
  - salt/config/__init__.py
  - salt/minion.py
  - salt/modules/aptpkg.py
  - salt/modules/beacons.py
  - salt/states/archive.py
  - salt/states/cmd.py
  - salt/utils/gitfs.py
  - tests/unit/states/cmd_test.py
2016-04-26 14:42:26 -06:00
rallytime
80fcdfb9d8 Merge branch '2015.8' into '2016.3'
Conflicts:
  - doc/topics/targeting/grains.rst
  - salt/cli/daemons.py
  - salt/exceptions.py
  - salt/minion.py
  - salt/modules/schedule.py
  - salt/scripts.py
  - salt/states/archive.py
2016-04-26 12:07:42 -06:00
Nicole Thomas
02c681311f Merge pull request #32844 from rallytime/merge-2015.8
[2015.8] Merge forward from 2015.5 to 2015.8
2016-04-26 11:38:08 -06:00
Damon Atkins
cf4826aad4 Windows Registry Unicode Support and PY2 character encoding (module.reg) (#32835)
* reg.py
* Start at PY3 support, however not tested against PY3
* Change to Unicode including from __future__ import unicode_literals
* If PY2 converts all parameter input unicode to local encoding i.e. Unicode to String
* If PY3 stays as Unicode as PY3 uses Windows Wide Char
* Supports non-asiic characters i.e. > 126
* All output is Unicode, before most of it was Unicode output
* Added a safty check to recursive delete to try and prevent a mistake like removing all of SOFTWARE
* Fixed all the pylint errors
* add _ prefix to internal functions
* Provided unit test see reg_win_test.py
reg_win_test.py
* All tests currently make real changes to the registry
* All changes are performed under SOFTWARE\SaltStackTest under HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER
* Their is still room for more tests to be developed
* Test target the new Unicode features of reg.py e.g. Copyright, Tradmark and Register characters
* General the values set in the registy contain date/time and then checked that they are the current date/time to make sure they are not left over from old tests

* Update test unit to only run the tests on windows.
Removed some code which was commented out which is not required

* chmod 644 tests/unit/modules/reg_win_test.py
2016-04-26 11:07:04 -06:00
Justin Findlay
5a4398a746 netapi.rest_cherrypy: use unsalted PW on MacOS (#32850) 2016-04-26 11:04:25 -06:00
Nicole Thomas
eb8fb6b9df Back-port #31139 to 2015.8 (#32868)
* Evaluate %h and %u before deciding if the ssh config path is absolute

Since %h is the user's home directory, it's not very useful unless it
appears at the beginning of the path.  However, putting it at the
beginning of the path does not have the expected effect: %h/.ssh
will become /home/someuser/home/someuser/.ssh, since "%h/.ssh" is
identified by Python as a non-absolute path, causing the user's
home directory to be tacked on the front.

* Improved ssh_auth path expansion test
2016-04-26 10:44:01 -06:00
rallytime
1fc9de1d04 Add 'file.source_list' mock to archive state unit tests 2016-04-26 10:39:43 -06:00
Justin Findlay
aac1ae35c5 fix some shell tests for MacOS (#32852)
* auth.pam int test: use unhashed pw for MacOS

* shell tests: strip whitespace from shell return

Similar to 2f1c0cf.

* modules.mac_user.delete: update example for int test

integration.shell.call.CallTest.test_user_delete_kw_output expects this
exact string to be in the doc for user.delete:
```
salt '*' user.delete name remove=True force=True
```
2016-04-26 09:47:35 -06:00
rallytime
9064d3bbfb Merge branch '2015.5' into '2015.8'
Conflicts:
  - salt/cloud/clouds/vmware.py
  - salt/modules/file.py
  - salt/states/archive.py
2016-04-25 15:45:17 -06:00
Nicole Thomas
f9ffcb697a [2016.3] Merge forward from 2015.8 to 2016.3 (#32784)
* 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
2016-04-25 15:26:09 -06:00
Andrew Hammond
06b7b4fe52 file.retention_schedule state (#32800) 2016-04-25 15:21:13 -06:00
Knut Auvor Grythe
478856815c Support unicode in all GECOS fields on FreeBSD (#32794)
* Support unicode in all GECOS fields on FreeBSD

* Revert erroneous change

* Add unit tests
2016-04-25 15:19:13 -06:00
Justin Findlay
4e87700e8c tests.runtests: make test suite args consistent (#32808) 2016-04-25 14:57:33 -06:00
Alejandro Bednarik
5b59840373 Rsync synchronized updates. (#32739)
Aadded --dry-run option which is also used for test mode
taking adventage of this option in rsync.

Update state documentation to follow Salt standards

Finally synchronized was not working, See #32478. Changes cmd.run to cmd.run_all make this works.
Tests updated
2016-04-25 10:54:33 -06:00
Alejandro Bednarik
af64c95593 Append failed cmd in comments. (#32651)
When onlyif fail, append the message to comment so we know which command
is failing. Only in a list context.

Fixes #32575.
2016-04-22 12:54:58 -06:00
Carlos Perelló Marín
9d028262f4 Server Density agentv2 support (#32772)
* Added support for the agentv2

* Updated os field to match the SD API requirement

* filename is an absolute path on official installations

* Install script URL uses a redirect now, so we should instruct curl to follow them

* Added a missing import

* Updated the settings for the v2 agent

* Fixed pep8 issues

* select v2 agent for the test
2016-04-22 12:50:03 -06:00
rallytime
ce72851861 Merge branch '2014.7' into '2015.5'
Conflicts:
  - salt/netapi/rest_tornado/__init__.py
  - salt/netapi/rest_tornado/saltnado.py
2016-04-22 10:24:06 -06:00
Kai Howelmeyer
20c2cf176b Add max_depth parameter to file.directory, fixes #31989 (#32463) 2016-04-22 10:11:58 -06:00
Seth House
2775edc176 Saltnado /run fix (#32590)
* Revert "Verify auth in saltnado run (#32552)"

This reverts commit b19c5a5ce7.

* Call runner.cmd_async instead to enforce eauth

* Check for both token or user/pass before giving to Salt

* Remove comment as we're now enforcing auth here

* Lint and functionality fix courtesy of Mike P.

* Don't fail the whole request if there's an eauth problem
2016-04-22 10:10:47 -06:00
Dmitry Kuzmenko
1d6d234417 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
2016-04-22 09:15:55 -06:00
Erik Johnson
67d0c81184 Support remote sources in a source list (#32691)
* Support remote sources in a source list

This commit modifies the source_list check so that remote sources
(http(s), ftp, etc.) are not fetched more than once. To do so, it
adds the use of ``__context__`` in ``cp.cache_file`` and
``file.source_list`` to prevent multiple fetches of a single file in the
same salt run.

* Update tests

Added __context__ to test cases to reflect usage of __context__, and
also added file.source_list to mocked funcs for archive.extracted unit
test.
2016-04-21 08:37:38 -06:00
Eric Radman
84b740e26d Skip utils_test if timelib is not installed (#32699)
date_cast() throws a RuntimeError, not an ImportError
2016-04-20 14:01:21 -06:00
Anthony Shaw
1183106e75 Fix line endings 2016-04-20 01:32:49 +10:00
Anthony Shaw
d2abe56a20 Added some unit tests for GCE and Dimension Data modules 2016-04-19 08:18:25 +10:00
Justin Anderson
f6861768f4 Skipping boto test on OpenSuse (#32624) 2016-04-18 09:57:51 -06:00
Knut Auvor Grythe
d432e4b990 Add support for unicode in all GECOS fields (#32630)
* Add support for unicode in all GECOS fields

* Stop exposing sdecode from salt.modules.useradd

* Slight rephrase of comment

* Fix lint errors
2016-04-18 08:56:40 -06:00
Nicole Thomas
9942ea9319 [develop] Merge forward from 2016.3 to develop (#32636)
* 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
2016-04-18 08:40:20 -06:00
Shane Lee
97111bdc9b 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
2016-04-15 15:49:44 -06:00
ksvasan
c90bcfe1db Enable blocking on min_party until minimum set of nodes are available (#32592)
* Enable blocking on min_party until minimum set of nodes are available

* Fix the comment in min_party for salt-pr-lint-n

* Add test cases to the min_party method

* Fix the lint issues causing build failure

* Change the comment for test_min_party

* CR comments for modules/zk_concurrency.py

* Adding more examples for blocking/min_nodes

* Change the comment formatting

* Removing space at end of line

* Comments changes to rebuild
2016-04-15 13:35:29 -06:00
Ronald van Zantvoort
c25dffe7a9 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
2016-04-15 13:30:56 -06:00
rallytime
efe3ec82da Merge branch '2016.3' into 'develop'
Conflicts:
  - doc/ref/configuration/master.rst
  - salt/modules/glusterfs.py
  - salt/modules/service.py
  - tests/unit/modules/glusterfs_test.py
2016-04-13 16:10:33 -06:00
rallytime
b77993d9a1 Merge branch '2015.8' into '2016.3'
Conflicts:
  - doc/ref/configuration/minion.rst
  - doc/topics/targeting/grains.rst
  - salt/crypt.py
  - salt/scripts.py
  - salt/states/dockerng.py
  - salt/states/pkg.py
2016-04-13 09:42:54 -06:00
Nicole Thomas
1834bdefe3 Merge pull request #32531 from ticosax/support-no-volumes
[dockerng] Fix support of dockerng.volume_present when no volume is on present.
2016-04-13 08:42:12 -06:00
Nicolas Delaby
5d73d54ed2 Enhance dockerng.wait() to control success on exit_code and on already stopped containers (#32475) 2016-04-13 08:16:26 -06:00
Bo Maryniuk
214f01e963 Bugfix: salt-key crashes if tries to generate keys to the directory w/o write access (#32436)
* Raise an exception if keys are tried to be written to the directory that has no write access permissions

* Show an reasonable error message instead of a traceback crash.

* Fix the unit tests
2016-04-13 08:15:37 -06:00
Nicolas Delaby
958b2ec749 Fix support of dockerng.volume_present when no volume is on present.
fixes #32493
2016-04-13 15:47:13 +02:00
Eric Radman
bae492ad8f Fix tests that assert CommandExecutionError (#32485)
Trying to assert that an exception was raised using
helper_open.write.assertRaises() is bogus--there is no such method. Use
standard unittest.assertRaises() instead.
2016-04-12 08:41:25 -06:00
Bo Maryniuk
492ebfc184 Isbm zypper list products sles11 crash (#32505)
* Check for EOL aggregate and fix time_t attribute

* Update SLE11 SP3 data

* Update SLE12 SP1 data

* Adjust test values according to the testing data
2016-04-12 08:14:19 -06:00
Nicole Thomas
216d9fdc9a [develop] Merge forward from 2016.3 to develop (#32494)
* 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

* Fixes saltstack/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
2016-04-11 17:07:15 -06:00
rallytime
4f03f2311f Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/cli/salt.py
  - salt/modules/win_pkg.py
  - salt/transport/tcp.py
2016-04-11 14:33:21 -06:00
Neil Williamson
4372dc3816 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
2016-04-11 11:07:44 -06:00
Justin Findlay
117d641830 tests.integration: fix 4230c8a 2016-04-08 16:54:00 -06:00
Justin Findlay
fa8d030ab7 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.
2016-04-08 16:00:48 -06:00
Justin Anderson
116c91e293 Changed the target file in file.symlink test (#32443) 2016-04-08 16:00:15 -06:00
Nicole Thomas
49af98b7a7 Merge pull request #32431 from rallytime/merge-develop
[develop] Merge forward from 2016.3 to develop
2016-04-08 11:17:28 -06:00
rallytime
d942c38cb1 Removed useless slack_notify unit tests 2016-04-08 11:13:14 -06:00
Nicole Thomas
8d44aa3f08 Merge pull request #32429 from rallytime/merge-2016.3
[2016.3] Merge forward from 2015.8 to 2016.3
2016-04-08 10:56:12 -06:00
Eric Radman
2d9f8ab27e Skip PAM test on OpenBSD (#32439)
Will always fail since OpenBSD does not have have PAM
2016-04-08 10:19:41 -06:00
Nicole Thomas
6a88b5ef29 Merge pull request #32422 from eradman/env_test
Do not assume temporary files have the user's gid
2016-04-08 10:16:50 -06:00
rallytime
7f8eb751a0 Merge branch '2016.3' into 'develop'
Conflicts:
  - salt/cli/daemons.py
  - salt/modules/win_servermanager.py
  - tests/unit/modules/win_servermanager_test.py
2016-04-08 10:09:03 -06:00
Eric Radman
504cc02741 Do not assume temporary files have the user's gid
On BSD-like systems (including MacOS) files created in /tmp (or any dir
with mod 1777) do not have the user's group. Therefore the st_gid for
files created in /tmp will usually be wheel. Easiest thing to do is to
skip this test.
2016-04-07 22:32:33 -04:00
rallytime
59b804d230 Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/modules/pkgng.py
  - salt/modules/status.py
  - salt/states/boto_asg.py
  - salt/states/boto_elb.py
2016-04-07 16:28:59 -06:00
Justin Anderson
ec284fdff4 Fix issue that #32420 exposed in timezone_test 2016-04-07 16:19:27 -06:00
rallytime
9531ea6ef5 Merge branch '2015.5' into '2015.8'
Conflicts:
  - doc/topics/highavailability/index.rst
  - salt/loader.py
  - salt/modules/service.py
  - salt/states/cmd.py
  - tests/unit/states/cmd_test.py
2016-04-07 16:10:32 -06:00
Eric Radman
b220b4dd98 Unbreak timezone test for Gentoo (#32420)
Gentoo and Debian both use use /etc/timezone

See https://wiki.gentoo.org/wiki/System_time
2016-04-07 14:55:51 -06:00
Nicole Thomas
0809126d8e Merge #32293 with test fixes (#32418)
* Fix issue #11497

* Remove check for working directory presence in tests
2016-04-07 14:55:25 -06:00
Justin Anderson
6f98bd50eb Update glusterfs_test to be inline with #32312 2016-04-07 14:38:21 -06:00
Justin Anderson
28ea60f28e Fixes test failure where Fedora 23 has /etc/grub.conf by default 2016-04-07 11:40:12 -06:00
James O'Neill
c2442ad46f Discard duplicate YAML nodes when merging anchors to avoid duplicate … (#32042)
* Discard duplicate YAML nodes when merging anchors to avoid duplicate node errors. Add yamlloader unit tests.

Fixed #14550 Using YAML anchors/references in Pillars causes conflicting IDs

* Fix lint errors. Make external function a static method.

* Fix remaining lint errors in unit test file.
2016-04-07 10:27:20 -06:00
Justin Anderson
65614b7f0f Updated salt.spec bash_completion 2016-04-07 09:16:47 -06:00
Bo Maryniuk
0d9a06b8c6 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
2016-04-06 12:55:45 -06:00
rallytime
093d833ff1 Merge branch '2016.3' into 'develop'
Conflicts:
  - pkg/osx/build.sh
2016-04-05 15:38:58 -06:00
rallytime
760f479424 Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/cli/daemons.py
  - salt/config/__init__.py
  - salt/scripts.py
  - salt/state.py
  - tests/unit/config/config_test.py
2016-04-05 15:09:27 -06:00
Erik Johnson
fbbf5935aa Add missing spm manpage and bash_completion file
Also remove duplicate entries for master/minion conf templates
2016-04-04 16:53:56 -05:00
Erik Johnson
80f7c31d53 buildpackage.py: add salt.bash to SOURCES 2016-04-04 16:53:56 -05:00
Erik Johnson
969519b37e Remove unnecessary cd command 2016-04-04 16:53:56 -05:00
Erik Johnson
ead5c3d6bc Fix missing endif 2016-04-04 15:25:46 -05:00
Justin Anderson
73118d0149 Deleted win_servermanger_test.py 2016-04-04 12:48:05 -06:00
Mike Place
234a5c365c Merge pull request #32283 from jtand/user_preset_test_fix
Changed /tmp/ to /home/ user.present test
2016-04-04 12:02:08 -06:00
Mike Place
95bcdaa4bb Merge pull request #32287 from rallytime/reimplement-31172
Reimplement #31172, which got removed in a merge-forward.
2016-04-04 11:53:11 -06:00
Mike Place
edbab99164 Merge pull request #32295 from rallytime/test-cloud-deploy-dir
Test the contents of 'deploy_scripts_search_path' in salt.config.cloud_config
2016-04-04 11:38:47 -06:00
Benjamin Drung
8cada9573f Fix typos of retrieve 2016-04-04 14:27:41 +02:00
Justin Findlay
e7ee59fb6c modules.parallels: add unit tests 2016-04-02 16:42:00 -06:00
Erik Johnson
29723182f9 Update buildpackage spec 2016-04-01 17:57:42 -05:00
rallytime
4037476f40 Patch call to os.path.isdir so we know both search paths are in tuple 2016-04-01 15:13:57 -06:00
rallytime
e195376f61 Patch isdir call and test seach path tuple positions as well 2016-04-01 15:09:57 -06:00
rallytime
b86f6922c4 Print search_paths return for debugging 2016-04-01 13:52:43 -06:00
rallytime
eb6773823b Merge branch '2016.3' into 'develop'
Conflicts:
  - salt/modules/rh_service.py
2016-04-01 10:33:44 -06:00
rallytime
bf48922e7d Add test for 'deploy_scripts_search_path' contents in salt.config.cloud_config 2016-04-01 09:43:30 -06:00
rallytime
49a4eec051 Test the contents of 'deploy_scripts_search_path' in salt.config.cloud_config
Refs #32183
2016-04-01 09:40:58 -06:00
Justin Anderson
c6a1d8b7ba Changed /tmp/ to /home/ user.present test 2016-03-31 15:13:58 -06:00
Mike Place
4ce67e6f2c Merge pull request #32120 from cmercier/firewalld
firewalld state/module : add runtime and persist + add rich_rules + merge bind and present
2016-03-31 10:20:19 -06:00
Erik Johnson
3e374e7ec6 Merge pull request #32243 from isbm/isbm-zypper-list-installed-ensure-latest
Ensure latest pkg.info_installed ensure latest
2016-03-31 11:09:59 -05:00
Mike Place
5ad98159af Fix unit test for mysql
Refs #32266
2016-03-31 08:45:17 -06:00
Mike Place
8ca6bf2177 Merge pull request #32259 from jfindlay/tmpdir
MacOS tmpdir
2016-03-31 08:31:07 -06:00
Clément Mercier
1c05ed120d firewalld state/module : add runtime and persist + add rich_rules + merge bind and present 2016-03-31 16:17:52 +02:00
Justin Findlay
8f558a5f41 tests...runtests_helpers: TMPDIR on MacOS gives too long paths 2016-03-30 21:09:40 -06:00
Justin Findlay
0edd532add tests.integration: TMPDIR on MacOS gives too long paths 2016-03-30 21:09:39 -06:00
Justin Findlay
c74c241831 tests.integration: use os.path.realpath
This reverts bf894c37, 6b99798b, and 4028d80e.  `os.path.realpath`
behaves identically to `salt.utils.abs_readlink` on the doc tests in
that function.
2016-03-30 21:09:39 -06:00
Bo Maryniuk
73ad8a2bfc Fix lint 2016-03-31 01:55:38 +02:00
twangboy
5ca4ad6675 Fix unit tests for state 2016-03-30 17:12:12 -06:00
rallytime
ea3d21d126 Fix failing test 2016-03-30 16:53:42 -06:00
twangboy
b26cb76abb Fix unit tests 2016-03-30 16:51:58 -06:00
rallytime
fa5e17b342 Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/modules/win_service.py
  - salt/modules/zypper.py
  - salt/states/pkgrepo.py
2016-03-30 15:33:13 -06:00
rallytime
d743f8cc4e Merge branch '2015.5' into '2015.8'
Conflicts:
  - salt/client/ssh/__init__.py
  - salt/modules/aptpkg.py
  - salt/modules/zypper.py
  - salt/states/pkgrepo.py
2016-03-30 13:38:38 -06:00
Mike Place
4a5d1b1dd3 Merge pull request #31768 from twangboy/mac_xattr_int
Integration Tests for mac_xattr.py
2016-03-30 13:03:25 -06:00
Mike Place
2816982178 Merge pull request #31959 from twangboy/mac_timezone_int
Integration tests for mac_timezone.py
2016-03-30 13:03:15 -06:00
Mike Place
50e34574d7 Merge pull request #31840 from twangboy/mac_shadow_int
Integration tests for mac_shadow
2016-03-30 13:02:44 -06:00
twangboy
dfe148934b Fix typo 2016-03-30 12:56:39 -06:00
twangboy
a45d2270df Remove test for _convert_to_datetime 2016-03-30 12:56:39 -06:00
twangboy
845809139c Add test for _convert_to_datetime 2016-03-30 12:56:39 -06:00
twangboy
3a6ad91509 Fix some pylint errors 2016-03-30 12:56:39 -06:00
twangboy
f1a5134b92 Total rewrite of mac_shadow.py
Updated mac_shadow integration tests
2016-03-30 12:56:39 -06:00
twangboy
c62920fb08 Add destructiveTest decorators 2016-03-30 12:56:39 -06:00
twangboy
9fe91a8fb5 Fix __random_string assignment 2016-03-30 12:56:39 -06:00
twangboy
1da27172b9 Add integration tests for mac_shadow 2016-03-30 12:56:39 -06:00
Mike Place
5d08db7c92 Merge pull request #32162 from terminalmage/issue31963
Properly handle yum/zypper repositories in pkgrepo.managed
2016-03-30 11:51:05 -06:00
Mike Place
231da529e0 Merge pull request #32224 from Ch3LL/add_grains_match_test
Add grains match with wildcard tests
2016-03-30 11:30:42 -06:00
Erik Johnson
5c1bdb812c Fix pkgrepo integration test
Also re-enabled test on ubuntu 15.10.
2016-03-30 11:34:55 -05:00
Ch3LL
665468b5e8 fix pylint 2016-03-30 10:28:48 -06:00
Bo Maryniuk
f07c7ea792 Add lowpkg tests for version comparison 2016-03-30 17:33:24 +02:00
Bo Maryniuk
afdf451d87 Remove tests from the zypper_test that belongs to rpm_test 2016-03-30 17:33:03 +02:00
twangboy
66afd4855c Fix unit tests 2016-03-30 08:56:49 -06:00
twangboy
93f252d868 Fix some pylint errors 2016-03-30 08:56:49 -06:00
twangboy
f5f7249c37 Fix unit tests 2016-03-30 08:56:49 -06:00
twangboy
8ea709cc3f Remove xattr.list from know_to_return_none 2016-03-30 08:56:49 -06:00
twangboy
cedc14e6f5 Fix tests for read and delete 2016-03-30 08:56:49 -06:00
twangboy
cbd868e12a Improve integration tests 2016-03-30 08:56:49 -06:00
twangboy
1934a17f8e Add additional error handling 2016-03-30 08:56:49 -06:00
twangboy
833d63c27d Raise errors on command failures 2016-03-30 08:56:49 -06:00
twangboy
6f98a5204f Fix xattr.list returning None
Fixes tests
Removes super calls from setUp and tearDown
2016-03-30 08:56:49 -06:00
twangboy
bacaa9c4c0 Add missing import 2016-03-30 08:56:49 -06:00
twangboy
1094754085 Gate the tests for Mac OS X 2016-03-30 08:56:49 -06:00
twangboy
ab205f52d4 Fix some lint errors 2016-03-30 08:56:49 -06:00
twangboy
cd4c84a7eb Fix problem with xattr.list tests 2016-03-30 08:56:49 -06:00
twangboy
f54139fb9f Fix some tests 2016-03-30 08:56:49 -06:00
twangboy
fd96733fc7 Put test file in correct state for each test 2016-03-30 08:56:49 -06:00
twangboy
212590b130 Add remaining test functions 2016-03-30 08:56:49 -06:00