Commit Graph

6508 Commits (03300e99ac35fbf12beae4c85b8fec058dcd97b5)

Author SHA1 Message Date
Brian Coca 347aa7b032 Merge pull request #14774 from lamby/ignore-epipe-when-flushing-stdout-stderr
Ignore EPIPE when flushing stdout stderr
8 years ago
Chris Lamb eb1141ee79 Ignore EPIPE to avoid tracebacks when piping output to other commands
For example:

  $ ansible web --list-hosts | head -n1
  hosts (7):
  ERROR! Unexpected Exception: [Errno 32] Broken pipe
  Traceback (most recent call last):
    File "/home/lamby/git/private/lamby-ansible2/.venv/bin/ansible", line 114, in <module>
      display.display("to see the full traceback, use -vvv")
    File "/home/lamby/git/private/lamby-ansible2/.venv/local/lib/python2.7/site-packages/ansible/utils/display.py", line 133, in display
      sys.stdout.flush()
  IOError: [Errno 32] Broken pipe

Such a pipe target will close up shop early when its seen enough input,
causing ansible to print an ugly traceback.

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
8 years ago
Chris Lamb 951c8a5d27 Alias fileobj. 8 years ago
Brian Coca 4cfd042839 more complete and informative errors
mostly templating issues now all return data templated and actual error
fixes #14781
8 years ago
Brian Coca 0031a72e0d tweak deprecation warnings display 8 years ago
Brian Coca ea5e089056 restore initial json parsing attempt to loader
fixes issues with extra vars json strings not being parsed correctly by the yaml parser
8 years ago
Toshio Kuratomi 4657be4eab Transform pathnames to bytes before passing on to os.path functions 8 years ago
Toshio Kuratomi 468eea82bd Merge pull request #14765 from sivel/redirect-ssl-validation
Support SSL validation with redirect control for python versions without ssl context
8 years ago
Matt Davis 0ab29f573a Merge pull request #14755 from bcoca/pause_nohup_fix
avoid issues when stdin is a closed file
8 years ago
Matt Martz 6ff0b079b4 Support SSL validation with redirect control for python versions without ssl context 8 years ago
Brian Coca c24249c57d made max diff size configurable 8 years ago
Toshio Kuratomi 1dbbd2a80c Remove debugging and fix the place where bytes are being handed to StringIO 8 years ago
Brian Coca ca0797fc4e avoid issues when stdin is a closed file
this seems to happen when nohup is involved, so the check tty
does not get a chance to fail, it just works with pipes

fixes http://github.com/ansible/ansible-modules-core/issues/3166
8 years ago
Toshio Kuratomi 093b3422ec more information 8 years ago
Brian Coca 7ba790bbaf don't tempalte register 8 years ago
Toshio Kuratomi 5aef65edcd Testing whether this fixes jenkins 8 years ago
James Cammarata 3247390123 Conditionally import StringIO in template so we only use io.StringIO on py3 8 years ago
James Cammarata 2c7a33f71d Fixing bug in setup related to StringIO fixes 8 years ago
James Cammarata 9acb5aa176 Changing location of reduce import to not use six.moves 8 years ago
James Cammarata b559d0e6ee Adding py3 stub for reduce from six.moves 8 years ago
Brian Coca 71402abf21 only do squash when 'squashable field' present 8 years ago
James Cammarata e011f52557 Expanding unit tests for module_utils/basic.py 8 years ago
Brian Coca 7af5787030 Merge pull request #14717 from xiaket/devel
Fix __repr__ for meta tasks
8 years ago
Brian Coca dd003a42b0 Merge pull request #14273 from resmo/for-ansible-2.1
[2.1] cloudstack: new generic code
8 years ago
Rene Moser 6c641fb6a8 cloudstack: add CS_HYPERVISORS constant 8 years ago
夏恺(Xia Kai) d033c40e80 Make task repr really work for meta tasks.
Signed-off-by: 夏恺(Xia Kai) <xiaket@xiaket@gmail.com>
8 years ago
Brian Coca 0d1138e0a0 Merge pull request #14712 from chouseknecht/galaxy2_paging
Fix bug 14715: Galaxy CLI paging error
8 years ago
chouseknecht 42b2077c93 Fix bug 14715: Galaxy CLI paging error 8 years ago
Peter Sprygada c2ce509aaf bugfixes for openswitch shared module
This commit fixes two bugs in the openswitch shared module.  The first
bug was a wrong argument type for the use_ssl argument.  It was set
to int and should be bool.  The second changes the default ports for http
(was 80, now 8091) and https (was 443, now 18091).  This change aligns
the default port values with the OS
8 years ago
nitzmahone 915037c628 update submodule refs 8 years ago
nitzmahone ac54f66741 don't lock file when calculating checksum 8 years ago
Brian Coca badc922c73 added warning for when host file doesn't exist
fixes #14692
8 years ago
Brian Coca 82d6a83cca Merge pull request #14633 from Etherdaemon/fix_boto3_params
Fixup boto3_conn aws_session_token and verify
8 years ago
Brian Coca 157ebcfe0b Merge pull request #14709 from bcoca/squash_fix_atp
added package to special 'squashable' fields
8 years ago
Brian Coca 67d5b77898 added package to special 'squashable' fields
apt has it as alias, this should fix https://github.com/ansible/ansible-modules-core/issues/3145
8 years ago
James Cammarata 7c049c3200 Fixing up jsonify and adding unit tests 8 years ago
Matt Martz d0a717694f Fix variable name in paramiko connection plugin 8 years ago
Matt Martz e27eb73cba sys.subversion unavailable in py24. Fixes #14704 8 years ago
Peter Sprygada f67bf3f775 updates the ops_template plugin action backup key
This commit changes the key the ops_template will search for in order
to backup the current configuration to local disk on the Ansible control
host.  This change was made to make ops_template consistent with the
other network template modules.
8 years ago
Toshio Kuratomi e01b6ad6b4 We are actually taking the repr of a string so we need separate to_bytes and repr calls 8 years ago
Toshio Kuratomi b70bf3b056 Use io.StringIO and io.BytesIO instead of StringIO.StringIO for compat with py3 8 years ago
Toshio Kuratomi c29f51804b Fix mixing of bytes and str in module replacer (caused traceback on python3) 8 years ago
Brian Coca 512d3dd621 with_ loops always should want a list 8 years ago
Brian Coca 528f073bfa update core subref 8 years ago
Toshio Kuratomi 1f2595306a normalize path components to unicode before combining or operating on them
Note that this will break if we deal with non-utf8 paths.  Fixing this
way because converting everythig to byte strings instead is a very
invasive task so it should be done as a specific feature to provide
support for non-utf8 paths at some point in the future (if needed).
8 years ago
Toshio Kuratomi ef8bec18bf Use a unicode format string so that we don't convert to byte strings
Fixes #14349
8 years ago
Brian Coca ad5a6e7993 updated submodule refs 8 years ago
James Cammarata 771f1e31a9 Rework the way ad-hoc filters inventory to match how cli/playbook does it 8 years ago
Brian Coca e2d2798a42 hosts can be list or string 8 years ago
Brian Coca 2d56293768 default play name to hosts entry
return to previous behaviour as now the name was left blank
8 years ago
Joel b3aa373932 Update the profile task callback plugin to include a fix for duplicate named tasks. Added additional features to adjust the number of tasks output and the sort order. 8 years ago
James Cammarata cd51ba7965 Use abspath instead of realpath for group/host vars files
The use of realpath means when following symlinks the actual path is
used when loading these files in the VariableManager, which may not
line up with the host or group name specified.

