Commit Graph

6661 Commits (4d4c364ba89299d5a497492dd542a89df67fc2ab)

Author SHA1 Message Date
Brian Coca 2b5fffa751 updated to use to_unicode as per feedback 9 years ago
Marc Pujol 6779f91b88 Avoid duplicate /bin/lsblk calls in the setup module.
The setup module calls /bin/lsblk once for each device appearing in the /etc/mtab file. However, the same device appears there mutliple times when the system uses bind-mounts. As a result, /bin/lsblk is being called repeatedly to get the uuid of the same device.

On a system with many mounts, this leads to a TimeoutError in the get_mount_facts function of the setup module as described in #14551.

Fixes #14551
9 years ago
Marcus Furlong 90fb809f62 fix ansible_os_family fact on openSUSE Leap
ansible_os_family on openSUSE Leap has the wrong value:

        "ansible_os_family": "openSUSE Leap",

It should be:

        "ansible_os_family": "Suse",

This change fixes that by adding the relevant key and ensuring that dict
lookups replace ' ' with '_' so the key does not contain a space.
9 years ago
Yannig Perré 588045cc46 Improve message content to get more hint about the raised error. 9 years ago
Peter Sprygada 91f3558c64 minor bugfix that will catch connection errors in eos
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
9 years ago
Peter Sprygada 0d3c0515c0 minor bugfix that will catch connection errors in ios
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
9 years ago
Peter Sprygada b72b14fdf2 minor bugfix that will catch connection errors in iosxr
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
9 years ago
Peter Sprygada 1a072578c3 minor bugfix that will catch connection errors in junos
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
9 years ago
Peter Sprygada 9e31e33850 minor bugfix that will catch connection errors in nxos
This commit fixes a situation where connection errors would be caught
but no useful information display.  The connection error is now caught
and emitted in a call to fail_json
9 years ago
James Cammarata 58a6cf822a Merge pull request #13203 from willthames/galaxy_10620
Allow tree-ish versions for ansible-galaxy
9 years ago
George Christou 56239ee347 Make --diff colours configurable 9 years ago
Brian Coca 6102a4b9b4 template also when only comments present 9 years ago
Brian Coca b9d0662faf use stat module instead of checksum code
- added new function for action plugins this avoids the very fragile checksum code that is shell dependant.
- ported copy module to it
- converted assemble to new stat function
- some corrections and ported temlpate
- updated old checksum function to use new stat one under the hood
- documented revamped remote checksum method
9 years ago
Yair Fried c3b30d251f Fix openstack auth type
Otherwise auth type defaults to 'str' and shade fails
9 years ago
George Christou 8edcca0ef5 Add simple --diff colour support 9 years ago
Brian Coca 6ddea3e915 removed follow from common file docs 9 years ago
Brian Coca 6dc910c13a shell + become fixes
1 less level of shell + quoting
simplified become commands, less quote and shell
9 years ago
Brian Coca bc41f46fec pushed non-atomic to option of last resort
try to copy into place first
9 years ago
Pascal Grange 5d49f4e629 Fix related to #13981
When working around "bad systems that insist on not allowing
updates in an atomic manner", we should not run previous exception
management code that tries to perform atomic move in case of
exception since the dirty non atomic move has already been
performed.
9 years ago
Brian Coca 0bb49090cf make some options not mandatory to pass
this should simplify api calls
9 years ago
James Cammarata 06b072c1f7 Fix bugs related to task_includes and dep chain inheritance
* Fix the way task_include fields were created and copied
* Have blocks get_dep_chain() look at task_include's blocks for proper
  dep chain inheritance
* Fix the way task_include fields are copied to prevent a recursive
  degradation

Fixes #14460
9 years ago
Peter Sprygada 22aaff5af7 adds new action plugin iosxr_template
This adds a new action plugin iosxr_template that allows the
iosxr_template module to pass network device configurations through the
template engine.  It also allows configurations to be backed up.
9 years ago
James Cammarata 275728e0f6 Fixing bugs related to nested blocks inside roles
* Make sure dep chains are checked recursively for nested blocks
* Fixing iterator is_failed() check to make sure we're not in a
  rescue block before returning True
* Use is_failed() to test whether a host should be added to the TQM
  failed_hosts list
* Use is_failed() when compiling the list of hosts left to iterate
  over in both the linear and free strategies

Fixes #14222
9 years ago
Brian Coca 00f600bfc8 Merge pull request #14319 from bcoca/shell_plugin_revamp
moved to base class for shell plugins
9 years ago
Sandra Wills edf776d6a4 Merge pull request #13805 from aioue/patch-1
profile_tasks README.md
9 years ago
Tom Paine edb36b6c4a Update profile_tasks.rst
remove brackets on links
9 years ago
Peter Sprygada 09a6bf5c15 Merge pull request #14432 from chouseknecht/net_common_cleanup_2
Cleanup for networking common bits.
9 years ago
Brian Coca a327420b67 properly combine vars if merge is set
hash_behaviour = merge now also applies to include vars
9 years ago
James Cammarata c485981d1a Merge pull request #14445 from marcpo/maint/display_string_causing_exception
Display the string which is causing an exception to be raised.
9 years ago
Brian Coca af68ae1e87 switched from threading to multiprocessing
functions same, just keeping names from confusing people
9 years ago
James Cammarata df4912957c Merge pull request #14442 from bcoca/remove_signal_handling
removed signal trapping
9 years ago
Toshio Kuratomi 37879ea671 Update submodule refs 9 years ago
Marc Poirier 0792983ec8 Display the string which is causing an exception to be raised.
In the ansible template module, when there is an error while
expanding a templated string, displaying the string causing the
exception is very useful.
9 years ago
Brian Coca effa64383c removed signal trapping 9 years ago
Brian Coca 347b28252a allow skipping tasks due to undefined var
mimic 1.x behaviour but give out big deprecation message, not only
for missing attribute but any undefined error.
9 years ago
Brian Coca cd076dbcfa Merge pull request #14421 from bcoca/terminate
Terminate
9 years ago
Brian Coca a8aa5ff4eb fix cartesian lookup
it seems that this was not working in 1.9 but we swallowed up the error
fixes #14437
9 years ago
Peter Sprygada cf251258a8 initial add of new action plugin junos_template
This adds a new action plugin, junos_template that allows the
the junos_template module to perform the templating function.  It
implements net_template
9 years ago
Peter Sprygada 8f9badb2b4 update shared module junos to handle root logins 9 years ago
Peter Sprygada 9c36c0aa80 minor bug fixes and updates to shell 9 years ago
chouseknecht 5a45ca8bb1 Move Conditional class to netcfg. Added error handling for connect and execute methods.
Fix comments
9 years ago
Toshio Kuratomi 9286143b53 Merge pull request #14374 from robinro/fix-mount-without-permission-bug
add ismount function in module_utils
9 years ago
Toshio Kuratomi 6276585882 Module params should default to str in most cases. 9 years ago
Brian Coca 64c976a6c3 Merge pull request #14416 from bcoca/diff_size_fix
read full file when doing diff
9 years ago
Brian Coca 38120c1075 termination handling
- moved to base cli class to handle centrally and duplicate less code
- now avoids duplication and reiteration of signal handler by reassigning it
- left note on how to do non-graceful in case we add in future
  as I won't remember everything i did here and don't want to 'relearn' it.
