Commit Graph

166 Commits (40a5f7bfdfa3371ecd97212bba9e4baf00a2652b)

Author SHA1 Message Date
James Cote aee9209375 Update set_fact doc to reflect updated caching options (#46565)
* Update set_fact doc to reflect updated caching options

* add note about change in precedence caused by caching
2018-11-30 08:42:47 -06:00
Adilio 3cbb66dd53 Updated example in include_role.py
<!--- Updated example text from with_items to loop -->

+label: docsite_pr
2018-11-27 14:12:45 -08:00
Brian Coca 89b7e10436 updated var docs (#48957)
* updates var docs, fixes #48949

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2018-11-26 16:08:39 -06:00
Abhijeet Kasurde 70f992c618
wait_for: Add note about path and port (#48930)
Path and Port are mutually exclusive parameters but not documented.
This fix documents this requirement.

Fixes: #15732

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-26 13:49:25 +05:30
Björn 9c71f176f3 Make wait_for return matched groups defined in search_regex. Closes #… (#47690)
* Make wait_for return matched groups defined in search_regex. Closes #25020.

* Fix formatting issues.

* Fix issues raised in review.

- Use output_dir instead of hardcoded /tmp for temp files
- Sleep for only 3s instead of 10s
- Revert indent change
2018-11-20 14:19:17 -05:00
Martin Krizek a80c25cbd9
Do not use str() on exceptions (#46950) 2018-11-09 07:59:30 +01:00
Brian Coca 4961f003e5
a more in depth doc on cacheable option (#47878)
* a more indepth doc on cacheable option
2018-11-07 11:06:00 -05:00
Brian Coca 3453dace85
use to_text instead of str in async_status (#45990)
* use to_text instead of str in async_status

* used to_native instead as per feedback
2018-10-12 10:04:37 -04:00
bjakubiak e50de2c35f Fixes #23456 (#35171) 2018-10-09 19:04:51 -04:00
Juan Martinez 25a192034f Use specified loopvar in include_role example loop 2018-10-01 17:39:10 -04:00
Jordan Borean 5c73d4f4bd
async: use async_dir for the async results file directory (#45461)
* win async: use async_dir for the async results file directory

* tried to unify POSIX and PowerShell async implementations of async_dir

* fix sanity issue
2018-09-20 19:37:54 +10:00
Jon "The Nice Guy" Spriggs ab2e6fded1 Show multi-line messages in debug documentation (#23000)
* Show multi-line messages in debug documentation

* Add two-line entry
* Indicate that jinja2 filters are not applied here

* Fix to incorrect documentation change
2018-09-12 16:55:48 -04:00
Brian Coca 1ed57f1f64 moving from with_ff to just ff (#44847) 2018-09-12 15:35:04 -04:00
Evert f7ef06e849 Added a note regarding the delegate_facts option. (#25257)
* Added a note regarding the delegate_facts option with a link to documentation
2018-09-12 14:30:05 -05:00
Matt Martz 0015d4cef3
2.8 Core Deprecation Removal (#45232)
* Remove deprecated ansible.vars.unsafe_proxy. Fixes #45040

* Remove deprecated validate_md5 alias from fetch module. Fixes #45039

* Remove deprecated private arg from import/include_role. Fixes #45038

* All include deprecations bumped to 2.12. Fixes #45037

* Add changelog for deprecated removals
2018-09-10 15:05:52 -05:00
Dag Wieers b64e666643
Add elapsed return value to select modules (#37969)
* Add elapsed return value to select modules

It can be quite useful to know exactly how much time has elapsed
downloading/waiting. This improves existing modules or updates
documentation.

* Ensure elapsed is always returned

* Added changelog fragment
2018-08-31 22:20:56 +02:00
Toshio Kuratomi b2932a41b0 Fixup removed and deprecated modules
* Removed modules no longer have documentation
  Decided this was causing people to think that modules were supported
  even after being removed.  This change is a new strategy to have the
  error message trying to use a removed module point people to the older
  documentation.

* Add stubs for modules removed in 2.7
  These are freshly removed so we want people who are still using them
  when they upgrade Ansible to have a hint as to where to find information
  on how to port.

* Finish properly undeprecating include
  include was undeprecated earlier but not all of the pieces that marked
  it as deprecated were reverted.  This change fixes the remaining
  pieces
2018-08-24 15:37:13 -07:00
Jonny McCullagh aac668ee1f Update wait_for.py (#44071)
Removed the 'wait 300 seconds' from the examples that did not have the 300 sec timeout

+label: docsite_pr
2018-08-13 10:48:21 -04:00
Matt Martz c1c229c6d4
Remove use of simplejson throughout code base (#43548)
* Remove use of simplejson throughout code base. Fixes #42761

* Address failing tests

* Remove simplejson from contrib and other outlying files

* Add changelog fragment for simplejson removal
2018-08-10 11:13:29 -05:00
Pilou 32eab149b6 [doc] import_role: mention version from which behavior changed and fix some typos (#43843)
* [doc] fix some typos

* [doc] import_role: mention version from which behavior changed
2018-08-09 09:00:59 -05:00
Abhijeet Kasurde 13dd1acbec Fix typo in ignore_unknown_extensions doc
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-26 09:28:33 -04:00
Andy Eff 26fd05c288 Update wait_for.py (#43002)
<!--- Your description here -->
This change is intended to help users know that a win_wait_for module exists and should be used for working on Windows hosts, as the documentation gives the impression that this module works on Windows - but if tried, it produces a large amount of stderr output.
+label: docsite_pr
2018-07-19 13:59:18 +02:00
Matt Martz 27b4d7ed31
Add feature to expose vars/defaults with include/import_role (#41330)
* First pass at making 'private' work on include_role, imports are always public

* Prevent dupe task execution and overwriting handlers

* New functionality will use public instead of deprecated private

* Add tests for public exposure

* Validate vars before import/include to ensure they don't expose too early

* Add porting guide docs about public argument and change to import_role

* Add additional docs about public and vars exposure to module docs

* Insert role handlers at parse time, exposing them globally
2018-07-15 09:59:30 -05:00
gstaicu 8590465d96 Update pause.py (#42297)
Change spelling from 'contols' to 'controls'
2018-07-04 16:48:55 +05:30
HD650 07738cc848 Improve code style 2018-06-21 13:59:50 -04:00
HD650 8b9f707c21 More explanation in docstring 2018-06-21 13:59:50 -04:00
zhikangzhang 24189e7639 Point out that fail_msg is new in 2.7 2018-06-21 13:59:50 -04:00
zhikangzhang 2333b4474c Rename argument msg to fail msg
This change make the arguments of assert less ambiguous.
2018-06-21 13:59:50 -04:00
John Imison 0d885260a5 Adding success_msg to assert (#41048)
* Adding success_msg to assert

* Added missing version_added. Importing and checking string_types.
2018-06-14 11:34:04 -04:00
Adam Miller 39f7e055a4 Add ignore_unknown_extensions to include_vars for dir (#35809)
processing to ignore non-valid file extensions

Fixes #35745

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-05-31 15:30:49 -04:00
Matt Martz da4ff18406
Support 'apply' to apply attributes to included tasks - Impl 1 (#39236)
* Support 'apply' to apply attributes to included tasks

* Cannot validate args for task_include

* Only allow apply on include_

* Re-enable arg validation, but only for include_tasks and import_tasks

* s/task/ir/

* Add tests for include_ apply

* Include context with AnsibleParserError

* Add docs for apply

* version_added

* Add free-form documentation back

* Add example of free-form with apply
2018-05-31 12:08:38 -05:00
Shirly Radco bf53e441b1 Update include_vars.py (#36106)
ignore_files is a list. Example was incorrect.
2018-05-23 14:35:02 -05:00
Matt Martz ea489b3f33
Update missed private doc for import_role (#39873) 2018-05-08 15:46:45 -05:00
Matt Martz 384a0d8b01
Deprecate private for include_role (#39821) 2018-05-08 10:31:56 -05:00
Martin Krizek c57d476871
import_role docs: loop is not supported (#39725) 2018-05-04 19:36:33 +02:00
wznoinsk f2db9d59c7 Update set_stats.py
<!--- Your description here -->

+label: docsite_pr
2018-05-02 11:10:52 -04:00
Matt Martz 65049b6c42
Set default=no in import_role and include_role for private. Fixes #21077 (#39566) 2018-05-01 12:19:04 -05:00
Matt Clay c262dbfd30 Use https for links to ansible.com domains. 2018-04-23 11:33:56 -07:00
John R Barker 9e028ab704
Modules to link relatively to docs (#39081)
* Modules to link relatively to docs

* consistency
2018-04-20 17:35:50 +01:00
Dag Wieers cdd21e2170
Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2018-03-15 22:15:24 +01:00
Brian Coca 4dcc5588f6 undeprecate include
defering deprecation until we are comfortable that the new actions
cover most of the ground users need.
2018-02-07 12:35:56 -05:00
John R Barker a23c95023b
Module deprecation: docs, scheme and tests (#34100)
Enforce module deprecation.
After module has reached the end of it's deprecation cycle we will replace it with a docs stub.

* Replace deprecated modules with docs-only sub
* Use of deprecated past deprecation cycle gives meaningful message (see examples below)
* Enforce documentation.deprecation dict via `schema.py`
* Update `ansible-doc` and web docs to display documentation.deprecation
* Document that structure in `dev_guide`
* Ensure that all modules starting with `_` have a `deprecation:` block
* Ensure `deprecation:` block is only used on modules that start with `_`
* `removed_in` A string which represents when this module needs **deleting**
* CHANGELOG.md and porting_guide_2.5.rst list removed modules as well as alternatives
* CHANGELOG.md links to porting guide index

To ensure that meaningful messages are given to the user if they try to use a module at the end of it's deprecation cycle we enforce the module to contain:
```python
if __name__ == '__main__':
    removed_module()
```
2018-01-30 12:23:52 +00:00
Matt Clay 227ff61f9d
Add module support to yamllint sanity test. (#34964)
* Add module support to yamllint sanity test.
* Fix duplicate keys in module RETURN docs.
* Fix syntax in return_common docs fragment.
* Fix duplicate keys in module EXAMPLES docs.
2018-01-16 15:08:56 -08:00
Brian Coca bbd6b8bb42 Temporary (#31677)
* allow shells to have per host options, remote_tmp

added language to shell
removed module lang setting from general as  plugins have it now
use get to avoid bad powershell plugin
more resilient tmp discovery, fall back to `pwd`
add shell to docs
fixed options for when frags are only options
added shell set ops in t_e and fixed option frags
normalize tmp dir usag4e

- pass tmpdir/tmp/temp options as env var to commands, making it default for tempfile
- adjusted ansiballz tmpdir
- default local tempfile usage to the configured local tmp
- set env temp in action

add options to powershell
shift temporary to internal envvar/params
ensure tempdir is set if we pass var
ensure basic and url use expected tempdir
ensure localhost uses local tmp
give /var/tmp priority, less perms issues
more consistent tempfile mgmt for ansiballz
made async_dir configurable
better action handling, allow for finally rm tmp
fixed tmp issue and no more tempdir in ballz
hostvarize world readable and admin users
always set shell tempdir
added comment to discourage use of exception/flow control

* Mostly revert expand_user as it's not quite working.

This was an additional feature anyhow.

Kept the use of pwd as a fallback but moved it to a second ssh
connection.  This is not optimal but getting that to work in a single
ssh connection was part of the problem holding this up.

(cherry picked from commit 395b714120522f15e4c90a346f5e8e8d79213aca)

* fixed script and other action plugins

ensure tmpdir deletion
allow for connections that don't support new options (legacy, 3rd party)
fixed tests
2018-01-15 21:15:04 -08:00
Adam Miller ae92426e72 fix ci, duplicate exception checking was merged in wait_for (my fault)
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-13 09:53:39 -08:00
Austin S. Hemmelgarn 50ceb8d7d8 wait_for: change file check to handle directories and sockets (#20979)
open(path) throws an error when called on a directory or UNIX socket,
and therefore a check to ensure that the path is absent will always
succeed when there is a directory or file located there.

This updates the check to use os.access(path, os.F_OK) instead, which
instead just checks that the path exists instead of trying to open it as
a file, and therefore properly handles directories and sockets.

This causes a slight semantic change in how permissions are handled.
The existing code will fail to work correctly if the user running the
module on the managed host has no read access to the path specified.
The new code will work correctly in that situation.
Both versions fail if the user can't traverse the parent directory.

I've also added a check to the try block to catch OSError. I've seen
this call fail with an OSError on rare occasion in the face of odd
extended permissions (usually MAC configuration) in cases where it
should technically return False. In such cases, the file is functionally
inaccessible to the user making the call, so it's essentially not there,
but it can't be created by them either. I've documented this, as well as
the fact that the bug this change fixes exists, and a rather nasty
inconsistency involving symbloic handling that I stumbled across while
testing this change.

Fixes: #20870
2017-12-13 11:10:19 -06:00
Wojciech Sciesinski dc112a03dd Small correction to import_role documentation (#33285)
* Small correction to import_role documentation

* Correct line length - pep8, E501
2017-12-01 20:58:31 +10:00
Jiri Tyr 283fee90a7 Unifying wording and formatting of all include and import modules (#31938)
* Unifying wording and formatting of all include and import modules

* Changes based on comments from dharmabumstead

* Removed instances of the term ‘Ansible Engine’

* Removed instances of term ‘Ansible Engine’

* Updated term

* Updated wording

* Updated wording

* Removed the term ‘Ansible Engine’
2017-11-22 14:05:29 -08:00
Sam Doran e65045f51f Add echo option to pause module (#32205)
* Enable ECHO in prompt module

Fixes #14160

* Add option for controlling echo behavior with pause module

* Improve option logic

Allow all options to be used in varying combinations, rather than being mutually exclusive.
Always capture output and return it, even when a time limit is set.

* Add version_added to docs

* Improve behavior of echo output

Set a few more flags to allow interactive deletion and hide control characters.
Do not capture or echo input when a time is set. Tried to get this working nicely, but ran into too many issues/oddities to keep it. Maybe in the future if there is demand for capturing/echoing input when a time is set I'll take another pass at it.
2017-11-03 13:32:36 -04:00
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