Commit Graph

9738 Commits

Author SHA1 Message Date
Mike Place
ad4d6839fd Merge pull request #40675 from gtmanfred/2016.11
use loader for getting war version
2017-04-13 13:58:30 -06:00
rallytime
e440d2e8af Use self.setGrains as context manager in grains test 2017-04-13 13:39:11 -06:00
Ch3LL
e30afc4c01
add exception type 2017-04-13 15:06:12 -04:00
Ch3LL
acf333df08
change errno code for fileclient test 2017-04-13 14:56:45 -04:00
rallytime
3d6c983c69 Remove unused import for lint 2017-04-13 11:52:20 -06:00
Daniel Wallace
a61fc824c4 use loader for war extraction
Also set the version added in the docs
2017-04-13 11:51:22 -06:00
rallytime
17efc7341c Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - salt/modules/win_wua.py
  - salt/netapi/rest_cherrypy/app.py
  - salt/version.py
  - tests/unit/states/grains_test.py
  - tests/unit/states/test_archive.py
2017-04-13 10:14:51 -06:00
Ch3LL
60724980ec
fix test_fstype test for mac 2017-04-13 12:04:20 -04:00
Mike Place
92b5f03beb Merge pull request #40551 from terminalmage/issue39868
Fix four issues in archive.extracted state
2017-04-12 12:37:51 -06:00
Daniel Wallace
b0bd99c26d add comment and unit test 2017-04-11 21:08:06 -06:00
Mike Place
4af8d08e43 Merge pull request #40581 from terminalmage/release_notes
Make scheduled change to osmajorrrelease grain, clean up Nitrogen release notes
2017-04-11 16:49:15 -06:00
rallytime
cd0adb82d6 Spelling fix 2017-04-11 13:35:38 -06:00
rallytime
36f7a6481b Remove blacklisted loader usage of dunder variables 2017-04-11 12:16:15 -06:00
Erik Johnson
20f856f038 Update unit tests for numeric osmajorrelease 2017-04-11 12:36:36 -05:00
rallytime
67d08f60ff Fixup fileclient_test file to conform to new standards 2017-04-10 14:09:41 -06:00
rallytime
2cd0c5e4ec Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - doc/topics/cloud/azurearm.rst
  - salt/cloud/clouds/vultrpy.py
  - salt/modules/aptpkg.py
  - salt/modules/dockermod.py
  - tests/unit/modules/dockerng_test.py
  - tests/unit/modules/test_pillar.py
2017-04-10 14:09:25 -06:00
Erik Johnson
5ea1f607b0 Fix mocking in unit tests 2017-04-10 13:57:39 -05:00
rallytime
5a419b8aae Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/modules/pillar.py
2017-04-07 11:23:41 -06:00
Erik Johnson
f8bc423ef9 Merge pull request #40563 from terminalmage/merge-2016.3-2016.11
Merge-forward 2016.3 -> 2016.11
2017-04-07 10:08:19 -05:00
Erik Johnson
0c608d7417 Add client_args_mock back to test
I removed this incorrectly in resolving a merge conflict.
2017-04-07 08:50:45 -05:00
Mike Place
83f6d3d3bb Merge pull request #40567 from terminalmage/fix-pillar-get-merge-lists
Allow pillar.get to merge list as well as dictionaries
2017-04-06 15:54:16 -06:00
Nicole Thomas
ae13de622a Merge pull request #40451 from isbm/isbm-fileclient-testcase-2016.11
Fileclient testcase (2016.11)
2017-04-06 13:53:30 -06:00
Mike Place
56363bc41c Merge pull request #40462 from cachedout/state_expect_minions
Fix orch state when no minions return
2017-04-06 11:58:14 -06:00
Erik Johnson
cb4db56eb5 Allow pillar.get to merge list as well as dictionaries
This also gets rid of the exception that used to be raised when the
default was not of the proper type, and instead skips merging in those
cases.
2017-04-06 12:24:22 -05:00
Mike Place
60750a1619
Fix test 2017-04-06 10:48:27 -06:00
Erik Johnson
a6d68f50fe Merge remote-tracking branch 'upstream/2016.3' into merge-2016.3-2016.11 2017-04-06 10:15:47 -05:00
Pedro Algarvio
2d32fab65b
Don't instantiate the log handler if unable to connect to server 2017-04-05 23:29:13 +01:00
Pedro Algarvio
0b2364e57d
White-space lint fix 2017-04-05 23:19:53 +01:00
Pedro Algarvio
281e0cafb2
Fix resource leakage 2017-04-05 23:18:00 +01:00
Pedro Algarvio
843e218572
Remove unmocked patching 2017-04-05 23:17:36 +01:00
Pedro Algarvio
eb588c772a
Add missing futures import 2017-04-05 23:16:52 +01:00
Bo Maryniuk
aba94495a5 Lintfix (Py3 code compat) 2017-04-05 22:56:29 +02:00
Ch3LL
7710355e3a
check for salt install fail on vultur test 2017-04-05 14:39:31 -06:00
Nicole Thomas
4d7871e4d7 Merge pull request #40494 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-04-05 14:15:05 -06:00
rallytime
71f3c73150 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/template.py
  - salt/utils/pycrypto.py
  - tests/integration/modules/test_state.py
  - tests/unit/states/test_artifactory.py
  - tests/unit/test_template.py