9 years ago
Brian Coca 3079a03773 read full file when doing diff
but avoid reading file at all or full file when file is too big for diffing
9 years ago
Toshio Kuratomi 371c7315b0 Merge pull request #14261 from kamsz/devel
Add validate_certs param to skip SSL verification in VMware
9 years ago
Toshio Kuratomi 486304ba1c Clarify error message when module replacer encounters a bad import line for module_utils code 9 years ago
Brian Coca d9dcb2a427 Revert "centralized TERM signal handling"
This reverts commit 5a88478ccc.
is WIP, not ready for use yet
9 years ago
James Cammarata 2adddac94c Catch exceptions during module execution so they don't fail the worker
Fixes #14120
9 years ago
Brian Coca 5a88478ccc centralized TERM signal handling 9 years ago
Brian Coca 1b8dec9c88 avoid termination message when term is internal 9 years ago
Brian Coca b4b24a0889 moved to base class for shell plugins
fish now sets env vars correctly
fish checksum now works
fixed and cleaned up imports
fixed typo
9 years ago
Brian Coca f50b381dba Merge pull request #13678 from Etherdaemon/fix_datetime_objects
fix for datetime exception in ecs_tasks
9 years ago
James Cammarata a54f472b08 Submodule pointer update for devel 9 years ago
Matthew Stoltenberg d36394d6a6 strip BECOME-SUCCESS at lower level
Fixes #14395
9 years ago
James Cammarata 162dd2594f Filter become success string from the stdout of script results
Fixes #14390
9 years ago
Kamil Szczygiel 9f1eea43fa support for python < 2.7 9 years ago
Toshio Kuratomi 0f15e59cb2 Also hide the before state of files with --diff and no_log 9 years ago
Toshio Kuratomi 06b2400aae Need to apply to_str to each element of the list so that we don't mix types in the join()
"Third time's the charm"
9 years ago
Brian Coca 81a40ac235 fix winrm erorr formatting 9 years ago
Brian Coca 5014919099 Merge pull request #14347 from bcoca/die_now
fix termination on user/signal interrupt
9 years ago
Jonathan Davila b220051c14 Added more info to the no action detected error
Error fix
9 years ago
Tom Paine 8e3cc3eecd Update profile_tasks.rst 9 years ago
Toshio Kuratomi 1aaf5a399c Merge pull request #14317 from resmo/feature/fail_on_missing_params
module_utils/basic: add generic method for checking for missing param…
9 years ago
Robin Roth f3f3e3c660 fix typo 9 years ago
Robin Roth c0ebb74ad0 add ismount function from python Lib/posixpath.py
needed for https://github.com/ansible/ansible-modules-core/pull/2737
9 years ago
Brian Coca 46ce9a0016 Merge pull request #13883 from shaba/devel
Add support ssh configs from /etc/openssh.
9 years ago
Tom Paine 5a88cd8ad9 Rename profile_tasks.md to profile_tasks.rst 9 years ago
James Cammarata 1ea21f1f8c Also chmod the args file path when using become for old-style modules
Fixes #14348
9 years ago
Brian Coca 5a1887cc76 correctly handle term signals
- adhoc now terminates gracefully
- avoid race condition on terminations by ignoring errors if
  worker might have been reaped between checking if active and termination call
- ansible-playbook now properly exits on sigint/term
- adhoc and playbook now give exceptions that we should not normally capture
  and rely on top level finally to reap children
- handle systemexit breaks in workers
- added debug to see at which frame we exit
partial fix for #14346
9 years ago
James Cammarata 45755bc0e5 Merge pull request #14353 from felixfontein/devel
Include's tags argument allows only one tag to be specified.
9 years ago
Toshio Kuratomi ccbc7d217b Update submodule refs 9 years ago
Toshio Kuratomi d1c2d16706 Allow setting run_command environment overrides for the life of an AnsibleModule 9 years ago
Felix Fontein 8eea1c7e01 Allowing multiple tags to be specified in include's tags argument. 9 years ago
Brian Coca ad37a91514 really only want to prevent None typep here
false is sometimes needed
9 years ago
Matt Martz 0e57c577f4 Add RedirectHandler class and factory function for controlling redirects in urllib2 9 years ago
Tom Paine 9eca815377 Update profile_tasks.md
Converted to RST.
9 years ago
James Cammarata c79d9a9c62 Handle run_once scenarios in the free strategy
* Raise an error if the action is using BYPASS_HOST_LOOP, to prevent
  unexpected behavior from those actions
* Show a warning regarding tasks marked as run_once, as the free strategy
  does not yet support that behavior
* Minor tweak to linear strategies run_once code to make sure we don't
  raise an error if an action isn't found
9 years ago
James Cammarata 27f9cc05f8 Make sure run_once tasks also set any_errors_fatal so all hosts fail
Currently implemented only in the linear strategy (free strategy simply
ignores run_once/BYPASS_HOST_LOOP actions).

Fixes #14252
9 years ago
Brian Coca d2846dbf30 Merge pull request #14280 from bcoca/always_tag_setup
WIP: tag the setup task with always
9 years ago
Peter Sprygada 18094d8595 Merge pull request #14313 from chouseknecht/net_template_changes
When in context of a role, create backup dir within role_path
9 years ago
Brian Coca 5679b5414c avoid errors from possible None/False args 9 years ago
James Cammarata 75b6f61619 Fix the way we re-add variables from PlayContext to the variable dict
* If the internal value is None, do not add the variable
* Make sure all aliases for a given variable name are set (if they're
  not already set in the dictionary)

Fixes #14310
9 years ago
Rene Moser 11522b22c3 module_utils/basic: add generic method for checking for missing params when argspec can not be used. 9 years ago
Toshio Kuratomi e2a7ba35db Fix --diff to respect no_log task parameter. 9 years ago
chouseknecht 4f61fb6cce Add safety check on _backup key. 9 years ago
chouseknecht 0766219f58 When in context of a role, create backup dir within role_path 9 years ago
Toshio Kuratomi 4b7b3794c9 Update submodule refs 9 years ago
Brian Coca 89c57666c3 fixed py3 compatibility 9 years ago
Brian Coca 70ac47ae61 allow atomic_move to not be atomic ...
just 'cause people build bad systems that insist on not allowing
updates in an atomic manner and force us to do them in a very
unsafe way that has race conditions and can lead to many issues.

if using this option you should really be opening a bug report with
the system that only allows for this type of update.

and now i shower though i doubt i'll feel clean
9 years ago
Peter Sprygada f30d5b1d94 Merge pull request #14012 from privateip/action_nxos_config
initial add of action plugin nxos_template
9 years ago
Peter Sprygada c7180cf1a5 Merge pull request #14011 from privateip/action_ops_config
initial add of action plugin ops_template
9 years ago
Peter Sprygada a48b521e62 Merge pull request #14010 from privateip/action_ios_config
initial add of action plugin ios_template
9 years ago
Peter Sprygada 30d03b93b4 Merge pull request #14009 from privateip/action_eos_config
initial add of action plugin eos_template
9 years ago
Peter Sprygada ed3842aa87 Merge pull request #14008 from privateip/action_net_config
initial add of action plugin net_template
9 years ago
Brian Coca 6149685652 Merge pull request #14293 from dagwieers/fix-eval-json-booleans
Defined JSON booleans in global context for python eval()
9 years ago
Matt Martz 8bc2d3be9c Add new 'unsafe' YAML constructor 9 years ago
Dag Wieers 2e171610e0 Also add 'null' as a possible JSON value 9 years ago
James Cammarata 699a854bf3 Fixing bugs in play iteration and strategies
* Fixed a bug in PlayIterator when ITERATING_ALWAYS, where the block
  was advanced but the incorrect data structure elements were cleared
* Cleaned up the logic of is_failed() in PlayIterator
* Fixed a bug in the free strategy which had not been updated to use
  the base strategy _execute_meta() method
* Stopped strategies from using is_failed() to determine if tasks should
  still be fetched for a host

Fixes #14040
9 years ago
James Cammarata da9ae14ff6 Adding new feature - meta: clear_host_errors
Allows for the clearing of any failed/unreachable hosts
9 years ago
Dag Wieers dc48d27dd2 Defined JSON booleans in global context for python eval()
We define 'false' and 'true' as variables so that python eval() recognizes them as False and True.

This fixes #14291.
9 years ago
Brian Coca 26cd465068 Merge pull request #14281 from dagwieers/fix-first-found-list
Handle when the lookup-plugin is used in jinja-style
9 years ago
Dag Wieers dee5dba82a Handle when the lookup-plugin is used in jinja-style
This fixes #14190.
9 years ago
Brian Coca dc6f0c1290 avoid logging color codes 9 years ago
Tobias Wolf c902f926ca Do not print empty diffs with _display.display() 9 years ago
Tobias Wolf 28169492f9 Do not insert newlines when diff is empty 9 years ago
Tobias Wolf 67594e8ec2 Fix handling of difflist containing multiple before/after pairs
Commit ansible/ansible@c337293 introduced a difflist feature. The return
value was not adequately outdented to append any diff after the first.
9 years ago
Peter Sprygada 4bda4a13e5 initial add of action plugin net_template
The net_config local action handles templating for network configuration
file.  It will also allow network device configurations to be backed up
to the control host