Fixes #14545
8 years ago
Toshio Kuratomi 9c9cce51ab Update submodule refs 8 years ago
Brian Coca 03c33053aa clarified become options do not imply others
fixes #14635
8 years ago
Etherdaemon 06977d5cb1 Fixup boto3_conn as commit 6ea772931f broke commit 27398131cf 8 years ago
James Cammarata 2db3f290ba Fix logic error when copying files recursively to a directory 8 years ago
Brian Coca 34541b4e5e preserve no_log for async also 8 years ago
James Cammarata d74ea51287 Submodule update 8 years ago
James Cammarata da02aba173 Don't inject PlayContext properties as variables if they're None
Fixes bug introduced in 078ebb0
8 years ago
James Cammarata e02b98274b issue callbacks per item and retry fails
- now workers passes queue to task_executor so it can send back events per item and on retry attempt
- updated result class to pass along events to strategy
- base strategy updated to forward new events to callback
- callbacks now remove 'items' on final result but process them directly when invoked per item
- new callback method to deal with retry attempt messages (also now obeys nolog)
- updated tests to match new signature of task_executor

fixes #14558
fixes #14072
8 years ago
Brian Coca 6eb4633b07 always return a checksum key, even if empty 8 years ago
Peter Sprygada fc57b88356 Merge pull request #14618 from ogenstad/devel
Fixes authentication error bug when user has rsa keys
8 years ago
James Cammarata 6cf6130468 Fixing/cleaning up do/until logic in TaskExecutor
* Fixes bug where the task was not marked as failed if the number of
  retries were exceeded (#14461)
* Reorganizing logic to be a bit cleaner, and so retrie messages are
  shown before sleeping (which makes way more sense)

Fixes #14461
Fixes #14580
8 years ago
Matt Martz cacb74aeeb Merge pull request #14340 from sivel/uri-no-httplib2
Add RedirectHandler class for controlling redirects in urllib2
8 years ago
Matt Martz 27a55d3f33 Merge pull request #14586 from sivel/python-facts
Add python info to facts
8 years ago
Matt Martz 3ac0143cf1 Merge pull request #13654 from sivel/paramiko-proxy-command
Add ProxyCommand support to the paramiko connection plugin
8 years ago
Matt Martz 38b663471d Merge pull request #14311 from sivel/unsafe-yaml-constructor
Add new 'unsafe' YAML constructor
8 years ago
Matt Martz d9a207f24f Add has_sslcontext fact as well 8 years ago
Matt Martz 7158eb489f Add python info to facts 8 years ago
ogenstad 3f95f163ff Avoids authentication failed exception if user has private rsa keys under .ssh 8 years ago
James Cammarata 078ebb0dec Don't re-inject become* variables as it causes problems when templating is involved
Prior to 75b6f61, we strictly limited variables we re-injected. After that
patch however, we re-injected everything which causes problems under certain
circumstances. For now, we'll continue to filter out some properties of
PlayContext for re-injection.

Fixes #14352
8 years ago
Brian Coca e35b1cf154 show task path on vv and above 8 years ago
Brian Coca cea10794fd removed unused color var 8 years ago
Matt Martz f8211f83a0 Merge pull request #14591 from sivel/issue/14541
Allow lookups to return python data structures
8 years ago
Matt Martz 439a385215 Catch TypeError on join, and if caught just return a single item, or a list of many 8 years ago
Brian Coca d9246aacd0 fixed mount sizes for linux 8 years ago
Brian Coca f1d2b9ea9e added size to mount facts on all non linux OSs
fixes #14528
8 years ago
Brian Coca 547afda8d4 Merge pull request #14546 from furlongm/devel
fix ansible_os_family fact on openSUSE Leap
8 years ago
Brian Coca d87fd68287 Merge pull request #14560 from dagwieers/merge_hash_v2
Improve efficiency of merge_hash (Ansible v2.0)
8 years ago
Brian Coca 81368d8119 Merge pull request #14552 from kilburn/lsblk-dedup
Avoid duplicate /bin/lsblk calls in the setup module.
8 years ago
Brian Coca 6febb816d2 Merge pull request #14569 from sivel/json-stdout-callback
Add json stdout callback
8 years ago
George Christou bbc855c218 Make --diff lines of context configurable 8 years ago
Toshio Kuratomi f9526b2ab2 Missed constants.py in the commit for #14557 8 years ago
Matt Martz 7f7536f7ad Add json callback to be used in replace of the default stdout to print a JSON structure to stdout 8 years ago
Brian Coca 844754b8e3 added missing config to constants.py
fixes #14567
8 years ago
Brian Coca 0f73fb0d6f better error messages when failing to decrypt 8 years ago
Matt Davis 4c58066153 Merge pull request #14557 from ansible/display-play-args
Add a configuration setting that allows the user to specify printing …
8 years ago
Dag Wieers 5a57139d91 Improve efficiency of merge_hash
This is related to #14559, but only the part for Ansible v2.0

This commit makes merging empty dicts, or equal dicts more efficient.

I noticed that while debugging merge_hash a lot of merges related to empty dictionaries and sometimes also identical dictionaries.
8 years ago
Brian Coca 5552c04976 allow skipping debug depending on verbosity 8 years ago
Toshio Kuratomi 86b8dc0e79 Add a configuration setting that allows the user to specify printing of task arguments in the header.
Fixes #14554
8 years ago
Brian Coca 1dba6da40f changed filtered to actionable cb plugin 8 years ago
Brian Coca 54942ee8ff Merge pull request #13593 from agaffney/devel
Add 'filtered' stdout callback plugin
8 years ago
Brian Coca d54d9dabe9 added specific info to deprecation message
should now show actual variable that is undefined
fixes #14526
8 years ago
Brian Coca 22082216a4 Merge pull request #13408 from sivel/v2-slack-callback
V2 slack callback plugin
8 years ago
Brian Coca 6012646d8c added playbook and options info to callbacks
will display on certain verbosity levels, both playbook/file info
and non empty options with which it's running.
avoid errors when not using CLI classes
8 years ago
Brian Coca 5300a2eafc Merge pull request #14491 from gechr/gc-simple-colour-diff
Add simple --diff colour support
8 years ago
Brian Coca 413abcf16d Merge pull request #14450 from bcoca/include_vars_merge
Include vars merge
8 years ago
Brian Coca 3e407ed743 Merge pull request #14490 from bcoca/stat_instead_of_checksum
Use stat module instead of checksum code
8 years ago
Brian Coca 3b3709e715 Merge pull request #14488 from bcoca/become_shell_fixes
shell + become fixes
8 years ago
Brian Coca 2b5fffa751 updated to use to_unicode as per feedback 8 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
8 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.
8 years ago
Yannig Perré 588045cc46 Improve message content to get more hint about the raised error. 8 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
8 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
8 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
8 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
8 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
8 years ago
James Cammarata 58a6cf822a Merge pull request #13203 from willthames/galaxy_10620
Allow tree-ish versions for ansible-galaxy
8 years ago
George Christou 56239ee347 Make --diff colours configurable 8 years ago
Brian Coca 6102a4b9b4 template also when only comments present 8 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
8 years ago
Yair Fried c3b30d251f Fix openstack auth type
Otherwise auth type defaults to 'str' and shade fails
8 years ago
George Christou 8edcca0ef5 Add simple --diff colour support 8 years ago
Brian Coca 6ddea3e915 removed follow from common file docs 8 years ago
Brian Coca 6dc910c13a shell + become fixes
1 less level of shell + quoting
simplified become commands, less quote and shell
8 years ago
Brian Coca bc41f46fec pushed non-atomic to option of last resort
try to copy into place first
8 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.
8 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