Commit Graph

9104 Commits

Author SHA1 Message Date
Mike Place
dcd9ff471f Merge pull request #39302 from terminalmage/loader-virtual-aliases
Add __virtual_aliases__ feature to the loader
2017-02-13 13:22:02 -07:00
Mike Place
03ab8b1b5a Merge pull request #39303 from kstreee/fix-testcase-rm-batch-in-netapi
Removes a redundant test case after removed 'batch' in 'netapi'.
2017-02-13 12:55:46 -07:00
Mike Place
1951216b22 Merge pull request #39320 from s0undt3ch/features/py3
Py3 Fixes
2017-02-13 12:28:32 -07:00
Pedro Algarvio
9f73b240c1
Under Py3, we get bytes when using the roots backend directly 2017-02-13 16:44:30 +00:00
Pedro Algarvio
ff1667c6d6
We really don't need to decode the string prior to writing it to file.
Plus, this also avoids handling Py2 and Py3 differently.
2017-02-13 16:25:09 +00:00
Daniel Hobley
3a3ef25b51 Fix add beacon when there are no devices
- Changed the assumption that having 0 lines means there are no devices, to actually checking there are no devices
2017-02-13 13:33:52 +01:00
Pedro Algarvio
005f21d3b5
Compare against the normalized mode string 2017-02-13 10:18:58 +00:00
Pedro Algarvio
c1b5606199
Handle bytes vs strings on the file state module tests 2017-02-13 10:18:57 +00:00
Pedro Algarvio
26b17fb044
Make sure the minion sync's modules/states/grains/etc when starting 2017-02-13 10:18:57 +00:00
Pedro Algarvio
7b7133ea25
This test case requires root permissions 2017-02-13 10:18:56 +00:00
Erik Johnson
6ee6874e11 Set time back 1 week instead of up to 36 years in system module tests
This prevents git_pillar certificate errors. Additionally, sometimes
/dev/rtc becomes unresponsive which leads the ``hwclock --compare``
command to spin indefinitely, ultimately causing the entire test run to
fail. This changeset uses a SIGALRM handler to abort the hwclock command
if no output is seen within 3 seconds and try a second time. If it times
out the second time as well, then an error will be logged but it will
not be fatal to the test (or hang it indefinitely).
2017-02-12 23:57:28 -06:00
Erik Johnson
4e577e697d Switch to non-legacy git_pillar syntax in test suite 2017-02-12 15:12:49 -06:00
Michael Calmer
17521fb23c added unit test for dockerng.sls_build dryrun option (#39305) 2017-02-10 16:11:26 -07:00
Nicole Thomas
050b4cc824 Protect hardware clock test comparison better (#39298)
In #39060, some tests were added to check for the hardware clock
getting reset when possible. The test attempted to gate the test
when access to the hardware clock was impossible, but the check
wasn't quite right and caused problems with the resulting tests.

This change makes the `has_settable_hwclock()` function public
in order to make the test gate work correctly. This function
could also be useful at the CLI level.

When running `self.run_function('status._has_settable_hwclock()')`
from the test suite, the return is a string noting that the
function is unavailable. This change allows for the `if not` check
to evaluate the return of the function.
2017-02-10 10:15:25 -07:00
Ch3LL
b3cbc5a408 improve salt-run salt.cmd test 2017-02-10 09:00:12 -07:00
Erik Johnson
954752b5fd Add test for __virtual_aliases__ 2017-02-10 08:48:57 -06:00
kstreee
51972d0724 Removes a redundant test case after removed 'batch' in 'netapi'. 2017-02-10 07:12:22 +00:00
Mike Place
1d813bd902 Merge pull request #39283 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-02-09 15:10:03 -07:00
Pedro Algarvio
b82bf6bebf
Inform on which python version we are running on 2017-02-09 18:06:30 +00:00
Pedro Algarvio
b264114901
Restore full user permissions when failing to delete 2017-02-09 18:06:27 +00:00
rallytime
609e6e4b23 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/config/__init__.py
  - salt/modules/win_lgpo.py
  - salt/utils/aws.py
  - tests/unit/utils/schema_test.py
2017-02-09 10:29:40 -07:00
Mike Place
bac99d9e72 Merge pull request #39252 from gtmanfred/extmod_whitelist
Allow specifying which modules should be used when running saltutil.sync_*
2017-02-09 10:09:43 -07:00
Erik Johnson
d35c2f810c salt.utils.gitfs: remove dulwich support, make refspecs configurable (#39210)
* Add config params for custom refspecs

* Add exceptions for errors encountered modifying git config

* Make the refspecs a configurable parameter

* Make refspecs a per-remote parameter

* Update master config template to include custom refspecs opts

* Add documentation for new config params

* Update GitFS walkthrough with a section on custom refspecs

* Remove dulwich support from salt.utils.gitfs

Dulwich still lacks important features, including (but not limited to)
the following:

- Lack of the necessary support for checking out a ref needed for
  git_pillar/winrepo support

- No support in its config objects for multivar git config items, making
  it impossible to detect when repos have multiple refspecs set for a
  given git remote

Given this information, and the fact that it trails as a distant third
to Pygit2 and GitPython, Salt will cease to support Dulwich as a git
interface moving forward.

* Excise references to dulwich from documentation

* Add mention of custom refspecs to Nitrogen release notes

* Add gitfs_refspecs to mocked opts in gitfs integration tests

Also remove dulwich from unit tests

* Add information about opts argument not being intended for CLI use
2017-02-09 09:50:45 -07:00
Nicole Thomas
63c7c79455 Fix the new jinja_test failures (#39262)
Refs #37808

The max fuction returns an int, not a float, as does the min function.
This updates the assertions to compare against ints.
2017-02-09 08:53:00 -07:00
Nicole Thomas
05d4df4a0e Add __utils__ to sdb unit test (#39261)
Refs #39174
2017-02-09 08:52:16 -07:00
rallytime
a9c2c106c1 Pylint fix 2017-02-09 08:50:56 -07:00
Daniel Wallace
e38c5d296b fix pylint 2017-02-08 18:07:13 -06:00
rallytime
f6aad99db2 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/loader.py
  - salt/output/highstate.py
  - salt/runners/fileserver.py
2017-02-08 16:57:54 -07:00
Erik Johnson
1b9217d636 Update jsonschema tests to reflect change in jsonschema 2.6.0 (#39260)
Version 2.6.0 changed the wording of one of the exceptions tested,
causing tests to fail when jsonschema 2.6.0 is installed. This commit
updates the tests to change the assert for 2.6.0 and later.
2017-02-08 16:51:56 -07:00
Daniel Wallace
57ab8dd27b add integration test 2017-02-08 16:08:50 -06:00
Nicole Thomas
84ff63875c [2016.11] Merge forward from 2016.3 to 2016.11 (#39234)
* Fix for #38697

* Lint fixes

* Added missing source_hash_name argument in get_managed function
Additional fix to  #33187
Customer was still seeing errors, this should now work.
Tested with 2015.8.13 and 2016.11.2

* [2016.3] Pylint fix (#39202)

* Ignore empty dicts in highstate outputter

Closes #37174

* Sort the return list from the fileserver.envs runner

* Fix the win_ip_test failures (#39230)

The changes made in #38793 changes the "get_all_ointerfaces" call
to be a list of DNS servers. This change adjusts the tests structure
from a string to a list and fixes the test failure.
2017-02-07 16:06:56 -07:00
Nicole Thomas
ef4e437bbc Fix the win_ip_test failures (#39230)
The changes made in #38793 changes the "get_all_ointerfaces" call
to be a list of DNS servers. This change adjusts the tests structure
from a string to a list and fixes the test failure.
2017-02-07 14:53:59 -07:00
Mike Place
d5d39321c8 Merge pull request #37808 from cloudflare/JINJA-FILTERS
Jinja filters
2017-02-07 14:52:23 -07:00
Mike Place
7dd7fe3269 Merge pull request #39229 from rallytime/doc-test-fix
Fixup docs that don't have a CLI Example
2017-02-07 14:45:08 -07:00
Mike Place
0f838b2b12 Merge pull request #38621 from terminalmage/pr34442
Add support for wildcard versions in pkg.installed states
2017-02-07 14:41:14 -07:00
rallytime
50b9ac6a6d Fixup docs that don't have a CLI Example
- log functions shouldn't be used at the CLI level: added to allow_failure in test
- Added example for status.proxy_reconnect
2017-02-07 13:40:01 -07:00
Erik Johnson
da7d3ecec0 Add integration test for wildcard versions 2017-02-07 08:54:26 -06:00
Mike Place
c48192beff Merge pull request #38781 from raazvvann/dev/rheghedu/nilrt_ip
Add network module for NILinuxRT: nilrt_ip.py
2017-02-06 12:30:43 -07:00
Mike Place
f8d79076f2 Merge pull request #39013 from terminalmage/zh878
Decryption of values in Pillar SLS files
2017-02-06 12:08:57 -07:00
Mike Place
0b480a6244 Merge pull request #39140 from eradman/pillarenv
Allow pillar environment to be specified for salt-run
2017-02-06 11:38:35 -07:00
Mike Place
30455079fe Merge pull request #39153 from nicholasmhughes/fix-selinux.mode-config-predictability
Fix selinux.mode state config file handling
2017-02-06 11:37:34 -07:00
Mike Place
b240468525 Merge pull request #39162 from meaksh/snapper-module-improvements
Adding more function to Snapper module
2017-02-06 11:33:52 -07:00
nicholasmhughes
8d8ba9c7d2 added the new getconfig function to the test 2017-02-06 09:55:09 -05:00
rallytime
88cc195a2a Merge branch '2016.11' into 'develop'
No conflicts.
2017-02-03 10:58:55 -07:00
Mike Place
fa525567cf Merge pull request #39150 from rallytime/python3-compat-fixes
Python 3 Test Fixes
2017-02-03 10:13:58 -07:00
rallytime
6504bb6b02 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/modules/pillar.py
  - salt/states/archive.py
  - tests/integration/states/archive.py
2017-02-03 09:48:58 -07:00
Erik Johnson
9de08af950 Apply fix from #38705 to 2016.3 branch (#39077)
* Apply fix from #38705 to 2016.3 branch

This is a better fix and covers more use cases than the sudo_user one.

* Remove saltenv param from internal state func call

This was probably redundant in the first place, but since state.sls,
state.highstate, etc. accept a saltenv param and the actual state
functions do not, this results in multiple values passed for the saltenv
param.

Remove this argument and let file.get_managed reference __env__
internally.

* Update archive tests to match 2016.11 branch
2017-02-03 09:35:49 -07:00
Pablo Suárez Hernández
9d6a33f257 Adds 'snapper.create_config' unit tests 2017-02-03 15:41:58 +00:00
Pablo Suárez Hernández
d38ed505f8 Adds 'snapper.modify_snapshots' unit tests 2017-02-03 15:41:29 +00:00
Pablo Suárez Hernández
d5496ccc99 Adds 'snapper.delete_snapshots' unit tests 2017-02-03 15:41:29 +00:00
Heghedus Razvan
8408789511 Add network module for NILinuxRT: nilrt_ip.py
Connman is the network manager used as backend.
Functionalities:
  - ip.get_interface_details()
  - ip.up(interface)
  - ip.down(interface)
  - ip.set_dhcp_linklocal_all(interface)
  - ip.set_static_all(interface, address, netmask, gateway, domains)
  - ip.build_interface(interface, interface_type, enable, **settings)
  - ip.build_network_settings(**settings)
  - ip.get_network_settings()
  - ip.apply_network_settings(**settings)

Integration test for:
  - ip.enable
  - ip.disable
  - ip.set_dhcp_linklocal_all
  - ip.set_static_all

Signed-off-by: Heghedus Razvan <razvan.heghedus@ni.com>
2017-02-03 14:25:03 +02:00
Erik Johnson
cdf045662f add debug logging for batch vars 2017-02-02 18:06:50 -06:00
Erik Johnson
316e62889a Don't fail test if data is empty
This keeps trimmed output from failing the test. We are still testing
with a specific module lower down in the test, so this doesn't reduce
our test coverage.
2017-02-02 18:06:50 -06:00
Erik Johnson
56e86a6e04 Run test_valid_docs in batches
This test fails often due to being trimmed, thanks to
salt.utils.dicttrim trimming values > max_event_size.

This commit changes this test so that it runs sys.doc twice, ensuring
that the return from sys.doc (for now) is not trimmed.
2017-02-02 18:06:50 -06:00
Erik Johnson
6221fd0573 Add tests for pillar decryption 2017-02-02 18:06:50 -06:00
rallytime
4595f81685 [PY3] Sort return data and mock data for testing stability 2017-02-02 22:56:00 +00:00
rallytime
ee2edda14e [PY3] Test comment contents more carefully for list stability
Stabilizes these tests by avoiding errors when cheese, crackers
order changes in the comment and gives errors like:

-  'comment': 'Kernel modules crackers, cheese are already present',
?                                     --------

+  'comment': 'Kernel modules cheese, crackers are already present',
?                            ++++++++
2017-02-02 22:34:20 +00:00
Eric Radman
c22f3f6dc7 Allow pillar environment to be specified for salt-run
Example:
  salt-run state.sls deploy saltenv=base pillarenv=dev
2017-02-02 13:19:20 -05:00
rallytime
eb61788f87 Merge branch '2016.11' into 'develop'
Conflicts:
  - doc/ref/runners/all/index.rst
  - salt/modules/win_lgpo.py
  - salt/states/dockerio.py
2017-02-01 16:36:45 -07:00
Erik Johnson
646b9ea4e5 Don't abort pillar.get with merge=True if default is None (#39116)
* Don't abort pillar.get with merge=True if default is None

This prevents a SaltInvocationError from being raised if the default is
loaded from a import_yaml jinja macro and the file being loaded is empty
(which is an entirely valid use case). In these cases, the loaded
default would be None, which we don't want to cause an exception.

* Add test case for issue 39062
2017-02-01 15:07:31 -07:00
rallytime
a782b00ee1 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/cloud/clouds/openstack.py
2017-02-01 13:35:10 -07:00
Mike Place
4ed8085d27 Merge pull request #39060 from harisokanovic/dev/hokanovi/hwclock-sync
system: Update hardware clock on date/time change
2017-02-01 12:22:20 -07:00
Mike Place
cc9b69b6bc Merge pull request #39091 from terminalmage/update-test-valid-docs
Run test_valid_docs in batches
2017-02-01 12:09:04 -07:00
Erik Johnson
d76f0380d0 add debug logging for batch vars 2017-02-01 00:05:21 -06:00
Erik Johnson
b4afea2a25 Don't fail test if data is empty
This keeps trimmed output from failing the test. We are still testing
with a specific module lower down in the test, so this doesn't reduce
our test coverage.
2017-02-01 00:05:21 -06:00
Erik Johnson
909916c78e Run test_valid_docs in batches
This test fails often due to being trimmed, thanks to
salt.utils.dicttrim trimming values > max_event_size.

This commit changes this test so that it runs sys.doc twice, ensuring
that the return from sys.doc (for now) is not trimmed.
2017-02-01 00:05:05 -06:00
Haris Okanovic
c5f832b9e3 system: Update hardware clock on date/time change
Update hardware clock so that date/time changes persist
through reboot.

Add hwclock check to system integration test. Bump tolerance
of _same_times() helper to account for longer run-time of set
operations. Updating hardware rtc's can take more than 2 seconds.

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Reviewed-by: Sergey Kizunov <sergey.kizunov@ni.com>
Reviewed-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Reviewed-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
2017-01-31 17:40:40 -06:00
Mike Place
1ccb365945 Merge pull request #39002 from rallytime/fix-38111
Pass win_* options as kwargs when calling file.manage_file
2017-01-31 13:51:39 -07:00
Erik Johnson
bcee3d1ef6 Move fileclient tests to tests/integration/fileserver/fileclient_test.py (#39081)
Being in the root of tests/integration/, these were not being run in
jenkins and would only run if executed manually using the -n flag in
runtests.py.
2017-01-31 13:44:50 -07:00
Mike Place
2f532ff9f8 Merge pull request #39080 from kraney/boto_lambda_envvar
Added Lambda environment variables support to boto_lambda modules/states
2017-01-31 13:20:40 -07:00
Mike Place
bdaa52ac4e Merge pull request #39043 from twangboy/develop
SaltTesting fixes for Windows
2017-01-31 12:27:39 -07:00
Mike Place
86b4b77bfe Merge pull request #39058 from sergeizv/fix-lvm-fullversion
Fix salt.modules.linux_lvm.fullversion
2017-01-31 12:01:12 -07:00
Winston Liu
c2d35d181f update botocore dependencies, skip if not met. 2017-01-31 10:49:34 -08:00
Sergei Zviagintsev
f4bf77a996 Fix test name (#39061)
Remove an unnecessary underscore character from the name of the
linux_lvm.lvdisplay test:

  test__lvdisplay -> test_lvdisplay
2017-01-31 10:20:13 -07:00
Sergei Zviagintsev
0f84ca2487 Add test for modules.linux_lvm.pvcreate on existing LVM PVs
If all the devices submitted to pvcreate() are already initialized as
LVM physical volumes, pvcreate() should return True and no futher
actions should be made.
2017-01-31 17:57:21 +01:00
Sergei Zviagintsev
3967992bfd Fix test for modules.linux_lvm.pvcreate
pvdisplay() would be called by pvcreate() twice: firstly to check
whether a device is already initialized for use by LVM and then to
ensure that the pvcreate executable did its job correctly. The test
replaces pvdisplay() with a mock that always returns True and thus
pvcreate() would think that a specified device is already initialized
and exit. In the other words, instead of testing physical volume
initialization the test simulates a case with all the submitted
devices already initialized.

Fix it by replacing pvdisplay with a mock that returns False on the
first call (thus pvcreate thinks that a device is not a PV yet) and True
on the second call (after the pvcreate executable is called).
2017-01-31 17:49:28 +01:00
Sergei Zviagintsev
fb7ef99838 Fix mock emulating lvm version
'lvm version' produces multiline output whereas test_version and
test_fullversion use mocks with single-line output. Use real-life
'lvm version' output in those mocks instead.
2017-01-31 16:22:38 +01:00
Winston Liu
dc8344f0c2 updated boto_lambda execution module with 'lambda environment variables' 2017-01-30 16:00:16 -08:00
twangboy
c704eaa175 Fix geteuid stacktrace on Windows 2017-01-30 15:36:08 -07:00
rallytime
43dba1bf78 Skip new managed file state test on Windows 2017-01-30 13:40:25 -07:00
Nicole Thomas
7fa89303a1 Merge pull request #39026 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-01-30 10:39:18 -07:00
Julien BONACHERA
1e06f388bb make openvswitch state work with python3 (#38873)
* openvswitch: add a basic unit test for openvswitch

* openvswitch: enclose comments_* variables into a map

* openvswitch: only prepare error messages if type parameter is present

* openvswitch: add test case: create a GRE port

* openvswitch: remove trailing whitespace

* openvswitch: add missing "comments" variable

* openvswitch: pep8 compliance

* openvswitch: mock dig.check_ip

* openvswitch: rename "type" argument into "tunnel_type"

* openvswitch: reference bridge_exists before assignment

* openvswitch: reference port_list before assignment

* openvswitch: add upgrade note about "type" option renaming
2017-01-30 09:56:10 -07:00
Mike Place
191a1e55ae Merge pull request #39006 from rallytime/python3-fixes
Various Python 3 compatibility fixes
2017-01-30 09:54:28 -07:00
Mike Place
984e6de244 Merge pull request #39024 from moio/minionswarm-set-machine-id
minionswarm.py: allow random machine id
2017-01-30 09:31:15 -07:00
Mike Place
80e4aa2ea2 Merge pull request #39022 from moio/minionswarm-reuse-existing-data
minionswarm.py: allow temporary data reuse
2017-01-30 09:29:30 -07:00
rallytime
8928436bdd Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/pillar/__init__.py
2017-01-30 09:06:27 -07:00
Silvio Moioli
f454dbd84c minionswarm.py: use predictable random numbers 2017-01-30 16:34:01 +01:00
Silvio Moioli
f27e0e8f4e minionswarm.py: allow random machine id 2017-01-30 14:21:52 +01:00
Silvio Moioli
382cf21b5f minionswarm.py: allow re-use of temporary files 2017-01-30 13:23:45 +01:00
Silvio Moioli
b2f7d3e3cf minionswarm.py: add option to specify temp dir 2017-01-30 13:23:45 +01:00
rallytime
fc3c9182ae [PY3] Fix find module unit tests
These unit tests exposed a bunch of python 3 incompatibilities in the
filebuffer util as well as the find util. The filebuffer changes should
be reviewed carefully.
2017-01-27 14:59:24 -07:00
rallytime
b0631ce005 [PY3] Fix timezone module unit tests
When writing to a file, the string needs to be converted to bytes first.
2017-01-27 12:15:39 -07:00
rallytime
76e95087fd Merge branch '2016.3' into '2016.11'
No conflicts.
2017-01-27 11:52:03 -07:00
rallytime
8e17c96e02 Write failing test for Issue #38111
Test calls "file.managed" using the "check_cmd" kwarg with the
state provided as a reproducible test case for the issue.
2017-01-27 11:28:54 -07:00
rallytime
4b3ff0fe0f Skip the test_badload test until Jenkins move is complete
Once this happens, we need to re-enable the test. The move over
should also allow us to upgrade the version of salt-testing that
is applied to the test VMs. Once this is complete, we can apply
the `@flaky` decorator to this test. (salt-testing must be a
version newer than the September release.)
2017-01-27 09:51:30 -07:00
Nicole Thomas
7c93bcbb2a Add one more option to "allow_failure" for doc test (#38998) 2017-01-27 09:43:04 -07:00
rallytime
e91fcbeaac Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/minion.py
  - salt/modules/dockerng.py
  - salt/thorium/key.py
2017-01-26 16:02:06 -07:00
rallytime
fdaa5ac1b0 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/master.py
  - salt/pillar/__init__.py
  - salt/utils/__init__.py
2017-01-26 14:09:37 -07:00
Mike Place
efa83bc6f0 Merge pull request #38976 from rallytime/develop-docstring-fixes
More docstring fixes for the new sysmod doc test failures
2017-01-26 12:58:34 -07:00
Nicole Thomas
ca090fff1a Add new logging options to parsers_test mock for develop (#38974) 2017-01-26 12:47:23 -07:00