Commit graph

1376 commits

Author SHA1 Message Date
jctanner
fff161f2f6 Smart mode for sftp+scp (#17813)
If the sftp fails, roll over to scp by default. This saves users
from having to know about the scp_if_ssh method when sftp is broken
on the remote host.
2016-09-29 17:44:54 -04:00
Matt Clay
670536f685 Revert "Clear the plugin path cache when adding new directories" (#17785)
This reverts commit 5a57313dd7.
2016-09-27 16:17:35 -07:00
James Cammarata
5a57313dd7 Clear the plugin path cache when adding new directories 2016-09-27 14:48:35 -05:00
Brian Coca
3550f73837 removed deprecated first available file from tasks (#17643)
https://docs.ansible.com/ansible/porting_guide_2.0.html#deprecated
2016-09-27 12:31:46 -04:00
Brian Coca
f63b8878fd fix delegate_facts (#17736)
code was misplaced when we changed result processing
also cleaned up import and clarified item/label
fixes #17582
2016-09-27 11:51:16 -04:00
peter.jang
0d94d39689 fix for rsync protocol support (#16756) 2016-09-23 16:12:07 -04:00
James Cammarata
6666d13654 Add max_passes to the debug strategy override of _process_pending_results
Fixes #17520
2016-09-22 10:49:30 -05:00
jctanner
a2547db5b5 ini lookup: add 'type' to the list of known arguments (#17707)
Fixes #16556
2016-09-22 11:32:14 -04:00
Brian Coca
1e4e188318 changed missing file error to warning for lookups (#16800)
* changed missing file error to warning for lookups

* changed plugins that expected exception

warning will still be displayed, they now work with None value
2016-09-20 15:05:11 -04:00
James Cammarata
4dc2bf4815 Take ITERATING_ALWAYS into account when setting failed state in PlayIterator
Fixes #15963
2016-09-20 11:11:52 -05:00
Timothy Appnel
1975a545bd Implements verbose always to assert action plugin module (#17654) 2016-09-20 10:52:21 -05:00
James Cammarata
1b54d3b6dc Merge branch 'threaded_receiver' into devel 2016-09-20 09:18:26 -05:00
James Cammarata
1d2e1a5648 Do not set run_once for meta noop tasks
Fixes #17581
2016-09-19 14:27:02 -05:00
Toshio Kuratomi
5e9a8d9202 Fix password lookup py3 plus alikins unittest additions refactoring (#17626)
* Improve unit testing of 'password' lookup

The tests showed some UnicodeErrors for the
cases where the 'chars' param include unicode,
causing the 'getattr(string, c, c)' to fail.
So the candidate char generation code try/excepts
UnicodeErrors there now.

Some refactoring of the password.py module to make
it easier to test, and some new tests that cover more
of the password and salt generation.

* More refactoring and fixes.

* manual merge of text enc fixes from pr17475

* moving methods to module scope

* more refactoring

* A few more text encoding fixes/merges

* remove now unused code

* Add test cases and data for _gen_candidate_chars

* more test coverage for password lookup

* wip

* More text encoding fixes and test coverage

* cleanups

* reenable text_type assert

* Remove unneeded conditional in _random_password

* Add docstring for _gen_candidate_chars

* remove redundant to_text and list comphenesion

* Move set of 'chars' default in _random_password

on py2, C.DEFAULT_PASSWORD_CHARS is a regular str
type, so the assert here fails. Move setting the
default into the method and to_text(DEFAULT_PASSWORD_CHARS)
if it's needed.

* combine _random_password and _gen_password

* s/_create_password_file/_create_password_file_dir

* native strings for exception msgs

* move password to_text to _read_password_file

* move to_bytes(content) to _write_password_file

* add more test assertions about genned pw's

* Some cleanups to alikins and abadger's password lookup refactoring:

* Make DEFAULT_PASSWORD_CHARS into a text string in constants.py
  - Move this into the nonconfigurable section of constants.
* Make utils.encrypt.do_encrypt() return a text string because all the
  hashes in passlib should be returning ascii-only strings and they are
  text strings in python3.
* Make the split up of functions more sane:
   - Don't split such that conditionals have to occur in two separate functions.
   - Don't go overboard: Good to split file system manipulation from parsing
     but we don't need to do every file manipulation in a separate
     function.
  - Don't split so that creation of the password store happens in two
    parts.
  - Don't split in such a way that no decisions are made in run.
* Organize functions by when it gets called from run().
* Run all potential characters through the gen_candidate_chars function
  because it does both normalization and validation.
* docstrings for functions
* Change when we store salt slightly.  Store it whenever it was already
  present in the file as well as when encrypt is requested.  This will
  head of potential idempotence bugs where a user has two playbook tasks
  using the same password and in one they need it encrypted but in the
  other they need it plaintext.
* Reorganize tests to follow the order of the functions so it's easier
  to figure out if/where a function has been tested.
* Add tests for the functions that read and write the password file.
* Add tests of run() when the password has already been created.
* Test coverage currently at 100%
2016-09-19 11:37:57 -07:00
Michael Scherer
968101f611 Fix #17624 (#17627)
Even if the size of the network is 0, it should have a netmask.
2016-09-19 11:58:20 -04:00
Peter Sprygada
ff52e01a11 Merge pull request #17625 from skg-net/dellos6_template
Added support for template module for Dell Networking OS6 devices
2016-09-18 22:26:20 -04:00
Joshua Elsasser
fa5f8a7543 Fix slaac filter (#17551) 2016-09-17 23:52:10 +02:00
Senthil Kumar Ganesan
463349c0d1 Added support template module for Dell Networking OS6 devices 2016-09-17 10:55:40 -07:00
James Cammarata
5a57c66e3c Moving result reading to a background thread 2016-09-17 08:12:52 -05:00
Peter Sprygada
2a7c87a3b7 fixes AttributeError: 'Task' object has no attribute '_block'
This addresses a problem when *_config or *_template network modules are
being used in roles.  The module will error with the above message.  This
fixes that problem

fixed ansible/ansible-modules-core#4840
2016-09-16 22:04:22 -04:00
Toshio Kuratomi
ce4c0fd644 Use text strings when using display() to avoid UnicodeError tracebacks 2016-09-16 16:24:19 -07:00
Senthil Kumar Ganesan
bb9ed50441 Renamed the Modules from dnos* -> dellos*, updated copyright, removed… (#17617)
* Renamed the Modules from dnos* -> dellos*, updated copyright, removed dnos6_template

* Addressed @gundalow comments
2016-09-16 22:45:08 +01:00
Adrian Likins
3e754086b6 Fix error using jsonfile with incomplete config (#17567)
If 'fact_caching=jsonfile' was configured, but
'fact_caching_connection' was not configured, jsonfile
would fail and ansible-playbook would exit with a traceback.

Fixes #17566
2016-09-16 15:08:02 -04:00
jctanner
29fda4be1e copy action plugin: recurse into sub folders of the source (#17614)
* copy action plugin: recurse into sub folders of the source

Fixes #13013

* Fix python3 bytes/strings

* Fix py3 again

* test
2016-09-16 14:26:19 -04:00
James Cammarata
dfb1c0647e Revert "Move queuing tasks to a background thread"
This reverts commit b71957d6e6.
2016-09-15 17:00:06 -05:00
Toshio Kuratomi
70e63ddf6c Fix cow mode to work with unicode task and play names (#17576)
Fixes #17560
2016-09-14 20:02:35 -07:00
Senthil Kumar Ganesan
68f1705d18 Add action plugin for dnos6_config module (#17553) 2016-09-14 20:55:45 +01:00
Senthil Kumar Ganesan
7d9b07382b Add action pluging for dnos9_template module (#17549) 2016-09-14 20:40:55 +01:00
Senthil Kumar Ganesan
564e02c3c3 Add action plugin for dnos6_template module (#17554) 2016-09-14 20:37:56 +01:00
Senthil Kumar Ganesan
daba7fa057 Moved the dnos10_template.py action plugin to the correct directory (#17550) 2016-09-14 20:28:01 +01:00
Adrian Likins
8438da2a34 Make jsonfile cache plugin errors less vague. (#17568) 2016-09-14 14:10:12 -04:00
Adrian Likins
c633022fca [wip] Let jsonfile and memcached cache plugins understand fact_caching_timeout=0 (#17565)
* Add support for no-expiration to jsonfile cache

* Let memcached cache use fact_caching_timeout=0

If fact_cache=memcached and fact_caching_timeout=0
memcached would hit a NameError on _expire_keys
2016-09-14 13:27:42 -04:00
Brian Coca
4656b6a846 added msg info to unreachable for oneline callback
fixes #17367
2016-09-14 11:33:01 -04:00
Senthil Kumar Ganesan
c6acf44a7c Added support for dnos9_config module 2016-09-13 10:42:12 -07:00
Brian Coca
7450629733 better display for free strategy (#17355) 2016-09-13 12:59:32 -04:00
Abhijit Menon-Sen
07756a4265 Remove extraneous . from VALID_FILE_EXTENSIONS
Otherwise if you «include_vars: vars.json», you get this error:

    "message": "/path/to/vars.json does not have a valid extension: yaml, yml, .json"
2016-09-13 19:41:26 +05:30
Peter Sprygada
16d6274276 raise exception when src file is not found in net_config
This will now raise an exception if the file path specified in src is not
found and the module will gracefully error.

ref #4797
2016-09-12 10:00:35 -04:00
James Cammarata
f5cff2ced5 Revert "Flush the queued items in linear periodically"
This reverts commit d3418fd658.
2016-09-11 14:28:49 -05:00
Robin Schneider
d76dd56ca3
Use addresses and names reserved for documentation
Trying to preserve the meaning of the examples. Not all occurrences in
`docsite/rst/playbooks_lookups.rst` have been changed for instance to
allow the unchanged examples to be used for testing.

Related to: #17479
2016-09-11 17:31:41 +02:00
James Cammarata
d3418fd658 Flush the queued items in linear periodically 2016-09-10 09:43:49 -05:00
James Cammarata
6b206f5d00 Re-adding processing of results inline with queuing tasks for linear 2016-09-10 09:43:49 -05:00
Brian Coca
0aaee0272a using delegated host's facts when delegating (#17489)
fixes #17313
2016-09-09 17:26:47 -04:00
Alvaro Aleman
e8897a9b91 Fix from_yaml for non-string_types. This resolves #17397 (#17398) 2016-09-09 13:21:58 -04:00
Brian Coca
cd2f60e11a take delegated vars before removing them
fixes #17455
2016-09-09 09:55:24 -04:00
Dag Wieers
2daf527e63 Fix fileglob filter to work just like fileglob lookup plugin (#17480)
The fileglob lookup plugin only returns files, not directories.
This is to be expected, as a mixed list would not be very useful in with_fileglob.
However the fileglob filter does return anything glob.glob() returns.

This change fixes this, so that fileglob returns files (as the name indicates).

PS We could also offer a glob filter for thos that would need it ?

This relates to comments in issue #17136 and fixes confusion in #17269.
2016-09-09 09:37:29 -04:00
Dag Wieers
1df924e1d5 Clean up unarchive action plugin (#17429) 2016-09-09 09:27:38 -04:00
Maciej Delmanowski
f5a4677680 Allow for no prefix in the comment filter (#17421)
In the 'comment' filter, if the 'prefix' parameter is set as empty,
don't add an empty line before the comment. To get the previous
behaviour (empty line before comment), set the prefix to '\n'.
2016-09-09 09:23:39 -04:00
Tobias Wolf
9838d6420a Re-fix the per-item diff output, (#17458)
which got lost in recent big 'performance improvements' merge by @jimi-c.

I had made a previous PR to fix this, then @bcoca had committed an
improved fix. Now it's lost again.

cf: d2b3b2c03e (lost here)
cf:  25e9b5788b (previous fix)

Earlier PR #14849
Earlier issue #14843

Please note that jimi-c broke this last time as well ... seeing a
pattern here.
2016-09-08 11:59:35 -04:00
Andrea Tartaglia
ba28f1a2da Make ssh_executable available as ansible_ssh_* variable (#17450) 2016-09-07 14:13:11 -07:00
Brian Coca
65c373c55a fixed bad condition hiding results 2016-09-07 12:55:03 -04:00