Commit Graph

45 Commits (496ce388ab4dc464b9b3f821e05b98ebfc7fb17f)

Author SHA1 Message Date
sethp-nr 402b095841 wait_for: treat broken connections as "unready" (#28839)
* wait_for: treat broken connections as "unready"

We have observed the following condition while waiting for hosts:

```
Traceback (most recent call last):
  File "/var/folders/f8/23xp00654plcv2b2tcc028680000gn/T/ansible_8hxm4_/ansible_module_wait_for.py", line 585, in <module>
    main()
  File "/var/folders/f8/23xp00654plcv2b2tcc028680000gn/T/ansible_8hxm4_/ansible_module_wait_for.py", line 535, in main
    s.shutdown(socket.SHUT_RDWR)
  File "/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 57] Socket is not connected
```

This appears to happen while the host is still starting; we believe something is
accepting our connection but immediately resetting it. In these cases, we'd
prefer to continue waiting instead of immediately failing the play.

This patch has been applied locally for some time, and we have seen no adverse
effects.

* wait_for: fixup change

We were missing an import and a space after the `#`
2017-10-12 11:37:20 -04:00
Brian Coca d740dfdcb6 better wait_for docs on timeout (#28344)
* better waitfor docs on timeout

shippable errors unrelated to docs
2017-08-29 14:33:12 -04:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Toshio Kuratomi 4e6cce354e Remove wildcard imports
Made the following changes:

* Removed wildcard imports
* Replaced long form of GPL header with short form
* Removed get_exception usage
* Added from __future__ boilerplate
  * Adjust division operator to // where necessary

For the following files:

* web_infrastructure modules
* system modules
* linode, lxc, lxd, atomic, cloudscale, dimensiondata, ovh, packet,
  profitbricks, pubnub, smartos, softlayer, univention modules
* compat dirs (disabled as its used intentionally)
2017-07-28 22:10:17 -07:00
Matt Clay 895e6c5d06 Fix wait_for with newer versions of psutil. (#26455)
* Add support for newer psutil versions.
* Fix psutil install in wait_for integration test.
* Fix test requirements for wait_for elapsed.
2017-07-05 19:00:13 -07:00
Dag Wieers 7d7051fc54 Mutually reference Windows and non-Windows modules (#25482)
* Mutually reference Windows and non-Windows modules

To make it easier for Windows or non-Windows users to find the relevant
module information, we are mutually referencing both variants in their
documentation.

We are also adding a special note if a module works on both Windows and
non-Windows targets.

* Mutually reference Windows and non-Windows modules

To make it easier for Windows or non-Windows users to find the relevant
module information, we are mutually referencing both variants in their
documentation.

We are also adding a special note if a module works on both Windows and
non-Windows targets.

* Replace 'look at' with 'use', as requested

ci_complete
2017-06-26 16:26:53 +01:00
Abhijeet Kasurde b89cb95609 Fix spelling mistakes (comments only) (#25564)
Original Author : klemens <ka7@github.com>

Taking over previous PR as per
https://github.com/ansible/ansible/pull/23644#issuecomment-307334525

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-12 07:55:19 +01:00
Abhijeet Kasurde ccc7f788c0 Fix import for get_exception (#25551)
Fixes #25549

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-09 11:58:18 -05:00
James Cammarata 81998b963d Re-adding missing os import to wait_for 2017-06-09 10:57:17 -05:00
Brian Coca db15528de3 added example for those with ansible_connection set 2017-06-08 13:40:48 -04:00
Brian Coca d325fa00cc corrected docs 2017-06-08 13:18:03 -04:00
Dag Wieers 6e98dbbfd7 wait_for: PEP8, imports, cosmetics (#24634)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)

This fixes #19781
2017-06-08 11:06:11 +02:00
Brian Coca ea8c9a9b73 minor doc update 2017-05-31 19:39:30 -04:00
Chen Zhiwei a44d57bf91 Allow customize fail message of wait_for module 2017-05-31 19:38:44 -04:00
Brian Coca 1e1caaad06 docs update, use connection: local vs local_action 2017-05-24 14:09:25 -04:00
Brian-Williams 8466c808d9 Change wait_for time to utc (#23987) 2017-04-25 17:04:29 -05:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
Matt Martz 829c0b8f62 Update validate-modules (#20932)
* Update validate-modules

* Validates ANSIBLE_METADATA
* Ensures imports happen after documentation vars
* Some pep8 cleanup

* Clean up some left over unneeded code

* Update modules for new module guidelines and validate-modules checks

* Update imports for ec2_vpc_route_table and ec2_vpc_nat_gateway
2017-02-02 11:45:22 -08:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Søren Kröger 3a2875739f Added active_connection_states parameter (#19775) 2017-01-05 10:57:22 -08:00
Brian Coca 425ab5598e fix wait_for example 2017-01-02 17:16:23 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
zaiusdr 74b32d9ec0 Fix wait_for Module to handle socket response as string in Python3
In Python3 socket module returns responses as bytes type. So it's
necessary to convert it to string for the module work correctly.
2016-12-08 11:25:32 -05:00
Sam Doran b56a9852ee Examples syntax batch4 (#5620)
* Change example syntax on authorized_key module

* Change example syntax on cron module

* Change example syntax on group module

* Change example syntax on hostname module

* Change example syntax on seboolean module

* Change example syntax on selinux module

* Change example syntax on service module

* Change example syntax on sysctl module

* Change example syntax on systemd module

* Change example syntax on user module

* Change example syntax on debug module

* Change example syntax on fail module

* Change example syntax on include module

* Change example syntax on include_role module

* Change example syntax on include_vars module

* Change example syntax on pause module

* Change example syntax on wait_for module

* Change example syntax on apache2_module module

* > Change example syntax on django_manage module

* Change example syntax on htpasswd module
2016-12-08 11:25:31 -05:00
Brian Coca ba6bc5382d corrected version added 2016-12-08 11:25:25 -05:00
Brian Coca 9e931f89fb added ability to control sleep between attempts
the default was 1s but it makes sense to make this configurable
2016-12-08 11:25:25 -05:00
Stanislav Antic 4c92652e7b Fix wait_for on python < 2.6 (#3790) (#3973) 2016-12-08 11:24:38 -05:00
Michael Scherer fefc0cdd50 Fix wait_for to compile on python3 (#3722) 2016-12-08 11:24:30 -05:00
Michael Scherer 73a33c02a9 Do not use a tuple as argument for _create_connection (#3655) 2016-12-08 11:24:28 -05:00
vaupelt ae464c5b5e exclude_hosts does not work as expected with state=drained
There are established connections for a service. The service is bound to a ipv4-mapped ipv6 address. Wait_for wrongly waits for clients listed in exclude_hosts.
2016-12-08 11:24:20 -05:00
Toshio Kuratomi 47e9a06784 Specify types in argument_spec instead of code so that checking type vs default value does not trigger 2016-12-08 11:24:08 -05:00
Lars Larsson 542eb2e09c total_seconds not present on timedelta on python2.6 2016-12-08 11:23:47 -05:00
Toshio Kuratomi fda9eeaa89 Use select in wait_for so that we don't get stuck in cornercases:
* reading from a socket that gave some data we weren't looking for and
  then closed.
* read from a socket that stays open and never sends data.
* reading from a socket that sends data but not the data we're looking
  for.

Fixes #2051
2016-12-08 11:23:44 -05:00
Andrey Trubachev b93633d7c2 Fix python-2.4 compatibility 2016-12-08 11:23:25 -05:00
Andrey Trubachev c55187ff42 Fix 'wait_for' doesn't work with ipv6only host 2016-12-08 11:23:25 -05:00
Greg DeKoenigsberg eb881d7d5d Proper author info for all remaining modules 2016-12-08 11:23:07 -05:00
Brian Coca 7ccc2143fd sleep when only doing a time delay to avoid cpu churn 2016-12-08 11:23:01 -05:00
Brian Coca 00a327bdaa added docs to show wait_for default timeout settings
Fixes #400
2016-12-08 11:22:54 -05:00
Gerard Lynch 1fcc1a7374 wait_for: updated docs, must be resolvable hostname, updated example 2016-12-08 11:22:45 -05:00
Brian Coca 8f197aed48 added missing docs on connection_timeout for wait_for 2016-12-08 11:22:44 -05:00
Brian Coca ba040784b8 let implied type do the spliting 2016-12-08 11:22:25 -05:00
Brian Coca 7d577e4447 minor fixes to wait_for to avoid tracebacks as per ansible core issue #9244 2016-12-08 11:22:25 -05:00
Michael DeHaan 677ed39cb4 Renames. 2016-12-08 11:22:25 -05:00