Note: this plugin was originally named net_config but has been refactored to
net_template
9 years ago
Brian Coca 84f8241ff8 tag the setup task with always
fixes #14228
9 years ago
Toshio Kuratomi 42e312d3bd Change $() into backticks. Backticks should work for both POSIX and non-POSIX compatible shells.
Fixes #14176
9 years ago
Toshio Kuratomi 147dba5d97 Merge pull request #14277 from ansible/default-shell-type
Establish sh as the default shell plugin.
9 years ago
Toshio Kuratomi 5b1d8cfd5c Establish sh as the default shell plugin.
This is a fix for one of the problems pointed out in #14176
9 years ago
Brian Coca 8d4bc2003f better fix for ansible-pull inventory handling
now it mirrors what it did in previous versions
and properly uses inventory and limit options
9 years ago
Brian Coca 197bed6fd8 make executable setting connection dependant
winrm shoudl not use executable, rest should?
fixes #14233
9 years ago
James Cammarata b2c0abe998 Don't mark host as having gathered facts when peeking at next task
Fixes #14243
9 years ago
Kamil Szczygiel fa13aa8c00 rename param from skip_ssl to validate_certs 9 years ago
Brian Coca a584ab3420 Merge pull request #11113 from sysadmin75/11104_osx_facts_bridge
Fixes OSX fact gathering for the bridge interface.
9 years ago
Brian Coca f628704a71 added option groups to make --help readable
Also moved -K to become to keep short option in view of removing the
separate sudo/su prompt options
9 years ago
Brian Coca eafc31f3f8 Merge pull request #14197 from bcoca/safer_data_load
load now does not modify the incomming data
9 years ago
Brian Coca dc15eb806e deprecate all bare variable conversions (not debug)
now deprecation message appears with variable name in all spots where this occurs
debug's var= option is excluded as this is only place where bare variables shold actually
be accepted.
9 years ago
Brian Coca 28cf4bc00b fix incorrect environment processing
it was assumed it could only be a dict or string (it starts out as a list)
also a 2nd assumption that bare vars only would appear in one of the dict keys.

removed deprecation warnings from here as they should be signaled in the bare conversion itself.
9 years ago
Brian Coca 6a62ad6c4b hide internal params once used 9 years ago
Brian Coca e0ed88e668 normalize error message on src != dir when local
now action plugin returns same error as module
9 years ago
Matt Martz ddfab5faf1 Use isinstance type checks in bool filter so we can handle unsafe proxy objects. Fixes #14240 9 years ago
Peter Sprygada b2f1c0691d initial add of action plugin ops_template
Adds new local action ops_config for handling openswitch configurations using
either dc or cli based configurations.  Implements the common net_config
local action.

Note this refactors the ops_config plugin to ops_template
9 years ago
Peter Sprygada 4f2a75923e initial add of action plugin ios_template
Adds a new local action ios_config for working with cisco ios configuration
files.  Implements the common net_confing local action

Note this plugin was refactored from ios_config to ios_template
9 years ago
Peter Sprygada 54f7a7b6d2 initial add of action plugin nxos_template
Adds new local action for working with cisco nxos configurations.  Implemements
the net_config local action.

Note this action plugin was refactored from nxos_config to nxos_template
9 years ago
Peter Sprygada be82caefd2 initial add of action plugin eos_template
Adds a new local action for eos_config module to handle templating configs
and backing up running configurations.   Implements the local action
net_config

Note this action was refactored from eos_config to eos_template
9 years ago
Peter Sprygada 1733bf4053 minor update for nxos
This fixes a minor bug in the nxos config module to ensure that both the
cli and nxapi transport return the running config as a string and not
a list object.
9 years ago
Peter Sprygada 633b16d116 add exeception handling for invalid commands over nxapi
This commit will catch invalid commands being send over nxapi and call
fail_json on the module.  The nxos shared module will now return the
failure
9 years ago
Brian Coca 49c15c8137 Merge pull request #14220 from bcoca/ansible_pull_once
harcoding inventory/hosts when pulling from repo
9 years ago
Toshio Kuratomi 9e3932ffca Some attributes of callbacks aren't in v2. Port plugins to the v2 way to do that
Update porting guide with info on callback porting
9 years ago
Toshio Kuratomi fb57818ea3 Explicitly set validate_certs=False as the boto default is True
Fixes #14089
9 years ago
Brian Coca 7964a35918 harcoding inventory/hosts when pulling from repo
return to pre 2.0 behaviour which did not factor inventory into the repo pull
9 years ago
Brian Coca 1aae6499ca fixed code for v1 callback runtime compatiblity
old exception code obsoleted by exception avoidance
errors on callback produce warnings and don't stop play
9 years ago
James Cammarata 5587b08335 Make sure setup tasks inherit properly from their parent play
Fixes #13602
9 years ago
Toshio Kuratomi ceef202024 Update submodule refs 9 years ago
Toshio Kuratomi 315fd15f69 Merge pull request #12909 from photoninger/sles11.4-fix_2nd_try
Fix for SLES 11.4, which has now also an /etc/os-release file.
9 years ago
Brian Coca dd4787701f fix unicode input for template lookup
fixes #14207
9 years ago
James Cammarata 0c237c4531 Merge pull request #14191 from paulcalabro/devel
Added hyphen (-) as a valid character for permissions
9 years ago
Brian Coca db375c22af load now does not modify the incomming data
also removed json loader as yaml loader can do both
9 years ago
Toshio Kuratomi 2c825539ff When setting up the local connection for the rsync we need to set the shell as well.
Fixes #13490
9 years ago
Matt Martz 4547ac7fb1 v2 version of slack callback plugin 9 years ago
Paul Calabro 901d349f45 Adding a hyphen in the perms pattern section, since doing something like
go=- is a quick way to strip all permissions for non-owners.
9 years ago
Toshio Kuratomi 5ecfa8ddfc Merge pull request #14189 from ansible/unicode-pager
Changes to convert to unicode at the borders
9 years ago
Toshio Kuratomi 605fb08487 Merge pull request #14168 from ansible/safer-squashing
Squashing was occuring even though pkgs didn't have a template that would be affected by squash
9 years ago
Toshio Kuratomi fa9822df0f Changes to convert to unicode at the borders
The module docs and vault changes solve issues where tracebacks can
happen.  The galaxy changes are mostly refactoring to be more pythonic
with a small chance that a unicode traceback could have occurred there
without the changes.  The change in __init__.py when we actually call
the pager makes things more robust but could hide places where we had
bytes coming in already so I didn't want to change that without auditing
where the text was coming from.

Fixes #14178
9 years ago
Toshio Kuratomi e7a9031d61 Update submodule refs 9 years ago
Toshio Kuratomi 0e410bbc8a Squashing was occuring even though pkgs didn't have a template that would be affected by squash
This broke other uses of looping (looping for delegate_to in the
reported bug)

Fixes #13980
9 years ago
Brian Coca c857b20043 fixed issue with vars prompt warning causing error
sometimes display object is not magically available, use it explicitly,
no need to be classmethod anymore
fixes #14147
9 years ago
Toshio Kuratomi 3f3e3e3d5b Return an error when synchronize is used with something other than an ssh connection
Suggested in #2832
9 years ago
Kamil Szczygiel a381c1bbd6 added skip_ssl argument for VMware module to skip SSL verification (required when using self signed certificates) 9 years ago
Brian Coca 6bf2f45ff5 fix for so su works in more cases
should not fail anymore on csh, fish nor the BSDs
fixes #14116
9 years ago
Peter Sprygada 4fa6902c96 address minor bugs in nxos shared module
This addresses two issues with the nxos shared module.  The first issue is
argument precedence checking.  The module should prefer explicit arguments
over arguments passed vi the provider.  This is now fixed to honor that
precedence.  The second issue is collecting output from nxapi and returning
the response.  Prior to this change the entire json structure was returned.
Now just the output is returned to align it better with cli based output
9 years ago
Peter Sprygada c59916c43d fixes issue with eos shared module argument precedence
The eos shared module should prefer to use explicit task arguments over
arguments provided through the provider.  This fixes a problem where
that was not the case
9 years ago
James Cammarata a61e51efb7 Don't try to generate retry files if the tqm hasn't been initialized
Fixes #14144
9 years ago
Toshio Kuratomi cb2b19ced8 Fix for inventory hosts on localhost with alternate ports.
Fixes https://github.com/ansible/ansible-modules-core/issues/2831
9 years ago
James Cammarata 3ed3a5f43a Make retry file generation not use StringIO 9 years ago
James Cammarata 78d499140c Re-implementing the retry file feature for 2.0
Fixes #13944
9 years ago
James Cammarata 07a9a54b0e Fix lookup of parent attribute when parent doesn't have the attr
Fixes #14100
9 years ago
Brian Coca 66104191d1 fixed permissions check for ansible.log
fixes #13990
9 years ago
Brian Coca 46fde754af Merge pull request #14044 from skorochkin/devel
Adding support for scm-based role source urls (ansible-galaxy)
9 years ago
Tobias Wolf 5b293b56d6 Handle the key 'prepared' in the 'diff' result from modules
So far, when a 'diff' dict is returned with module results, it is
checked for 'before' and 'after' texts, which are processed in
_get_diff() by python difflib.  This generates the changes to display
when CLI users specify --diff.