2017-04-05 13:02:14 -06:00
Nicole Thomas
59db716817 Merge pull request #40510 from twangboy/deprecate_win_update
Add deprecation warnings to win_update state and execution modules
2017-04-05 11:47:56 -06:00
Mike Place
ee5f891002 Merge pull request #40523 from s0undt3ch/features/py3
[WIP] A Little House Keeping and Addressing Py3 test suite leakage
2017-04-05 10:58:32 -06:00
Pedro Algarvio
94d944da52
Limit the size of the log records queue 2017-04-05 16:38:05 +01:00
Pedro Algarvio
0dbab2e07a
Get some more insights on memory consumption 2017-04-05 16:38:04 +01:00
twangboy
70b61dda39 Fix unit tests, spell Fluorine correctly 2017-04-04 23:42:36 -06:00
Pedro Algarvio
0c61c151c3
Fix state logic 2017-04-05 02:07:54 +01:00
Pedro Algarvio
de5fdc6ba8
Purge the account 2017-04-05 00:51:35 +01:00
Pedro Algarvio
cd1f7ba629
Let's use the system temp dir as it was to see if it fixes the test failure 2017-04-05 00:34:39 +01:00
Erik Johnson
78b4798b1b Update compile_template test to use StringIO 2017-04-04 15:41:43 -05:00
Erik Johnson
a6183d93d3 Preserve windows newlines in salt.template.compile_template()
Test included.
2017-04-04 15:41:43 -05:00
Mike Place
8da27c9e1d Merge pull request #40306 from terminalmage/issue40279
Don't use context caching for gathering systemd services
2017-04-04 14:36:38 -06:00
Mike Place
0ed385210f Merge pull request #40465 from rallytime/fix-37699
Artifactory Execution & State Module: Fixup Error Handling
2017-04-04 14:12:21 -06:00
Mike Place
778c1c94bd Merge pull request #40522 from carlpett/vault-fix-master-minion
Salt-vault: Fix handling of None-grains
2017-04-04 13:33:56 -06:00
Pedro Algarvio
c3417213d7
Make sure the socket's used are closed 2017-04-04 19:28:06 +01:00
Pedro Algarvio
7b713d9256
Use the more portable helper skip_if_not_root. 2017-04-04 18:58:21 +01:00
Pedro Algarvio
dcf0a55daf
Use the test run temporary path, not the system temporary path 2017-04-04 18:58:21 +01:00
Pedro Algarvio
9bbfd6605c
Fix state files temporary path 2017-04-04 18:58:21 +01:00
Pedro Algarvio
de9ccbdb43
Fix mocked test 2017-04-04 18:58:21 +01:00
Pedro Algarvio
61003bca0a
Take care of resource leakage on tests 2017-04-04 18:58:20 +01:00
Pedro Algarvio
e6f43b46c0
Import from the original modules 2017-04-04 18:58:20 +01:00
Pedro Algarvio
42e35e13cc
Use mock to patch 2017-04-04 18:58:20 +01:00
Pedro Algarvio
86536e64c5
Make sure files are closed 2017-04-04 18:58:20 +01:00
Pedro Algarvio
008f0016e2
Make sure we close the spooled temporary file 2017-04-04 18:58:19 +01:00
Pedro Algarvio
4a43d00d80
Proper mocking 2017-04-04 18:58:19 +01:00
Pedro Algarvio
2ee6d5d589
Import from the original modules not tests.integration 2017-04-04 18:58:19 +01:00
Pedro Algarvio
104a2fb30c
Keep the same exception raised before the move 2017-04-04 18:04:39 +01:00
Pedro Algarvio
6a638620ba
Move base test case modules to tests.support.case 2017-04-04 18:04:39 +01:00
Pedro Algarvio
9af2ca8823
No need to load all modules docs.
This should reduce memory usage as well as speeding up the decorator
2017-04-04 18:04:38 +01:00
Pedro Algarvio
4853952f1f
Use a temporary config 2017-04-04 18:04:38 +01:00
Pedro Algarvio
785698d2ce
Import for the original module 2017-04-04 18:04:38 +01:00
Pedro Algarvio
b94992f544
Some more RUNTIME_CONFIGS and RUNTIME_VARS fixes 2017-04-04 18:04:38 +01:00
Pedro Algarvio
e163a747f1
Minor import fixes 2017-04-04 17:29:34 +01:00
Pedro Algarvio
8031ac0209
Move mixins to tests.support.mixins.
The adapted config mixin get config methods are not static methods
2017-04-04 17:29:34 +01:00
Mike Place
6056ee302a Merge pull request #40339 from s0undt3ch/features/py3-pt2
[WIP] Move unit tests which were in integration tests - More py3 and mocking fixes
2017-04-04 10:21:46 -06:00
Nicole Thomas
579794dd64 Remove extra blank line for lint 2017-04-04 10:20:31 -06:00
Mike Place
d254b96498 Merge pull request #40471 from tonybaloney/libcloud_dns_kwargs
Update to libcloud_dns module to allow custom kwargs for DNS drivers
2017-04-04 10:12:44 -06:00
Calle Pettersson
c5d33ba065 Salt-vault: Fix handling of None-grains 2017-04-04 16:50:35 +02:00
Eric Radman
3299f5b2ea Add mocks to allow keyboard tests to function on non-Linux systems 2017-04-03 22:11:38 -04:00
Anthony Shaw
8c74d3df89 Update test_libcloud_dns.py
add absolute imports
2017-04-04 10:57:32 +10:00
Mike Place
17808e7181 Merge pull request #40480 from terminalmage/docker-auth-handling
Improved Docker auth handling and other misc. Docker improvements
2017-04-03 16:44:48 -06:00
Mike Place
55fa3c12fa Merge pull request #39874 from kiorky/fixup_fail_rc
Make returncode friendly to onfail requisites
2017-04-03 15:28:50 -06:00
rallytime
ede4c28887 Group checks for failhard setting in () in state.check_failhard function
Fixes #38683

