Commit Graph

2837 Commits

Author SHA1 Message Date
rallytime
a7eb8f717e Merge branch 'nitrogen' into 'develop'
No conflicts.
2017-04-21 09:50:25 -06:00
Andrey Arapov
4c29c5f6ab
dockerng: avoid network duplication and add driver_opts 2017-04-21 08:52:55 +02:00
rallytime
d5b1241972 Skip tsl unit test when we hit an error due to OpenSSL and junos-eznc packaging conflict
he pip junos-eznc package, when installed with PyOpenSSL version 0.14 causes
this test failure. If you either remove junos-eznc, or upgrade PyOpenSSL
(current is 0.17) the test is happy. So, we need to handle this case in the test.
2017-04-20 17:02:33 -06:00
rallytime
885419b3e7 Merge branch 'nitrogen' into 'develop'
No conflicts.
2017-04-17 13:27:58 -06:00
Mike Place
f7b062acd7 Merge pull request #40266 from meaksh/develop-pkg-improvements
[develop] Adding "pkg.downloaded" state and support for installing patches/erratas
2017-04-17 11:34:42 -06:00
Pablo Suárez Hernández
fa9e7f01f7 Pylint fix 2017-04-17 14:18:09 +01:00
Pablo Suárez Hernández
40422ecd02 Adding more unit tests for Zypper module 2017-04-17 13:06:35 +01:00
Pablo Suárez Hernández
5701e90803 Adding unit tests for Zypper execution module 2017-04-17 13:02:08 +01:00
rallytime
f552dd63f3 Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - pkg/windows/installer/Salt-Minion-Setup.nsi
  - tests/unit/states/test_tomcat.py
2017-04-14 10:46:56 -06:00
Ch3LL
60724980ec
fix test_fstype test for mac 2017-04-13 12:04:20 -04:00
rallytime
749840ce5f Merge branch 'nitrogen' into 'develop'
No conflicts.
2017-04-11 15:11:46 -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
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
Chris Heald
5139275602 Add env support for rvm.installed and rvm.do, opts support for .installed
Currently, the RVM state has no way to pass environment variables (ie, RUBY_CONFIGURE_OPTS)
or compilation flags (-C, --patch) to the Ruby installer. This patch enables this
functionality, permitting installation of customized Ruby installs. For example, the following
should now work:

   ruby-2.3.0:
     rvm.installed:
       - env:
           - RUBY_CONFIGURE_OPTS: --with-jemalloc
       - opts:
           - '--patch /path/to/my.patch'
           - '-C --enable-shared,--with-readline-dir=$HOME/.rvm/usr'
2017-04-10 12:40:56 -07:00
Nicole Thomas
93818257cb Merge pull request #40591 from rallytime/merge-nitrogen
[nitrogen] Merge forward from 2016.11 to nitrogen
2017-04-10 12:07:16 -06:00
rallytime
5a419b8aae Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/modules/pillar.py
2017-04-07 11:23:41 -06:00
rallytime
4a75675d07 Merge branch '2016.11' into 'nitrogen'
Conflicts:
  - doc/topics/cloud/azurearm.rst
  - salt/modules/aptpkg.py
  - salt/modules/dockermod.py
  - tests/unit/modules/dockerng_test.py
2017-04-07 11:20:51 -06: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
Nevins Bartolomeo
b3a4d016c9 Mock cmd.run_stdout not cmd.run 2017-04-06 16:48:10 -04: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
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
843e218572
Remove unmocked patching 2017-04-05 23:17:36 +01: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
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
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
4a43d00d80
Proper mocking 2017-04-04 18:58:19 +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
Eric Radman
3299f5b2ea Add mocks to allow keyboard tests to function on non-Linux systems 2017-04-03 22:11:38 -04: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
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
a0245b049f
Proper mocking. 2017-04-01 14:22:59 +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
9a11538b54
Stop using deprecated TestCase methods 2017-04-01 14:22:57 +01:00
Pedro Algarvio
83db7547e7
Proper mocking. 2017-04-01 14:22:55 +01:00
Pedro Algarvio
da7192014e
Py3 compat 2017-04-01 14:22:52 +01:00
Pedro Algarvio
d05028e88c
These are not integration tests 2017-04-01 14:22:51 +01:00
rallytime
55405bcd30 Renamed unit.modules.tuned_test.py to test_tuned.py and updated salttesting imports 2017-03-31 12:23:46 -06:00
rallytime
2d73fca4d0 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/cloud/clouds/vmware.py
  - salt/modules/win_dsc.py
  - salt/modules/win_psget.py
  - tests/unit/utils/vmware_test/test_cluster.py
  - tests/unit/utils/vmware_test/test_common.py
  - tests/unit/utils/vmware_test/test_connection.py
  - tests/unit/utils/vmware_test/test_datacenter.py
  - tests/unit/utils/vmware_test/test_host.py
2017-03-31 10:09:56 -06:00
rallytime
0da4c46b68 Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/utils/__init__.py
  - salt/utils/gitfs.py
  - tests/unit/modules/ssh_test.py
2017-03-31 09:59:59 -06:00
rajvidhimar
8d83d482c5 Correct the junos unit tests which mock getattr 2017-03-31 16:19:21 +05:30
Mathieu Le Marec - Pasquet
fa2f9cf7bd Make returncode friendly to onfail requisites
Ensure that correctly handled states execution (via onfail)
will return a 0 code if onfail requisites suceed.
2017-03-31 00:22:51 +02:00
Nicole Thomas
fbbe0127f5 Merge pull request #40432 from rallytime/merge-develop
[develop] Merge forward from 2016.11 to develop
2017-03-30 15:57:57 -06:00
Lukas Raska
24cc9b2a0c [WIP] Refactor Elasticsearch execution and state modules (#40192)
* Add Ingest pipeline methods to Elasticsearch execution module

* Refactor Elasticsearch execution module and properly handle exceptions

* Throw CommandExecutionError in methods applicable for different Elasticsearch versions

* Refactor Elasticsearch states to reflect execution module changes

* Add state for managing Elasticsearch pipelines

* Fix few typos in Elasticsearch module, return None when deleted document doesn't exist

* Implements stats and health methods for Elasticsearch

* Add Elasticsearch methods to open/close index, manage search templates and repositories

* Merge existing Elasticsearch states into single one, add Search Template handling

* Add index alias state for Elasticsearch, fix documentation

* Catch all global exceptions in Elasticsearch states, unit test all of them

* Implement few Unit tests for Elasticsearch execution module, merge fixes into deprecated elastic states

* Implement additional unit tests for Elasticsearch execution module

* Finalize Elasticsearch module documentation
2017-03-30 13:22:58 -06:00
rallytime
1792acedc0 Merge branch '2016.11' into 'develop'
Conflicts:
  - salt/template.py
  - tests/unit/modules/dockerng_test.py
2017-03-30 12:32:24 -06:00