However, some modules will generate changes that cannot easily be
expressed in a conventional diff. One example is the output of the
synchronize module, which presents changed files in a common log format
as in `rsync --itemize-changes`.

Add a check for a diff['prepared'] key, which can contain prepared diff text
from modules.
9 years ago
Toshio Kuratomi c44110bc81 Update submodule refs to pick up the synchronize internal parameter 9 years ago
Toshio Kuratomi a23a5d1b93 Merge pull request #13968 from ansible/synchronize-become-is-reversed
synchronize: First cut at not doing sudo on the control machine but on the remote machine instead.
9 years ago
Toshio Kuratomi d0a062ffa3 python3 doesn't have raw explicit-unicode literals. Workaround it with a raw native string that we make unicode in py2. 9 years ago
Toshio Kuratomi 3cf59d30f7 For synchronize, fix sudo to execute on the remote end of the connection
* In 2.0.0.x become was reversed for synchronize. It was happening on
  the local machine instead of the remote machine. This restores the
  ansible-1.9.x behaviour of doing become on the remote machine.
  However, there's aspects of this that are hacky (no hackier than
  ansible-1.9 but not using 2.0 features).  The big problem is that it
  does not understand any become method except sudo.  I'm willing to use
  a partial fix now because we don't want people to get used to the
  reversed semantics in their playbooks.
* synchronize copying to the wrong host when inventory_hostname is
  localhost
* Fix problem with unicode arguments (first seen as a bug on synchronize)

Fixes #14041
Fixes #13825
9 years ago
Toshio Kuratomi f4d68b8860 Transform tracebacks into unicode before printing
Fixes #14042
9 years ago
Brian Coca c063803a91 raise AnsibleError as an 'expected' exception
fixes #14065
9 years ago
Brian Coca 9df0662408 simpler conditional 9 years ago
Jonathan Davila 041e1979c4 Boto3 error handle fix 9 years ago
Brian Coca ac1d1673be adhoc now respects limit when listing hosts
also removed cruft about localhost as if used it is specified inline
fixes #13848
9 years ago
Jonathan Davila f95652e7db Merge remote-tracking branch 'upstream/devel' into ec2_util_boto3 9 years ago
Brian Coca 87fe32319f ensure stdout callback alwasy is loaded first
it is now called for every event prior to any other callbacks
fixes #14114
9 years ago
Brian Coca af88e34831 better error when host inventory script isnt dict 9 years ago
James Cammarata a8ffa02134 Make sure blocks use their parents dependency chains
Fixes a bug inroduced in fb797a9 where included tasks in a role
were not being executed because the child blocks had no dep chain
set.
9 years ago
James Cammarata 2b02e8e2b4 Allow certain base attributes to be used as role params
Role definitions typically require params to be different from those
which are specified as FieldAttributes on the playbook classes used
for roles, however a certain subset should be allowed (typically those
used for connection stuff).

Fixes #14095
9 years ago
James Cammarata 46ede563dd Use templated handler name during callback
Fixes #14082
9 years ago
James Cammarata fb797a9e77 Fixing role dependency chain creation
The dep chain for roles created during the compile step had bugs, in
which the dep chain was overwriten and the original tasks in the role
were not assigned a dep chain. This lead to problems in determining
whether roles had already run when in a "diamond" structure, and in
some cases roles were not correctly getting variables from parents.

Fixes #14046
9 years ago
Emilien Kenler 3b71710827 ansible.utils._git_repo_info() now supports branch names with slashes 9 years ago
James Cammarata 4651155942 Fix bug with any_errors_fatal where task was not available 9 years ago
James Cammarata d02dee37a1 Disallow setting state on template tasks
Fixes #14056
9 years ago
Toshio Kuratomi ecf867af6f Update submodule refs 9 years ago
Toshio Kuratomi f594cc0a5b Merge pull request #13993 from towolf/avoid_json_to_unicode
Avoid recursively checking JSON inventory for Unicode
9 years ago
Tobias Wolf d6ae9e2c29 Avoid recursively checking JSON inventory for Unicode
by moving to en-bloc unicode conversion to act on scripts stdout

Both python-json and simplejson always return unicode strings when using
their loads() method on unicode strings. This is true at least since
2009. This makes checking each substring unnecessary, because we do not
need to recursively check the strings contained in the inventory dict
later one-by-one

This commit makes parsing of large dynamic inventory at least 2 seconds
faster.

cf: https://github.com/towolf/ansible-large-inventory-testcase
9 years ago
Brian Coca f26adcc7da avoid shredding empty files, also x/0
also cleaned up unused import and exception var
9 years ago
Sergii Korochkin 1325c21ca0 Adding support for scm-based role source urls (incl. integration test to cover it) 9 years ago
James Cammarata 627dec716b Template the run_once value in the linear strategy as we use it there
This is pre-post_validation, so we have to template it on the fly
as we use it to determine if we bypass the host loop.

Fixes #11876
9 years ago
James Cammarata 365c5b23ce Re-add cache clearing call to Inventory init
This prevents a bug where the existing cache outside of the class
is not cleared when creating a new Inventory object. This only really
affects people using the API directly right now, but wanted to fix it
to prevent weird errors from popping up.
9 years ago
Brian Coca c2ac1507ea corrected host/group match in inventory_hostnames
now the lookup works when using ! and & operators
fixes #13997
9 years ago
James Cammarata 9b05a670c7 Merge pull request #14031 from selivan/devel
plugins/strategy: added significant details to parser error message.
9 years ago
James Cammarata 54cde0d082 Standardize removal of BECOME-SUCCESS method and use it for async too
Fixes #13965
Fixes #13971
9 years ago
Toshio Kuratomi 61009604e3 Update submodules to bring in yum fix 9 years ago
Toshio Kuratomi d97d28ecb0 Merge pull request #14025 from ansible/run_command-env-rework
rework run_command's env setting to not change os.environ for the res…
9 years ago
Selivanov Pavel 3201f5d90e plugins/strategy: added significant details to parser error message.
See discussion at
https://github.com/ansible/ansible/issues/13753
9 years ago
Toshio Kuratomi a68d90a71a rework run_command's env setting to not change os.environ for the rest of the module.
New param to run_command to modify the environment for just this invocation.
Documentation and comment adjustments.
9 years ago
Matt Martz d49b11e996 Only use os.path.basename if get_file_content returned a value, and ensure that service_mgr has line endings stripped. Fixes #14026 9 years ago
Brian Coca cc4506b451 Merge pull request #14006 from bcoca/always_shell_again
go back to always wrapping commands in shell
9 years ago
James Cammarata ac89b0de7a Fix incorrect handling of any_errors_fatal in the linear strategy
Instead of bombing out of the strategy, we now properly mark hosts failed
so that the play iterator can handle block rescue/always properly.

Fixes #14024
9 years ago
James Cammarata e3a6accc1d Forward conditionals onto included plays when conditional eval errors
When using a playbook-level include, we now catch any errors raised during
the conditional evaluation step and set a flag to indicate we need to pass
those conditionals on to the included play (most likely because they contain
inventory variables for evaluation).

Fixes #14003
9 years ago
James Cammarata c8bbdd6b39 Don't assign both parent blocks and task includes to blocks
This causes problems when fetching parent attributes, as the include
was being skipped because the parent block would fetch the attribute
from the parent play first.

Fixes #13872
9 years ago
Brian Coca c09c01a1f5 go back to defaulting wrapping commands in shell
this was taken out in an effort to default to the user's shell but creates issues as this is not known ahead of time
and its painful to set executable and shell_type for all servers, it should only be needed for those that restrict the user
to specific shells and when /bin/sh is not available. raw and command may still bypass this by explicitly passing None.
fixes #13882