When two states combine the `require`, `failhard`, and `order` options,
the `order` option should be ignored because `require` is present. Then
the `failhard` option should make the state run fail.

The check for "failhard" in the `check_failhard` function in the state
compiler was too broad. We want "failhard" to be true AND tag to be in
the `running` dict. Without the parens around the first OR statement,
we were bypassing the AND requirement because failhard was found.

Since the second state's tag was not found in the running dict, the state
run stacktraces on a KeyError.
2017-04-03 14:41:54 -06:00
Erik Johnson
c526e8c7b0 Improved Docker auth handling and other misc. Docker improvements
This commit changes how we handle Docker authentication. We no longer
try to auth when pushing/pulling images. This was initially done based
on a misunderstanding of how authentication was handled in docker-py.
docker-py will automagically use the base64-encoded username/password
combination stored in config.json if present, so we don't need to auth
at all for push or pull, docker-py will handle all of that. We just need
to make sure that we get the auth info into the config.json. To do this
I have added a login() function to the execution module, which uses the
Docker CLI to authenticate (with output_loglevel set to "quiet" to
suppress any logging of the credentials). The CLI is used in this
instance because docker-py provides no interface by which to persist a
login in the config.json; it can read from the file, but is not designed
to *write* to it. Rather than trying to write to this file ourselves,
and potentially breaking it when (not *if*) Docker decides to change the
internal format of the JSON data structure, using the CLI is a way of
future-proofing the authentication logic.

Context caching of the docker-py client instance has also been removed.
Context caching was used based on the same incorrect understanding of
how docker-py handles authentication, and sought to avoid repeated login
attempts. As that is no longer a concern, there is no need to cache the
client instance in the context dunder because we don't really gain a
performance benefit from it.

The _image_wrapper() function has been removed, as it no longer serves
any purpose, and the image-specific code in it that was still needed
has been absorbed into the _client_wrapper() helper. The functions which
used the _image_wrapper() helper (like push() and pull()) now use
_client_wrapper().

