Commit Graph

440 Commits

Author SHA1 Message Date
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
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
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
Benjamin Drung
8cada9573f Fix typos of retrieve 2016-04-04 14:27:41 +02:00
twangboy
3c1c076d78 Fix unit tests 2016-03-30 08:46:02 -06:00
Mike Place
4ad92da5c4 Merge pull request #32214 from jtand/fix_test_kill
Undo previous fix for a more correct fix for process_test.test_kill
2016-03-29 13:15:20 -06:00
Justin Anderson
b25e995efd Lint fix 2016-03-29 10:57:46 -06:00
Justin Anderson
5a57f2e1c6 Undo previous fix for a more correct fix for process_test.test_kill 2016-03-29 09:58:28 -06:00
Nicole Thomas
f513e401d8 Merge pull request #32188 from jtand/fix_test_kill
Fix test kill
2016-03-28 16:38:48 -06:00
Justin Anderson
0f4f303380 Lint fix 2016-03-28 12:37:52 -06:00
Justin Anderson
a74bb9b67f Fix the process_test.test_kill failure in 2016.3 2016-03-28 11:33:55 -06:00
Justin Anderson
d172b1d270 Fix the process_test.test_kill failure in 2016.3 2016-03-24 14:31:43 -06:00
twangboy
158ebc76b8 Fix unit tests for mac_utils 2016-03-22 13:46:19 -06:00
rallytime
6360ecd3b3 Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/cloud/clouds/scaleway.py
  - salt/config/__init__.py
  - salt/log/mixins.py
  - salt/minion.py
  - salt/modules/ps.py
  - salt/utils/decorators/__init__.py
  - salt/utils/schema.py
  - tests/unit/modules/etcd_mod_test.py
  - tests/unit/modules/file_test.py
2016-03-18 11:26:12 -06:00
Justin Anderson
ef2db9a301 Skipping some boto tests that are broken 2016-03-17 11:05:43 -06:00
Pedro Algarvio
2fcc916c6a
Make sure all started processed, at least and as a last resort, are killed. 2016-03-16 19:40:49 +00:00
Pedro Algarvio
e1281e34cc
Don't assume the tests suite is running as root 2016-03-16 19:40:49 +00:00
Pedro Algarvio
916b6b402d
Skip tests if urllib3 is not installed 2016-03-16 19:40:48 +00:00
Nicole Thomas
03e8b72655 Merge pull request #31904 from rallytime/merge-2015.8
[2015.8] Merge forward from 2015.5 to 2015.8
2016-03-16 11:23:54 -06:00
rallytime
892591a39c More pylint fixes 2016-03-15 15:50:05 -06:00
Bo Maryniuk
1882e1c960 Adjust test 2016-03-08 20:08:18 +01:00
twangboy
75546eadaf Fix tests for mac_utils 2016-03-04 16:36:02 -07:00
twangboy
6cf7a4b364 Add missing import 2016-03-04 10:55:23 -07:00
twangboy
5d6de86a25 Fix some lint 2016-03-04 10:53:11 -07:00
twangboy
88d5db9cdd Add tests for remaining functions 2016-03-04 10:53:11 -07:00
twangboy
69aa8f8cbf Add test for execute_return_success 2016-03-04 10:53:11 -07:00
Colton Myers
076b49a4ca Merge remote-tracking branch 'upstream/2015.8' into merge-forward-2016.3
Conflicts:
    README.rst
    doc/conf.py
    doc/ref/index.rst
    doc/ref/proxy/all/salt.proxy.ssh_sample.rst
    doc/topics/installation/rhel.rst
    doc/topics/releases/2015.8.4.rst
    doc/topics/tutorials/states_pt5.rst
    salt/cloud/clouds/ec2.py
    salt/cloud/clouds/opennebula.py
    salt/config/__init__.py
    salt/modules/boto_dynamodb.py
    salt/modules/boto_ec2.py
    salt/modules/boto_elasticache.py
    salt/modules/boto_elb.py
    salt/modules/boto_iam.py
    salt/modules/boto_rds.py
    salt/modules/boto_sns.py
    salt/modules/boto_sqs.py
    salt/modules/dracr.py
    salt/modules/git.py
    salt/modules/mine.py
    salt/modules/systemd.py
    salt/modules/win_pkg.py
    salt/modules/yumpkg.py
    salt/pillar/__init__.py
    salt/states/git.py
    salt/states/rabbitmq_vhost.py
    salt/states/saltmod.py
    salt/utils/pkg/rpm.py
    setup.py
    tests/unit/modules/systemd_test.py
    tests/unit/states/rabbitmq_vhost_test.py
2016-02-11 22:33:49 -07:00
Colton Myers
67e17b3022 Revert "Deprecated code removed. " 2016-02-10 11:40:48 -07:00
Erik Johnson
763581798b Add unit tests to ensure a valid provider 2016-02-08 15:18:11 -06:00
justinta89
ef36afe5de Removed deprecated jid code and corresponding test 2016-02-05 09:05:54 -07:00
Steve Hajducko
a015473d4e Add etcd update function
Adds a update function that takes a dict and sets multiple etcd keys.
2016-01-25 14:13:33 -08:00
Sean Jenkins
e44a30620b Remove recurse_list from pillar_source_merging_strategy and add pillar_merge_list (bool) instead 2016-01-19 15:06:30 -07:00
rallytime
39b49621ad Merge branch '2015.8' into 'develop'
Conflicts:
  - salt/beacons/service.py
  - salt/cloud/clouds/vmware.py
  - salt/modules/file.py
  - salt/modules/ipset.py
  - salt/modules/npm.py
  - salt/modules/rpm.py
  - salt/states/file.py
  - salt/utils/event.py
  - salt/utils/schedule.py
  - tests/unit/modules/state_test.py