still conditional
9 years ago
Peter Sprygada 981265ac84 adds provider argument to nxos shared module
The provider argument accepts the set of device common arguments as a
dict object.  Individual connection arguments can still be included and
take priority over the provider argument.  This update includes additions
to the nxos doc fragment
9 years ago
Peter Sprygada 9cba1a7c69 adds provider argument to ios shared module
New argument `provider` added to the ios shared module that provides
the ability to pass all of the common ios arguments as a dict.  This commit
includes some minor bugfixes and refactoring of names.   It also includes
udpates to the ios documentation fragment for the new argument
9 years ago
Peter Sprygada e2ff26a5cf add provider argument to eos shared module
Adds a new argument `provider` to the eos shared module and updates the
eos doc fragment.  This commit includes some additional minor fixes and
code refactors for naming conventions.  The `provider` argument allows the
shared module arguments to be passed as a dict object instead of having
to pass each argument invididually.
9 years ago
James Cammarata d07d974ad8 Revert "Properly look for parent become attribute"
This reverts commit 1b46a422aa.
9 years ago
Toshio Kuratomi ca8261ed31 Don't tracback trying to retore settings
Can occur if we exit the timeout before the settings were changed
9 years ago
Peter Sprygada 0f2917fde3 add provider to iosxr shared module
This commit adds a new argument `provider` to the iosxr shared module that
allows common connection parameters to be passed as a dict object.  The
constraints on the args still applies.  This commit also updates the iosxr
doc fragment.
9 years ago
Peter Sprygada 7640eca368 adds provider argument to openswitch shared module
Adds new argument `provider` to the openswitch shared module.  The provider
argument can pass all openswitch connection arguments as a dict object.  This
update includes adding the provider argument to the openswitch doc fragment
9 years ago
Peter Sprygada 33d390fb58 adds provider argument to junos shared module
This commit adds a new argument `provider` to the junos shared module.  The
argument allows the set of common connection args to be passed to the
junos shared module.  This commit also updates the junos doc fragment
9 years ago
Peter Sprygada 5144ee226e adds private key file support to shell shared module
This commit provides an argument to provide a path to the private key
file.  This will allow paramiko to use the key file as opposed to only
username / password combinations for CLI connections.
9 years ago
James Cammarata 1b46a422aa Properly look for parent become attribute
Corrects inheritence of the boolean value, which needs some special
consideration from other (string/int) values.

Fixes #13872
9 years ago
James Cammarata b1223746cd Relocate use of ERROR to display class, to avoid doubling up 9 years ago
James Cammarata a7dd425620 Catch INI section parsing misses and raise an appropriate error
Fixes #13917
9 years ago
James Cammarata 1af473548b Fix role hashing failure/traceback when params contain lists
Fixes #13857
9 years ago
Toshio Kuratomi 94a9ed0ee1 Set decoding of path to unicode to raise an exception if non-utf8
Letting it pass would just cause an error later on (no such file found)
so it's better to catch it here and know that we have users dealing with
non-utf8 pathnames than to have to track it down from later on.
9 years ago
Toshio Kuratomi 40373dea4d Make all parts of messages and pathnames into unicode so that we don't get UnicodeError tracebacks.
Note that the fix for display normalizing to unicode is correct but the
fix for pathnames is probably not.  Changing pathnames to unicode type
means that we will handle utf8 pathnames fine but pathnames can be any
sequence of bytes that do not contain null.  We do not handle sequences
of bytes that are not valid utf8 here.  To do that we need to revamp the
handling of basedir and paths to transform to bytes instead of unicode.
Didn't want to do that in 2.0.x as it will potentially introduce other
bugs as we find all the places that we combine basedir with other path
elements.  Since no one has raised that as an issue thus far so it's not
something we need to handle yet.  But it's something to keep in mind for
the future.

To test utf8 handling, create a utf8 directory and run a playbook from
within there.