Additionally, the decorators used to enforce a minimum Docker version
(or Docker API version) have been removed. These are not necessary since
docker-py handles raising exceptions when a given feature is not
supported by the effective API version. The _client_wrapper() helper
function now checks for miscellaneous docker exceptions by catching the
docker.errors.DockerException class, which is the base class for the
custom exceptions raised by docker-py, and by doing so catches exceptions
raised due to API version incompatibility (and more).

The list of functions in the top-level docstring has been removed as it
is very out-of-date, and is somewhat superfluous anyway given that we
have for some time now had a list of the functions on the right side of
the page in the documentation.

Other changes:

- Fixed a bug I introduced when I overhauled the
  docker_container.running state, in which a container with no changes
  to be made, which was not running, would be started by the state even
  when test=True was passed.
- Custom registry image names are now properly identified. The colon in
  the hostname of the custom registry was previously causing incorrect
  identification of the image name and tag, when no explicit tag was
  being passed (e.g. localhost:5000/myimage).
- When configuring credentials, the creds for the Docker Hub can be
  configured under a registry named ``hub``. This keeps the user from
  having to figure out the registry URL and configure it in their Pillar
  data, and thus makes using this module easier.
- Removes the email address from the documentation for credential
  configuration. This was probably initially added because docker-py
  accepts it as an argument, but it is entirely ignored for purposes of
  authentication (even by docker-py) and is thus unnecessary. Relic of
  an earlier time in Docker's history, perhaps?
- Fixed RST references to functions which weren't caught when this
  module was renamed to dockermod.py
- Allow filter arguments in docker.networks to be passed as a
  comma-separated list as well as a Python list, in keeping with general
  usage elsewhere in Salt.
2017-04-03 13:29:28 -05:00
Erik Johnson
1e2a04cfc5 Backport auth and custom registry fixes from #40480 to 2016.3 branch 2017-04-03 13:20:53 -05:00
rallytime
24e812add6 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/cache/__init__.py
  - salt/grains/core.py
  - salt/utils/gitfs.py
  - tests/unit/cache/test_localfs.py
  - tests/unit/modules/test_ssh.py
2017-04-03 10:17:11 -06:00
Pedro Algarvio
863d8d453f
Ignore the unimplemented abstract method 2017-04-01 23:23:50 +01:00
Pedro Algarvio
d198a900a4
Remove unused imports 2017-04-01 19:01:09 +01:00
Pedro Algarvio
d6d3161f80
Use a temporary configuration instead 2017-04-01 19:00:14 +01:00
Pedro Algarvio
9fd126c904
Use a temporary configuration instead 2017-04-01 18:58:03 +01:00
Pedro Algarvio
c6fce40a2a
Use a temporary configuration instead 2017-04-01 18:57:25 +01:00
Pedro Algarvio
e2a5b1bf54
Use a temporary configuration instead 2017-04-01 18:56:46 +01:00
Pedro Algarvio
ec7182a292
Use a temporary configuration instead 2017-04-01 18:55:48 +01:00
Pedro Algarvio
f5c36f0048
Integration tests should not use the temporary config 2017-04-01 18:33:28 +01:00
Pedro Algarvio
f66eaa45bf
Use a temporary configuration 2017-04-01 14:30:27 +01:00
Pedro Algarvio
8056479853
This argument is not required when used as a ctx manager 2017-04-01 14:26:11 +01:00
Pedro Algarvio
2ebd04e7ce
Use a temporary configuration 2017-04-01 14:26:11 +01:00
Pedro Algarvio
26e60e825c
Allow creating a temporary configuration to be used for a single test 2017-04-01 14:25:55 +01:00
Pedro Algarvio
4f068f5217
Misplaced test. Use tests.support.unit instead. 2017-04-01 14:23:00 +01:00
Pedro Algarvio
f8d7530a58
Proper mocking. 2017-04-01 14:22:59 +01:00
Pedro Algarvio
a15aa32404
Proper mocking. 2017-04-01 14:22:59 +01:00
Pedro Algarvio
a0245b049f
Proper mocking. 2017-04-01 14:22:59 +01:00
Pedro Algarvio
174625618a
Add mixin to assert XML equality 2017-04-01 14:22:58 +01:00
Pedro Algarvio
22b15a134e
Proper mocking. 2017-04-01 14:22:58 +01:00
Pedro Algarvio
06bc81dc3d
Proper mocking. 2017-04-01 14:22:58 +01:00
Pedro Algarvio
3a5ec6bb0a
Minor lint fix 2017-04-01 14:22:58 +01:00