Commit graph

7770 commits

Author SHA1 Message Date
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
Matt Clay
07a76bece1 Update submodule refs. 2016-09-16 16:25:47 -07: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
ftigeot
9df8a2565f Fix distribution fact on DragonFly (#17619)
* By default, ansible_distribution is not set on DragonFly systems,
  preventing some distribution-specific tests from being written

* This commit fixes the issue by returning the quite logical value
  of "DragonFly" when appropriate
2016-09-16 17:32:54 -04:00
nvigot
10f840e80d include_vars now properly deals with hash_behaviour (#15895) 2016-09-16 15:40:38 -04: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
Brian Coca
4e60f23198 remove bare variable support from loops (#17519)
* remove bare variable support from loops

* Added new 'removed deprecated' section to changelg

also added removed items from this PR and others
2016-09-16 12:54:52 -04:00
Toshio Kuratomi
d9c0773609 Update submodule refs 2016-09-16 09:18:19 -07:00
Nathaniel Case
b753e8dc48 Add simple checks for libraries to junos 2016-09-16 11:30:19 -04:00
Andrea Tartaglia
e0a77bb8d5 Pass the absolute path to dirname when assigning basedir (#17457)
* Pass the absolute path to dirname when assigning basedir

If no path is specified when calling the playbook, os.path.dirname(playbook_path) returns ''
This will cause failure when creating the retry file.

Fixes #17456

* Updated to use os.pathdirname(os.path.abspath())
2016-09-16 08:19:43 -07:00
Peter Sprygada
697888965e Merge pull request #17603 from skg-net/dnos10_facts
Added support for facts module for Dell Networking OS10 device.
2016-09-16 08:02:44 -04:00
Toshio Kuratomi
8af8eec789 Merge pull request #17590 from abadger/vault-fixes
Vault fixes
2016-09-15 18:39:34 -07:00
Senthil Kumar Ganesan
769fa1c2d7 Support for dnos10_facts module 2016-09-15 16:16:17 -07:00
Toshio Kuratomi
e70066a6f7 Many Cleanups to vault
* Make is_encrypted_file handle both files opened in text and binary mode
  On python3, by default files are opened in text mode.  Since we know
  the encoding of vault files (and especially the header which is the
  first set of bytes) we can decide whether the file is an encrypted
  vault file in either case.
* Fix is_encrypted_file not resetting the file position
* Update is_encrypted_file to check that all the data in the file is ascii
* For is_encrypted_file(), add start_pos and count parameters
  This allows callers to specify reading vaulttext from the middle of
  a file if necessary.
* Combine VaultLib.encrypt() and VaultLib.encrypt_bytestring()
* Change vault's is_encrypted() to take either text or byte strings and to return False if any part of the data is non-ascii.
* Remove unnecessary use of six.b
* Vault Cipher: mark a few methods as private.
* VaultAES256._is_equal throws a TypeError if given non byte strings
* Make VaultAES256 methods that don't need self staticmethods and classmethods
* Mark VaultAES and is_encrypted as deprecated
* Get rid of VaultFile (unused and feature implemented in a different way)
* Normalize variable and parameter names on plaintext, ciphertext, vaulttext
* Normalize variable and parameter names on "b_" prefix when dealing with bytes
* Test changes:
  * Remove redundant tests( both checking the same byte string)
  * Fix use of format string without format operator
  * Enable vault editor tests on python3
  * Initialize the vault_cipher for VaultAES256 testing in setUp()
  * Make assertTrue and assertFalse take the actual method calls for
    better error messages.
  * Test that non-ascii byte strings compare correctly.
  * Test that unicode strings and ints raise TypeError

* Test-specific:
  * Removed test_methods_exist().  We only have one VaultLib so the
    implementation is the assurance that the methods exist. (Can use an abc for
    this if it changes).
  * Add tests for both byte string and text string input where the API takes either.
  * Convert "assert" to unittest assert functions or add a custom message where
    that will make failures easier to debug.
  * Move instantiating the VaultLib into setUp().
2016-09-15 15:22:06 -07:00
James Cammarata
dfb1c0647e Revert "Move queuing tasks to a background thread"
This reverts commit b71957d6e6.
2016-09-15 17:00:06 -05:00
jctanner
b93de25204 During initial argument evaluation, cast args to string. (#17595)
Later in the stack, further code will check and inform the user that var names must start with a letter
or underscore, so this fix only allows us to get to that previously existing policy.

Fixes #16008
2016-09-15 16:41:11 -04:00
Adrian Likins
2c54a8471f Improve inventory script error messages. (#17589)
When an inventory file looks executable (with a #!) but
isn't, the error message could be confusing. Especially
if the inventory file was named something like 'inventory'
or 'hosts'. Add some context and quote the filename.

This is based on https://github.com/ansible/ansible/pull/15758
2016-09-15 15:42:57 -04:00
Matt Davis
f497d771c8 win_shell/win_command changes + tests (#17557) 2016-09-15 11:25:56 -07:00
Senthil Kumar Ganesan
81072fcba1 Added support OS9 facts (#17591) 2016-09-15 19:22:23 +01:00
Toshio Kuratomi
ebc4d577de Update submodule refs 2016-09-15 09:58:59 -07:00
Brian Coca
cb071e043c updated subrefs 2016-09-15 11:43:50 -04:00
Monty Taylor
cd6e01349e Ensure parent tempdir's existence (#17585)
While doing evil things with action plugins, I hit a code path in which
the mkdir here was failing due to lack of parent dir. Changing this to
makedirs made everything happy. Now, I'd obviously like to understand
why the parent dir exists in some places and not others - but I could
not find anywhere that C.DEFAULT_LOCAL_TMP is ensured to be created.
2016-09-15 09:57:15 -04: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
Matt Clay
6787fc70a6 Update submodule refs. 2016-09-14 13:28:34 -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
Toshio Kuratomi
f4cd1c6321 Fix galaxy's parsing of the command line. (#17569)
Also make the parsing of the action in both galaxy and vault more
robust.

Fixes #17534
May Fix #17563
2016-09-14 11:49:54 -07: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
Ryan S. Brown
0bda419f66 Allow AWSRetry class to be created without boto3/botocore installed 2016-09-14 11:34:10 -04:00
Brian Coca
4656b6a846 added msg info to unreachable for oneline callback
fixes #17367
2016-09-14 11:33:01 -04:00
Adam Reznechek
23930d799f Fix cpu facts for hosts missing fields in cpuinfo (16533) (#16535)
Change linux fact gathering to correctly gather ansible_processor_count
and ansible_processor_vcpus on systems without vendor_id/model_name in
/proc/cpuinfo (for ex, ppc64/POWER)
2016-09-13 17:19:33 -04:00
Allen Sanabria
b510abce17 CloudRetry/AWSRetry backoff decorator with unit tests (#17039)
* Added aws_retry decorator function with unit tests

* Restructured the code to be used with a base class.

This base class CloudRetry can be reused by any other cloud provider.
This decorator should be used in situations, where you need to implement
a backoff algorithm and want to retry based on the status code from the
exception.

* updated documentation

* fixed tabs

* added botocore and boto3 to requirements.txt

* removed cloud.py from py24 tests, as it depends on boto3

* fix relative imports

* updated test to be 2.6 compat

* updated method name from retry to backoff

* readded lxd

* Updated default backoff from 2 seconds to 1.1s.

This will be about a total of 48 seconds in 10 tries. This is
configurable.
2016-09-13 16:46:59 -04:00
Brian Coca
60706cc12e doas update (#16997)
hopefully fixes #15597
2016-09-13 16:17:24 -04:00
Peter Sprygada
760fff8564 Merge pull request #17546 from skg-net/dnos9_config
Added support for dnos9_config module
2016-09-13 15:01:10 -04:00
Brian Coca
db8c952ee3 added new ksu method to man page
removed runas refrences, because it was never implemented
2016-09-13 14:40:41 -04:00
Nathaniel Case
5331dd482c Cleanup eos (#17548) 2016-09-13 14:29:06 -04:00
Senthil Kumar Ganesan
c6acf44a7c Added support for dnos9_config module 2016-09-13 10:42:12 -07:00
Nathaniel Case
8b3ae1e806 Cleanup netcfg.py (#17531)
Closes #17412
2016-09-13 13:40:32 -04:00
Peter Sprygada
c9d74e9a6e removes filter attribute from asa
This removes the filter attribute from the asa shared module and moves
the function to the asa_acl module where it was used.
2016-09-13 13:38:41 -04:00
Brian Coca
7450629733 better display for free strategy (#17355) 2016-09-13 12:59:32 -04:00
John R Barker
e326da28ff eos: cmd should be item (#17540)
Was changed during
7fe64ef9b8
however not all look variables were updated.
2016-09-13 17:17:35 +01: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
Toshio Kuratomi
b0d81a43d7 Update submodule refs 2016-09-13 07:07:12 -07:00
Brian Coca
8ebd8ca259 updated solaris virtualization detection (#17464)
avoid prtdiag since it seems to hang and require service restarts
hopefully fixes #4583
2016-09-13 09:03:05 -04:00
Nathaniel Case
036650cb09 Cleanup junos (#17530)
Closes #17411
2016-09-12 17:42:26 -04:00
Peter Sprygada
076a821821 Merge pull request #17468 from skg-net/dnos9_command
dnos9_command (new module)
2016-09-12 17:04:17 -04:00
Nathaniel Case
bfe341177b Cleanup netcli (#17529)
This honestly mostly amounts to Python 3 fixes.
2016-09-12 16:08:21 -04:00
Toshio Kuratomi
bf29961947 Fixes to the controller text model (#17527)
* Fixes to the controller text model

* Change command line args to text type
* Make display replace undecodable bytes with replacement chars.  This
  is only a problem on pyhton3 where surrogates can enter into the msg
  but sys.stdout doesn't know how to handle them.
* Remove a deprecated playbook syntax in unicode.yml

* Fix up run_cmd to change its parameters to byte string at appropriate times.
2016-09-12 12:57:41 -07:00
Toshio Kuratomi
9868117d1f Update submodule ref for core to fix broken service module 2016-09-12 11:55:39 -07:00
Toshio Kuratomi
499b13d649 Update submodule refs 2016-09-12 11:32:08 -07:00
Senthil Kumar Ganesan
1c7c3cc878 Addressed review comments from @gundalow 2016-09-12 11:26:22 -07:00
Senthil Kumar Ganesan
3e18676af4 Addded support for dnos9_command module 2016-09-12 11:26:22 -07:00
Nathaniel Case
060ed665f6 Cleanup nxos
closes #17414
2016-09-12 14:20:50 -04:00
Peter Sprygada
5aa83041bf Merge pull request #17474 from skg-net/dnos6_command
Add module_utils/dnos6.py
2016-09-12 13:40:56 -04:00
Peter Sprygada
cc45506006 Merge pull request #17521 from privateip/fix-4797
raise exception when src file is not found in net_config
2016-09-12 13:40:01 -04:00
Nathaniel Case
fcd4be28ee Cleanup openswitch
Also bump get_config in vyos, to pick up the addition of **kwargs

Closes #17415
2016-09-12 13:35:57 -04:00
Senthil Kumar Ganesan
05e016e4aa Addressed @gundalow review comments 2016-09-12 10:08:10 -07:00
Senthil Kumar Ganesan
94df740ca3 Added support for dnos6_command module 2016-09-12 10:08:10 -07:00
Toshio Kuratomi
6117e1946e Check controlpersist (#17443)
* Add a new config option to cache the check for controlpersist on the
control machine.

Fixes #15844

* Remove the option and make the behavior the default

* Make the check for controlpersist cache its status per-ssh executable
2016-09-12 08:27:39 -07:00
Nathaniel Case
2077e32ddd Vyos cleanup
Addresses #17416
2016-09-12 11:19:09 -04:00
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
Peter Sprygada
4e325274d6 Merge pull request #17512 from privateip/nxos
roll up of updates to nxos shared module
2016-09-12 09:44:07 -04:00
Peter Sprygada
7777c38b95 Merge pull request #17508 from privateip/sros
updates sros shared module
2016-09-12 09:43:55 -04:00
Peter Sprygada
e83567a8ec Merge pull request #17509 from privateip/vyos
roll up of updates to vyos shared module
2016-09-12 09:43:47 -04:00
Peter Sprygada
560984d282 Merge pull request #17511 from privateip/junos
updates junos shared module methods
2016-09-12 09:43:30 -04:00
Peter Sprygada
7c4dad4275 Merge pull request #17513 from privateip/eos
cleans up load_config() in eos shared module
2016-09-12 09:42:30 -04:00
Peter Sprygada
ebe2400af8 Merge pull request #17510 from privateip/iosxr
clean up iosxr shared module
2016-09-12 09:42:11 -04:00
John R Barker
8a3b520f70 Add missing space in loop variable reuse message (#17516) 2016-09-12 08:35:23 -04:00
Peter Sprygada
f4af154bef Merge pull request #17506 from privateip/openswitch
minor clean of openswitch shared module
2016-09-11 23:57:13 -04:00
Peter Sprygada
db744e1233 Merge pull request #17507 from privateip/netcfg
removes unneeded message in netcfg
2016-09-11 23:57:03 -04:00
nitzmahone
8d1f96dd82 bump core submodule ref for win_user fixes 2016-09-11 20:45:46 -07:00
Peter Sprygada
d2e4ddf0b0 roll up of updates to nxos shared module
* combine same functions into NxapiConfigMixin class
* update Cli and Nxapi to use mixin
2016-09-11 23:40:31 -04:00
Peter Sprygada
e9f804614d removes unneeded message in netcfg
removes old warning message in netcfg that is no longer used
2016-09-11 23:38:44 -04:00
Peter Sprygada
815a683e9c minor clean of openswitch shared module
* updates regexp entries
* removes legacy 2.1 code for get_module()
2016-09-11 23:37:19 -04:00
Peter Sprygada
75f1573ed5 roll up of updates to vyos shared module
* cleans up method signature
* removes save_config method in favor of super class
2016-09-11 23:35:54 -04:00
Peter Sprygada
a6cf394ebc updates sros shared module
* adds rollback to load_config() method
* updates error regexp list
2016-09-11 23:34:46 -04:00
Peter Sprygada
e5d931de6b updates junos shared module methods
* cleans up load_config() arguments to simply
* removes unused methods in Cli transport
* updates error regexp
2016-09-11 23:33:20 -04:00
Peter Sprygada
a8daff1590 clean up iosxr shared module
fixes up method signatures in iosxr shared module removing unneeded **kwargs
2016-09-11 23:32:05 -04:00
Peter Sprygada
456fbf011e cleans up load_config() in eos shared module
cleans up the load_config() method
2016-09-11 23:30:51 -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
Chris Houseknecht
39aa740531
Use LooseVersion comparison. Default docker_api_version to 'auto'. 2016-09-10 03:02:50 -04:00
Peter Oliver
c87d84f5b8 Filesystem blocks are of size f_frsize (#17493)
The statvfs(3) manpage on Linux states that `f_blocks` is the "size of fs in `f_frsize` units".  The manpages on Solaris and AIX state something similar.

With ext4 on Linux, I suspect that `f_bsize` and `f_frsize` are always identical, masking this error.  On Solaris, the sizes differ for each of ufs, vxfs and zfs causing the `size_available` and `size_total` facts to be set incorrectly on this OS.
2016-09-09 17:39:39 -04:00
Brian Coca
a3028783d4 removed previously deprecated ';' host separator 2016-09-09 17:32:53 -04:00
Brian Coca
0aaee0272a using delegated host's facts when delegating (#17489)
fixes #17313
2016-09-09 17:26:47 -04:00
jctanner
af2ce7725b Iterate through role paths when installing roles (#17487)
* Iterate through role paths when attempting to install roles
2016-09-09 16:50:50 -04:00
Alvaro Aleman
e8897a9b91 Fix from_yaml for non-string_types. This resolves #17397 (#17398) 2016-09-09 13:21:58 -04:00
Peter Sprygada
19e00cf160 Merge pull request #17481 from privateip/junos
minor update to catch expection if trying close a non existent session
2016-09-09 10:42:05 -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
Peter Sprygada
1dac6edbe4 minor update to catch expection if trying close a non existent session
This will prevent the junos shared module from throwing an exception if
the session is trying to be closed when it doesn't exist
2016-09-09 09:34:12 -04:00
Dag Wieers
d52a9cee46 Support late evaluation, suppress warnings on SyntaxError (#17462)
See #14304 comments (https://github.com/ansible/ansible/pull/14304#issuecomment-245453209) for more information.
2016-09-09 09:33:23 -04:00
Matt Martz
eefe359d6b Don't use the shell to catch output, catch output in python. Fixes #17137 (#17449) 2016-09-09 09:30:37 -04:00