To test non-utf8 handling (currently doesn't work as stated above), create
a directory with non-utf8 chars an run a playbook from there.  In bash,
create that directory like this: mkdir $'\377'

Fixes #13937
9 years ago
Brian Coca a773486432 fixed exception handling to be 2.4 compatible
previous 'fix' broke on 2.4
9 years ago
James Cammarata 1f7492171e Don't clear start at task flag until all hosts are advanced
Clearing the flag after the first host was advanced caused all other
hosts to not advance at all.

Fixes #13864
9 years ago
Brian Coca 9f05ce3e2b be consistent about conversion to_str 9 years ago
Brian Coca 54435261e8 updated submodule refs 9 years ago
Brian Coca 5dd2aad535 ignore exceptions in get_file_contents
it should be common enough to not be able to read files in some jailed/container environments
even though permissions tell us otherwise
9 years ago
Toshio Kuratomi 5e18bc5955 Turn results that come from traceback messages into unicode, not str.
Fixes #13964
Fixes #13967
9 years ago
James Cammarata 1733d434d1 Fix with loop + delegate issues
* Don't re-use the existing connection if the remote_addr field of
  the play context has changed
* When overriding variables in PlayContext (from task/variables),
  don't set the same attribute based on a different variable name
  if we had already previously set it from another variable name

Fixes #13880
9 years ago
Toshio Kuratomi 2c512e5a63 Update submodule refs 9 years ago
Toshio Kuratomi ded02b4968 Fix proposed by @Yannig to fix become success detection when the output is multiline
See the Bug report for a specific error case with local connection,
sudo, and the raw module

Fixes #13728
9 years ago
Brian Coca 27f4730c29 correctly deals with non serializable type
combine_vars shoudl really be data types, but some just get in
in test, add dict to mock and avoid combine_vars using object
9 years ago
Brian Coca 83069a38d5 better init detection 9 years ago
James Cammarata b5058736ce Fix set_fact + run_once to assign variables to all hosts in the list
Fixes #13921
9 years ago
James Cammarata 46e515131e Allow module args as k=v pairs when using the module: option with local_action
This task format is valid in 1.x, but was broken in 2.x:
  - local_action:
     module: shell echo "hello world"
9 years ago
James Cammarata c42484a029 Minor cleanup when reassigning play context to reused connections
* Relocate the assignment of the host address to the remote_addr field
  in the play context, which was only done when the connection was created
  (it's now done after the post_validate() is called on the play context)
* Make the assignment of the play context to the connection an else, since
  it's not required if the connection is not reused
9 years ago
James Cammarata bc1bcc3419 Merge branch 'patch-1' of https://github.com/ktaragorn/ansible into ktaragorn-patch-1 9 years ago
Toshio Kuratomi 36aa89ac7e Fix erroneous fetch fail when fail_on_missing is set to False
Fixes #13832
9 years ago
Chrrrles Paul 3f66f58fde Merge pull request #13819 from chrrrles/vmware_doc_fragments
doc fragments for vmware and vca modules
9 years ago
Peter Sprygada 4e5dc44289 fixes documentation string 9 years ago
Brian Coca a2a23c14ac Merge pull request #13901 from bcoca/add_hosts_fix
fix issue with add_hosts overwriting existing vars
9 years ago
James Cammarata 1825b4a9c7 Fix any_errors_fatal incorrect implementation in 2.0
Also adds that flag to blocks.

Fixes #13744
9 years ago
Toshio Kuratomi 1b82de2354 Non-newstyle modules can't use pipelining
This is because we pass arguments to non-newstyle modules via an
external file.  If we pipeline, then the interpreter thinks it has to
run the arguments as the script instead of what is piped in via stdin.
9 years ago
Brian Coca cd0ad03053 Merge pull request #13902 from bcoca/update_not_blast_inventory
overwrite/merge not remove prev inventory data
9 years ago
Brian Coca a311872c5b overwrite/merge not remove prev inventory data 9 years ago
Brian Coca c2d314dec5 fix issue with add_hosts overwriting existing vars
fixes github.com/ansible/ansible-modules-core/issues/2799 and is alternative to #13841
9 years ago
Yannig Perré e5ea576461 Allow Ansible to return error with unicode within it.
Fix for https://github.com/ansible/ansible/issues/13899
9 years ago
Brian Coca 94fa9c2a7a test aliases to enable gramatical consistancy
keeps backwards compat by not removing the previouslly non grammer matching states
and introduces new ones so user can decide which one he wants
(or keep both and still be inconsistent to annoy those that care)
9 years ago
James Cammarata abc82fee13 Fix typo in 0b86aa6 9 years ago
James Cammarata 0b86aa62e1 Hack to work around callback API change for v2_playbook_on_start 9 years ago
Brian Coca c14eece0c6 md5 now uses smaller salt
fixes #13891
9 years ago
Brian Coca 9d1b280689 now combine vars errors dump vars
very hard to debug w/o knowing what vars were being merged at the time of the error
9 years ago
Alexey Shabalin 9be8ecda06 Add support ssh configs from /etc/openssh.
In Altlinux system config dir for openssh is /etc/openssh.
9 years ago
Toshio Kuratomi b1a56051bd Prevent traceback.
https://github.com/ansible/ansible/issues/13743#issuecomment-171520585

In some circumstance, the file fails to open.  When that occurs, we
can't try to close it in the finally clause.  Using a context manager is
the cleanest way to change the code to account for that case.
9 years ago
Toshio Kuratomi 965602882a Update submodule refs 9 years ago
Brian Coca a56c0bc27b module invocation info depends on verbosity
since we were removing it on display, this saves us even transmiting it back
9 years ago
Toshio Kuratomi 58f387a6dd Fix circular import 9 years ago
Toshio Kuratomi 8068f23bad do_encrypt import needed to move as well
Fixes #13861
9 years ago
Toshio Kuratomi 4958180333 use integer division instead of floating point division.
Fixes #13855
9 years ago
Brian Coca 14f300f212 Merge pull request #13851 from shaba/devel
add detect Altlinux distributive
9 years ago
Alexey Shabalin 0b32e1586d add detect Altlinux distributive 9 years ago
Brian Coca 739e4c0386 corrected info about windows module naming and loc 9 years ago
Brian Coca a196c7d737 only send event if tqm exists
fixes #13843
9 years ago
Toshio Kuratomi 589971fe7e Update submodule refs to try and fix the taiga_issue module-is-actually-old travis failures 9 years ago
Brian Coca 5760f0effb dont error out on new internal vars 9 years ago
Brian Coca 06fa841516 made loading of galaxy data files lazy 9 years ago
Charles Paul 9f9bff88c2 doc fragments for vmware_ vca_ 9 years ago
Brian Coca cf9dfde15b Merge pull request #13751 from bcoca/module_internal_options
pass diff and verbosity settings to modules
9 years ago
Chrrrles Paul bd147ab592 Merge pull request #13736 from chrrrles/nolog
adding password no_log and cleaning up argument spec for vca module
9 years ago
Brian Coca c91df36ebe added module name to missing interpreter error
fixes #13816
9 years ago
Brian Coca f56c15e7e2 Merge pull request #13766 from nflx/devel
Allow InventoryScript JSON with childgroups only
9 years ago
James Cammarata b58673289a Split up comma-separated tags properly
Fixes #13795
9 years ago
Peter Sprygada 4d3aa72143 bugfix in nxos shared module for including defaults 9 years ago
Peter Sprygada a758806287 bugfix in ios shared module for including defaults 9 years ago
Peter Sprygada 935ae2801f bugfix in eos shared module for including defaults 9 years ago
Toshio Kuratomi d274fea358 Update submodules ref to pick up fix #558 9 years ago
Brian Coca 477d632118 now file mode diff shows octal values 9 years ago
Brian Coca 247ae748f5 Merge pull request #13786 from quinot/bug/attributes_typo
Fix minor typo in comment
9 years ago
Toshio Kuratomi 4ac76f60ee Merge pull request #13694 from resmo/fix/case-insensitivity
[2.0] cloudstack: fix more case insensitivity
9 years ago
Tom Paine 76ac6294e0 profile_tasks README.md
As agreed with Brian Coca in Ansible Project group:
https://groups.google.com/forum/#!searchin/ansible-project/tom$20paine/ansible-project/__nv6BZs2yU/AkYQ0HU-BQAJ
9 years ago
Matt Martz 45d9cfcc6f Coalesce forms of ssh_args in order of most specific to least 9 years ago
James Cammarata 6ec4d98764 When setting fail state skip RESCUE/ALWAYS if cur_block doesn't have them
Fixes #13749
9 years ago
Robin Roth e01ff3b352 remove unused imports
clean up imports of time.sleep and stat that are no (longer) used here
9 years ago
Karthik T c4cbeeffa8 Fixes #13763 Update connections _play_context on every iteration
If this isnt updated, the _connection is reused, and thus has an outdated _play_context
This results in outdated `success_key` and `prompt` causing issues if sudo is run in a loop
Refer to the issue #13763 for more debugging and details
9 years ago
Rene Moser 766738ef7c cloudstack: fix case insensitivity
cloudstack: fix has_change reports changed for case insensitivity values
9 years ago
Peter Sprygada c3dd0213ef deletes nxapi from shared modules
The nxapi module has been superseded by the nxos shared module and is not longer needed. This commit removes (deletes) nxapi from module_utils.  All custom modules that have used nxapi should be using nxos instead.
9 years ago
Peter Sprygada f99b834583 Merge pull request #13789 from privateip/shared_module_netcfg
adds network config file parser to shared modules
9 years ago
Peter Sprygada b7fec945be Merge pull request #13788 from privateip/shared_module_junos
initial add of junos shared module
9 years ago
Peter Sprygada 60e0e1a12e Merge pull request #13784 from privateip/shared_module_openswitch
initial add of openswitch shared module
9 years ago
Peter Sprygada 771d8014fc Merge pull request #13779 from privateip/shared_module_nxos
adds shared module nxos for building cisco nxos modules
9 years ago
Peter Sprygada a0a4edd494 Merge pull request #13777 from privateip/shared_module_ios
updates the ios shared module with new shell
9 years ago
Peter Sprygada a648097285 Merge pull request #13778 from privateip/shared_module_iosxr
adds new iosxr shared module for developing modules that work with IO…
9 years ago
Peter Sprygada 41fed323bc Merge pull request #13776 from privateip/shared_module_eos
initial add of eos shared module
9 years ago
Peter Sprygada 7e677899a4 Merge pull request #13775 from privateip/shared_module_shell
adds shared module shell for creating cli based transports
9 years ago
Peter Sprygada 01bf3940e3 adds network config file parser to shared modules
This commit adds a new shared module that parses network device configuration
files.  It is used to build modules that work with the various supported
network device operating systems
9 years ago
Peter Sprygada e709095f53 initial add of junos shared module
This commit adds a new shared module for working with network devices running
the Juniper Junos operating system.  The commit includes a new document
fragment junos to be used when building modules.  The junos shared module
currently only supports CLI
9 years ago
Thomas Quinot 2eb22d5536 Fix minor typo in comment 9 years ago
Peter Sprygada 3ae6fd4b31 initial add of openswitch shared module
This commit adds a new shared module openswitch for building modules that
work with OpenSwitch.  This shared module supports connectivity to
OpenSwitch devices over SSH, CLI or REST.  It also adds an openswitch
documentation fragment for use in modules
9 years ago
Peter Sprygada 01a99f52a9 adds shared module nxos for building cisco nxos modules
This commit refactors the nxapi into a new shared module nxos that supports
connectivity over both ssh (cli) and nxapi.  It supercedes the nxapi shared
module and removes it from module_utils.  This commit also adds a
documentation fragement supporting the nxos shared module
9 years ago
Brian Coca c9a5f7ea7e updated self to cls to match convention
tempted to just use this. in all cases
9 years ago
Brian Coca 792db08259 Merge pull request #13772 from bcoca/vars_prompt_fixes
restructure vars_prompt and fix regression
9 years ago
Peter Sprygada 456b3d2c23 adds new iosxr shared module for developing modules that work with IOS XR devices
This commit adds a new shared module for working with Cisco IOS XR devices over
CLI (SSH).  It also provides a documentation fragement for the commmon arguments
provided by the iosxr module.
9 years ago
Peter Sprygada d1dacfb3ca updates the ios shared module with new shell
This update refactor the ios shared module to use the new shell shared
library instead of issh and cli.  It also adds the ios documentation
fragment to be used when building ios based modules.
9 years ago
Peter Sprygada 87ccc5c869 initial add of eos shared module
This adds a shared module for communicating with Arista EOS devices over
SSH (cli) or JSON-RPC (eapi).  This modules replaces the eapi.py module
previously added to module_utils.  This commit includes a documentation
fragment that describes the eos common arguments
9 years ago
Matt Martz 5f0a348447 Restore ability for a module to specify WANT_JSON 9 years ago
Brian Coca 1cc5ac06e7 restructure vars_prompt and fix regression
pushed it to use the existing propmpt from display and moved the vars prompt code there also for uniformity
changed vars_prompt to check extra vars vs the empty play.vars to restore 1.9 behaviour
sipmlified the code as it didn't need to check for syntax again (tqm is made none prior based on that)
fixes #13770
9 years ago
Brian Coca 737090dd13 now show full callback stacktrace when vvv+
Still is a warning as we don't want to repeat it multiple times nor additional callbacks to stop ansible execution.
hopefully we can avoid shipping w/o exceptions in the default/minimal callbacks...

Also added feature that now allows for 'preformated' strings passed to warning
9 years ago
Peter Sprygada 1d240902c6 adds shared module shell for creating cli based transports
This commit add a new shared module shell that is used to build connections
to network devices that operate in a CLI environment.  This commit supercedes
the issh.py and cli.py commits and removes them from module_utils.
9 years ago
Emil Lind b0fe705384 Allow InventoryScript JSON with childgroups only
and without hosts and vars

Without this patch, the simplified syntax is triggered when a group
is defined like this:

    "platforms": {
        "children": [
            "cloudstack"
        ]
    }

Which results in a group 'platforms' with 1 host 'platforms'.

more details in https://github.com/ansible/ansible/issues/13655
9 years ago
nitzmahone 45355cd566 convert winrm put_file script template to Unicode string literal
Fixes traceback on homedirs with non-ascii chars
9 years ago
Brian Coca eb4ab5fa2a Revert "Show version without supplying a dummy action"
This reverts commit 11b55be5bb.
Parsing before action will fail if one of the action specific options is used
As per issue #13743
9 years ago
Brian Coca b7dcd7a3a0 pass diff and verbosity settings to modules
also simplifies and guarantees that all flags are always passed, even when false
this should make checks simpler as you always expect them to exist
9 years ago
Toshio Kuratomi d26d76ea58 Fix typo 9 years ago
Toshio Kuratomi 46903c80fa More fixes for unicode handling in the connection plugins.
Tested that ssh, docker, local, lxc-libvirt, chroot all work with the
updated unicode integration test.
9 years ago
James Cammarata 90cb7e1937 Don't drop noops from task counting code in linear strategy 9 years ago
Tomasz Kontusz 9ac9c75d76 linear strategy: don't look at tasks from the next block 9 years ago
muffl0n 11b55be5bb Show version without supplying a dummy action
fixes #12004
parsing x2 does not seem to break anything
9 years ago
Abhijit Menon-Sen 7c8374e0f8 Strip string terms before templating
The earlier code did call terms.strip(), but ignored the return value
instead of passing that in to templar.template(). Clearly an oversight.
9 years ago
James Cammarata dc47c25e58 Minor tweak to ensure diff is not empty in callback for file diffs 9 years ago
Charles Paul a65543bbaf adding password no_log and cleaning up argument spec 9 years ago
Brian Coca 095790ac5c Merge pull request #13691 from bcoca/colors
output color is now configurable
9 years ago
Brian Coca 84f46701d0 Merge pull request #13626 from bcoca/hostvars_vars
move hostvars.vars to vars
9 years ago
Brian Coca f3c45adfb8 simplified diff handling in callback
no need for the copy or other complexity
9 years ago
Brian Coca 9972c27a9b now handles 'non file diffs'
this allows modules to pass back a 'diff' dict and it will still show using the file interface
9 years ago
Toshio Kuratomi 22d4dc9d85 Merge pull request #13700 from feliksik/shred-vault-tmpfile
[security] shred ansible-vault tmp_file. Also when editor is interruped
9 years ago
Eric Feliksik 11ce08b9dd cleaner implementation and random chunk length. 9 years ago
Toshio Kuratomi 6470f7de2c Update submodule refs 9 years ago
Toshio Kuratomi c0a8cd950b Fix problems with non-ascii values passed as part of the command to connection plugins
@drybjed discovered this with non-ascii environment variables and
command line arguments to script and raw module.
9 years ago
Toshio Kuratomi 8d57ffd16b Revert "Transform the command we pass to subprocess into a byte string in _low_level-exec_command"
This reverts commit 0c013f592a.

Going to do this in the connection plugin
9 years ago
Toshio Kuratomi 559ba467c0 Revert "Convert to bytes later so that make_become_command can jsut operate on text type."
This reverts commit c4da5840b5.

Going to do this in the connection plugins
9 years ago
Eric Feliksik 151e09d129 use unix shred if possible, otherwise fast custom impl; do not shred encrypted file 9 years ago
Eric Feliksik 1e911375e8 add docs, remove unnecessary int() cast 9 years ago
Michael Scherer 8599c56670 Do not set 'changed' to True when using group_by
Since group_by is not changing in any way to the remote
system, there is no change. This also make things more consistent
with the set_fact plugin.
9 years ago
Eric Feliksik 7193d27acc add os.fsync() so that the shredding data (hopefully) hits the drive 9 years ago
James Cammarata 210cf06d9a Tweak how strategies evaluate failed hosts via the iterator and bug fixes
* Added additional methods to the iterator code to assess host failures
  while also taking into account the block rescue/always states
* Fixed bugs in the free strategy, where results were not always being
  processed after being collected
* Added some prettier printing to the state output from iterator

Fixes #13699
9 years ago
Brian Coca 6f2f7a79b3 add support for diff in file settings
this allows modules to report on what specifically changed when using
common file functions
9 years ago
Yannig Perré c4d2dbfcdb Replace to_string by to_unicode.
Fix https://github.com/ansible/ansible/issues/13707
9 years ago
Thilo Uttendorfer 5c34be15b1 Fix unsupported format character 9 years ago
James Cammarata e39e8ba308 Fix logic mistake in unarchive action plugin 9 years ago
Eric Feliksik 946b82bef7 shred ansible-vault tmp_file. Also when editor is interruped. 9 years ago
Brian Coca d3deb24ead output color is now configurable 9 years ago
James Cammarata 2d11cfab92 Squashed commit of the following:
commit 24efa310b58c431b4d888a6315d1285da918f670
Author: James Cammarata <jimi@sngx.net>
Date:   Tue Dec 29 11:23:52 2015 -0500

    Adding an additional test for copy exclusion

    Adds a negative test for the situation when an exclusion doesn't
    exist in the target to be copied.

commit 643ba054877cf042177d65e6e2958178bdd2fe88
Merge: e6ee59f 66a8f7e
Author: James Cammarata <jimi@sngx.net>
Date:   Tue Dec 29 10:59:18 2015 -0500

    Merge branch 'speedup' of https://github.com/chrismeyersfsu/ansible into chrismeyersfsu-speedup

commit 66a8f7e873
Author: Chris Meyers <chris.meyers.fsu@gmail.com>
Date:   Mon Dec 28 09:47:00 2015 -0500

    better api and tests added

    * _copy_results = deepcopy for better performance
    * _copy_results_exclude to deepcopy but exclude certain fields. Pop
    fields that do not need to be deep copied. Re-assign popped fields
    after deep copy so we don't modify the original, to be copied, object.
    * _copy_results_exclude unit tests

commit 93490960ff
Author: Chris Meyers <chris.meyers.fsu@gmail.com>
Date:   Fri Dec 25 23:17:26 2015 -0600

    remove uneeded deepcopy fields
9 years ago
Brian Coca 56454d6a91 added newer vars to 'reset_vars'
these vars pass back info to the task about the connection
moved to their own block at start at file for readability and
added the newer standard vars
9 years ago
Etherdaemon 0b92abaf67 Proposed fix for ansible/ansible-modules-extras#1348 due to datetime.datetime type not being matched 9 years ago
Toshio Kuratomi d70a97b562 Update submodule refs 9 years ago
Matt Martz 2587edb4f3 Move proxycommand parsing into _parse_proxy_command 9 years ago
Matt Martz 0296209bc1 Parse ansible_ssh_common_args looking for ProxyCommand, for use in paramiko 9 years ago
Matt Martz a8e0763d1e Move _split_args from ssh.py to ConnectionBase so we can use it in other connection plugins 9 years ago
Toshio Kuratomi deac4d00b2 bigip changes as requested by bcoca and abadger:
* Fix to error if validate_cert is True and python doesn't support it.
* Only globally disable certificate checking if really needed.  Use
  bigip verify parameter if available instead.
* Remove public disable certificate function to make it less likely
  people will attempt to reuse that
9 years ago
Brian Coca fd7e01696f updated submodule refs to pick up module changes 9 years ago
Matt Martz 630a35adb0 Add ProxyCommand support to the paramiko connection plugin 9 years ago
Brian Coca db1d153aca Merge pull request #13647 from bcoca/fix_role_search
corrected role path search order
9 years ago
Brian Coca 9a118ce213 Merge pull request #13648 from bcoca/fix_invocation_and_moderrors
better module error handling
9 years ago
Michael Scherer 42b9a206ad Fix last commit, make it python3 compatible (and py24) 9 years ago
Brian Coca 957b376f9e better module error handling
* now module errors clearly state msg=MODULE FAILURE
* module's stdout and stderr go into module_stdout and module_stderr keys
which only appear during parsing failure
* invocation module_args are deleted from results provided by action
plugin as errors can keep us from overwriting and then disclosing info that
was meant to be kept hidden due to no_log
* fixed invocation module_args set by basic.py as it was creating different
keys as the invocation in action plugin base.
* results now merge
9 years ago
Brian Coca 202b92179d corrected role path search order
the unfraking was matching roles in current dir as it always returns a full path,
pushed to the bottom as match of last resort
fixes #13645
9 years ago
Brian Coca 010839aedc fix no_log disclosure when using aliases 9 years ago
Toshio Kuratomi c4da5840b5 Convert to bytes later so that make_become_command can jsut operate on text type. 9 years ago
Brian Coca 474772c81c Merge pull request #13639 from emonty/bool-conversion
Also convert ints to bool for type=bool
9 years ago
Monty Taylor c60749c922 Also convert ints to bool for type=bool 9 years ago
Brian Coca bbdfaf0522 move hostvars.vars to vars
this fixes duplication under hostvars and exposes all vars in the vars dict
which makes dynamic reference possible on 'non hostvars'
9 years ago
Andrew Gaffney 0f4d1eb051 Add 'filtered' stdout callback plugin
This plugin filters output for any task that is 'ok' or 'skipped'.
It works by subclassing the 'default' stdout callback plugin and
overriding certain functions. It will suppress display of the task
banner until there is a 'changed' or 'failed' result or an
unreachable host.
9 years ago
Toshio Kuratomi 0c013f592a Transform the command we pass to subprocess into a byte string in _low_level-exec_command 9 years ago
Brian Coca 75e94e0cba allow for non standard hostnames
* Changed parse_addresses to throw exceptions instead of passing None
* Switched callers to trap and pass through the original values.
* Added very verbose notice
* Look at deprecating this and possibly validate at plugin instead
fixes #13608
9 years ago
Yannig Perré a4674906c6 Merge role params into variables separately from other variables
Fixes #13617
9 years ago
James Cammarata 6ae04c1e4f Fix logic in PlayIterator when inserting tasks during rescue/always
Because the fail_state is potentially non-zero in these block sections,
the prior logic led to included tasks not being inserted at all.

Related issue: #13605
9 years ago
James Cammarata 3ec0104128 Fixing bugs in conditional testing with until and some integration runner tweaks 9 years ago
Brian Coca bb2935549f corrected service detection in docker versions
now if 1 == bash it falls back into tool detection
9 years ago
Toshio Kuratomi e66c070e5c Add package module to squash list 9 years ago
Toshio Kuratomi 224d596336 Remove args from get_name() as we can't tell if any of the args are no_log 9 years ago
Toshio Kuratomi 8ffc1fa838 Comment to explain why we strip _ansible_notify specially 9 years ago
Toshio Kuratomi d32a885e98 Make return invocation information so that our sanitized copy will take precedence over what the executor knows. 9 years ago
Toshio Kuratomi 2936682f00 Revert "removed invocation info as it is not no_log aware"
This reverts commit 6127a8585e.
9 years ago
Brian Coca 6127a8585e removed invocation info as it is not no_log aware
This was added in 1.9 and 2.0 tried to copy, but since it cannot
obey no_log restrictions I commented it out. I did not remove as
it is still very useful for module invocation debugging.
9 years ago
Toshio Kuratomi 07a0059306 update submodule ref for doc fix 9 years ago
Toshio Kuratomi 3197eeaaa8 update submodule refs 9 years ago
James Cammarata a3dcb910b8 Fixing bugs with {changed,failed}_when and until with registered vars
* Saving of the registered variable was occuring after the tests for
  changed/failed_when.
* Each of the above fields and until were being post_validated too early,
  so variables which were not defined at that time were causing task
  failures.

Fixes #13591
9 years ago
Toshio Kuratomi 3057fc1753 Update submodule ref for mysql_user fix 9 years ago
James Cammarata 4ba7158282 Fixing a mistake from tweaking list stuff too much
Use the action only if the task name is not set
9 years ago
James Cammarata d4ffc96c80 Further tweaks to the output format of list tasks/tags 9 years ago
James Cammarata 5929ffc7c3 Make --list-tasks respect tags
Also makes the output closer to the appearance of v1

Fixes #13260
9 years ago
Toshio Kuratomi bad1c173b8 Update core submodule for mysql_db fix 9 years ago
Toshio Kuratomi 1b5e7ce025 Update submodule refs 9 years ago
James Cammarata e546219426 Revert "Enable host_key checking at the strategy level"
This reverts commit 1a6d660d7e285cceec474952a33af4d8dffd0a8d.
9 years ago
James Cammarata 586208234c Revert "Fixing bugs in ssh known_host fetching"
This reverts commit 21c127c581.
9 years ago
James Cammarata 21c127c581 Fixing bugs in ssh known_host fetching
* If remote_addr is not set in the PlayContext, use the host.address
  field instead (which is how the action plugin works)

Fixes #13581
9 years ago
James Cammarata d9c74536be Fix handling of environment inheritence, and template each inherited env
Environments were not being templated individually, so a variable environment
value was causing the exception regarding dicts to be hit. Also, environments
as inherited were coming through with the tasks listed first, followed by the
parents, so they were being merged backwards. Reversing the list of environments
fixed this.
9 years ago
James Cammarata e5c2c03dea Enable host_key checking at the strategy level
Implements a new method in the ssh connection plugin (fetch_and_store_key)
which is used to prefetch the key using ssh-keyscan.
9 years ago
James Cammarata 15135f3c16 Make sure we're using the original host when processing include results
Also fixes a bug where we were passing an incorrect number of parameters to
_do_handler_run() when processing an include file in a handler task/block.

Fixes #13560
9 years ago
James Cammarata 857456ea5f Fixing template integration test for python 2.6 versions
No longer immediately fallback to to_json if simplejson is not installed
9 years ago
Toshio Kuratomi fd4ad2c8f2 Update submodule ref to fix a bug in mysql_user with mariadb 9 years ago
James Cammarata 8716bf8021 All variables in complex args again
Also updates the CHANGELOG to note the slight change, where bare variables
in args are no longer allowed to be bare variables

Fixes #13518
9 years ago
James Cammarata 76b4b9ed2c Merge pull request #13501 from chouseknecht/galaxy-2.0-update
Galaxy 2.0 update
9 years ago
nitzmahone baece499df fix plugin loading for Windows modules
force plugin loader to only consider .py files, since that's the only place docs can live ATM...
9 years ago
Toshio Kuratomi 9724117bbb Update submodule refs for mysql refactor 9 years ago
Toshio Kuratomi 1116bc6ca6 Merge pull request #13191 from Jmainguy/mysql
Add shared connection code for mysql modules
9 years ago
Jonathan Mainguy 34e88e48a5 Add shared connection code for mysql modules 9 years ago
James Cammarata 6a252a3f77 Preserve the cumulative path for checking includes which have parents
Otherwise, each relative include path is checked on its own, rather
than in relation to the (possibly relative) path of its parent, meaning
includes multiple level deep may fail to find the correct (or any) file.

Fixes #13472
9 years ago
Toshio Kuratomi 0095d04af9 Update submodule refs 9 years ago
Toshio Kuratomi 7d519127fe Merge pull request #13573 from ansible/ssl-context-with-proxy
Fix a few problems with url handling.
9 years ago
Toshio Kuratomi 33863eb653 Conditionally create the CustomHTTPSConnection class only if we have the required baseclasses.
Fixes #11918
9 years ago
Toshio Kuratomi 72a0654b81 Fixes for proxy on RHEL5 9 years ago
Toshio Kuratomi 73ead4fbba First attempt to fix https certificate errors through a proxy with python-2.7.9+
Fixes #12549
9 years ago
Brian Coca 97275110d7 Merge pull request #13533 from bcoca/debug_fixes
debug now validates its params
9 years ago