2016-01-14 13:33:53 -07:00
Mike Place
11d27ba694 Mock config module in utils test 2016-01-11 16:31:21 -07:00
Sean Jenkins
41353b7ab3 Remove recurse_list from pillar_source_merging_strategy and add pillar_merge_list (bool) instead 2015-12-29 10:22:54 -07:00
Sergey Kizunov
a37a2700af ZeroMQ no longer required when transport is TCP
salt/master.py:
- If ZMQ is not importable, use `tornado.ioloop.IOLoop` as the loop class.
- Check HAS_ZMQ before using any zmq.* content.
- Did not touch `FloMWorker` usage of zmq.*. This is only used when the
transport is RAET.

salt/minion.py:
- If ZMQ is not importable, use `tornado.ioloop.IOLoop` as the loop class.
- Check HAS_ZMQ before using any zmq.* content.

salt/transport/ipc.py:
- Added `IPCMessagePublisher`. This is intended to function much like
ZMQ's zmq.PUB sockets. Used in implementing utils/event.py to function
without ZMQ.
- Added `IPCMessageSubscriber`. This is intended to function much like
ZMQ's zmq.SUB sockets. Used in implementing utils/event.py to function
without ZMQ. What makes this class a bit different is that the associated
IO Loop is meant to not be running when it is used. Due to this, it is
recommended that the caller create a new IO Loop for this purpose. The
reason for this is that the `get_event()` API may be invoked from
anywhere, whether or not there is a current IO Loop that is running in
the thread of the invocation.

salt/utils/async.py:
- If ZMQ is not importable, use `tornado.ioloop.IOLoop` as the loop class.

salt/utils/event.py:
- Implemented using `salt.transport.ipc` instead of ZMQ.
- zmq.PUB ==> `IPCMessagePublisher`
- zmq.SUB ==> `IPCMessageSubscriber`
- zmq.PUSH ==> `IPCMessageClient`
- zmq.PULL ==> `IPCMessageServer`

Signed-off-by: Sergey Kizunov <sergey.kizunov@ni.com>
2015-12-07 20:22:16 -06:00
Steve Hajducko
cef6eff7c8 Catch ValueError on timeout on non-existing key
The etcd watch function tries to read a key when it reaches the timeout
in order to obtain details about the key.

On python 2.6, when it tries to re-read the key, it throws a ValueError,
since python-etcd doesn't officially support python 2.6.  The watch
function wasn't catching this ValueError, so it was returning the
exception, rather than a blank dict.
2015-12-01 10:30:45 -08:00
Bastiaan Bakker
5226cd8f79 remove trailing whitespace
fix subdict_match test cases
2015-11-25 20:41:13 -07:00
Bastiaan Bakker
44713cdb95 fix issue 29191: only try partial matches when a wildcard has been specified 2015-11-25 20:41:13 -07:00
Bastiaan Bakker
7052479ad3 remove trailing whitespace
fix subdict_match test cases
2015-11-25 17:12:17 +01:00
Bastiaan Bakker
e3af8d2151 fix issue 29191: only try partial matches when a wildcard has been specified 2015-11-25 16:03:33 +01:00
Colton Myers
d76d62877d Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    salt/modules/git.py
    salt/renderers/gpg.py
    salt/utils/__init__.py
2015-11-17 16:24:43 -07:00
Mike Place
5b680c938a Merge pull request #28950 from DSRCompany/pr/28812_which
PR 28812 which test fix
2015-11-17 08:32:16 -07:00
Dmitry Kuzmenko
18571000c5 Fix which test in PR#28812 2015-11-17 11:29:41 +03:00
Todd Tomkinson
ba94878f45 marathon and chronos proxy minions 2015-11-12 10:03:38 -07:00
Todd Tomkinson
f6ccc0e250 marathon and chronos proxy minions 2015-11-11 10:51:28 -07:00
Steve Hajducko
455f40b0d2 Refactor etcd modules
The etcd modules were using bits and pieces of python-etcd directly and
were using outdated exceptions to catch errors.  These errors were
causing issues when trying to use etcd modules for logic.

A summary of changes
    - Most of the 'work' is now done in etcd_util
    - Removed import of python-etcd from states/etcd_mod and the
      returner
    - Added new tests for etcd_util
    - Put in proper exceptions and catches for python-etcd
    - Added support for ValueError catching.  python-etcd doesn't
      support python 2.6 and raises ValueError when trying to format
      exceptions
    - Added watch function to etcd execution module
    - Added autospec to unit tests so hopefully less brittle
    - Added TTL and directory features to the set function

*BACKWARDS INCOMPATIBLE CHANGES*

All interfaces are still backwards incompatible.  However, the returns
from several of the etcd util functions have been changed.  The old
returns presented issues with certain test cases.  For instance, a
failed 'get' returned '', but a key with no value will also return ''.

The same issues occured with the 'ls', 'tree' and 'set' functions.  Trying to
ls a blank directory returned the same result as a failed ls of a
non-existent key.
2015-11-06 16:29:50 -08:00
rallytime
9ea33bf0e4 Pylint fixes 2015-10-16 07:22:46 -06:00
Domingo Kiser
4af5b5c33f introduce recurse_list pillar_source_merging_strategy 2015-10-16 05:24:40 -06:00
Mike Place
6d46a38d5d Whitespace lint
Refs #27891
2015-10-13 09:15:12 -06:00