Commit Graph

561 Commits (9ce9c9698ac63525e6893b34ca13aad81b148b42)

Author SHA1 Message Date
Guillaume Coré daeec920b0 ini_file: add allow_no_value param (#24442) 2018-03-05 17:05:41 +01:00
Jordan Borean c3a805aa3c minor wording changes to remove ambiguity 2018-02-28 16:47:41 -05:00
Michael Gajda 45e7689335 Fix lineinfile example
The examples comment said 'Add a line to a file if it does not exist, without passing regexp' which suggests, that the file is being created. But the default for 'create' is false. Thus the example lacked this option.
2018-02-28 16:47:41 -05:00
Giovanni Sciortino 602f059875 Add atomic_move in ini_file module
Fixes #34181
2018-02-26 10:53:40 -08:00
Dag Wieers a655bdb72e
Add missing copyright notice
I did a large part of the unzip implementation and gtar functionality.
2018-02-22 01:23:53 +01:00
Sam Doran 723daf3e3a
Check for regexp match when using insertbefore or insertafter (#36474)
Add tests to cover this scenario
Fixes #36156
2018-02-21 17:03:38 -05:00
tgates81 7a55fe99ef find.py module: Added depth: option to specify how many level deep to… (#36205)
* find.py module: Added depth: option to specify how many level deep to traverse directories.

* find.py module: depth: added correct version_added value.

* find.py module: depth: Default value is None.
2018-02-21 10:51:26 -05:00
Jordan Borean df8a5d7a4f
fetch: set fail_on_missing: True as default as per docs (#36469)
* fetch: set fail_on_missing: True as default as per docs

* Updated docs for fetch to say behaviour was changed in 2.5 and updated tests
2018-02-21 18:10:23 +10:00
Brian Coca c119d54e4a
now get_url defaults to module temp dir (#36218)
* now get_url and other modules default to module temp dir

also fixed 'bare' exception

* allow modules to work with older versions

* updated docs per feedback
2018-02-20 08:40:45 -05:00
Krzysztof Zawadzki ef9dac548f File Module docs, adding mode permission example with sticky bit (#36151)
* File Module docs, adding mode permission example with sticky bit
2018-02-14 12:18:13 +00:00
Toshio Kuratomi 8a22b51755
Fix copy for implicit relative paths (#35016)
copy currently fails if you specify a destination without any directory
component.  This is because we take the dirname of the destination for
some processing and no dirname causes issues.

This corrects that by prepending "./" if there is no directory component
in dest.
2018-02-08 00:12:32 -08:00
Giovanni Sciortino 038b281da2 lineinfile creating underlying directory manage permission denied exception (#35794) 2018-02-06 14:03:20 -06:00
Giovanni Sciortino fb2c0181c5 Fixes: #20986 blockinfile create undelying directory when create=true (#27961) 2018-02-06 09:48:15 -06:00
Abhijeet Kasurde 6bd0fbb63c Remove deprecated get_exception API
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-05 23:39:56 -05:00
Sam Doran f8f2b6d61d
Fix lineinfile to insert line when pattern exists elsewhere in the file. (#33393)
* Insert lines before or after when the regexp exists elsewhere in the file

* Correct filter syntax in lineinfile integration test

* Use multi-line YAML syntax on lineinfile tests

Unify indentation

* Add lineinfile tests for same line matched to different regexps

* Remove debug statement from test
2018-02-01 16:45:26 -05:00
Matt Martz de2427beaf Add transfer checksum verification in copy module (#35367)
* Add transfer checksum verification in copy module, to ensure that the file was transferred to the remote successfully. Fixes #35029

* Guard on no checksum

* Add version_added
2018-01-26 10:48:08 -06:00
Alberto Murillo 2018a61489 archive: Add support for xz (#34110)
* Add support for xz format on archive module

Fixes #34037
Fixes #34119

Signed-off-by: Alberto Murillo <albertomurillosilva@gmail.com>
2018-01-22 07:33:07 -05: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
Richlv e04e24010f Update unarchive.py (#34596)
clarify that absolute path is to be used for "creates", explicitly mention that it supports files and directories
2018-01-11 14:12:32 +10:00
Jonathan Doig e545127c2e Fix broken link to w3schools (#34561)
Closes issue #34528
2018-01-08 00:13:39 +01:00
Abhijeet Kasurde fc4ab22f05 Add gr_name and pw_name in find module
The fix adds gr_name and pw_name in return output.
Integration test added.

Fixes: #25643

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-21 17:00:25 -05:00
Baptiste Fontaine 571f878817 file: Mention that src supports state=hard (#31697) 2017-12-15 17:17:34 -06:00
Konstantin Shalygin 3c0a84349b [module] find: Add ability to exclude results by pattern. (#18949) 2017-12-15 09:27:34 -07:00
rhpvorderman 5578193ae4 Block markers in blockinfile no longer hard coded (#31787)
* Block markers in blockinfile no longer hard coded
2017-12-14 08:24:14 -06:00
cyrill d08179593f Add a new option firstmatch to lineinfile module. (#33825)
* Add a new option firstmatch to lineinfile module.

* Add firstmatch option in DOCUMENTATION

* Fix indent

* Add version_added "2.5"
2017-12-13 09:49:44 -06:00
pari- dd2ea8ae1d files/file.py: Raise an IOError when trying to touch a file with missing intermediate directories within it's path (#33765)
Fixes #33744

Signed-off-by: Patrick Ringl <patrick_@freenet.de>
2017-12-12 09:48:55 +01:00
Jordan Borean 1b0c445846 removed Queen's english from documentation 2017-11-28 10:03:36 +10:00
Jordan Borean 8386201242 add deprecation for stat get_md5 (#33002) 2017-11-27 18:58:55 -05:00
Matt Clay 9735a70059 Fix invalid string escape sequences. 2017-11-21 20:59:08 -08:00
Kellin 464ded80f5 Add link dest to synchronize module (#32746)
* Clean up after two recent synchronize tests

- add clean up after the last two tests in synchronize to make them
  match with the expectations in the previous tests

Signed-off-by: Robert Marshall <rmarshall@redhat.com>

* Add link-dest functionality to synchronize module

- add the link-dest option to the synchronize module code
- add tests for the link-dest option
- add documentation of the link_dest option to synchronize
- modify changed flag so it can properly work around rsync
  upstream not flagging hardlinks as a change properly in
  formatted output

Signed-off-by: Robert Marshall <rmarshall@redhat.com>

* Minor change to test
2017-11-13 11:13:25 -05:00
Tobias Wolf bed78872f9 Synchronize: Document the private_key option (#32754)
`synchronize` has supported the `private_key` option for a long time,
apparently. But for some reason it was never documented.

Today I managed to workaround the synchronize quoting bug by just using

```
private_key: /path/to/id_rsa
```

instead of

```
rsync_opts:
  - "--rsh 'ssh -i /path/to/id_rsa'"
```

So, I'll just go ahead and document this useful option ...
2017-11-09 12:49:49 -05:00
Martin Krizek 714598e91b
acl: do not remove all default entries (#32615) 2017-11-09 10:31:33 +01:00
Yadnyawalkya Tale a2d34e914e PEP8 fixes: Ansible system module and playbook base.py (#32322)
* Ansible files module sanity pep8 fixes

* Ansible system module and playbook base.py

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Various changes

* Various changes

* Various changes

* Various changes

* Undo blank lines not required by sanity checks

* Various changes

* Various changes

* Various changes

* Various changes

* Various changes

* Undo blank line changes not required by sanity checks

* Various changes

* Various changes

* Various changes

* Various changes

* Various changes

* Missing piece after merge

* Blank lines

* Blank line

* Line too long

* Fix typo

* Unnecessary quotes

* Fix example error
2017-11-07 09:38:59 +01:00
Toshio Kuratomi 28b86b1148 **Temporary**
The copy module has been failing since we changed the default of the
file module's follow parameter.  Make this change to try to get tests
working and then we'll diagnose and fix this afterwards.
2017-11-06 07:56:01 -08:00
Strahinja Kustudic 769881198f Sets sane defaults for follow in file modules (#31430)
* Sets sane defaults for follow in file modules
* Add a note in replace for removal of `follow` option
2017-11-03 17:13:58 -07:00
Dag Wieers babc2354a5
lineinfile: pylint fixes and docs (#30854)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:55:14 +01:00
Dag Wieers 2f8c88b687
file: pylint fixes and docs (#30849)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:53:44 +01:00
Dag Wieers a6415f9ad9
copy: pylint and docs (#30847)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:52:45 +01:00
Dag Wieers e365085644
acl: pylint fixes and docs (#30841)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:52:10 +01:00
Dag Wieers c46401e41f
tempfile: PEP8 compliancy, pylint and docs (#30859)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:51:19 +01:00
Dag Wieers f64a8f58a3
synchronize: PEP8 compliancy, pylint and docs (#30858)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:49:47 +01:00
Dag Wieers 19c3c7fe44
blockinfile: PEP8 compliancy, pylint and docs (#30845)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:43:18 +01:00
Dag Wieers fb18e27d87
assemble: PEP8 compliancy, pylint and docs (#30844)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:41:47 +01:00
Dag Wieers 0129b96065
archive: PEP8 compliancy, pylint and docs (#30842)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:39:30 +01:00
otteydw d2cb676c4c Add a validate example to blockinfile. (#32088) 2017-10-25 15:11:49 +01:00
Colin Nolan 30822e5f91 Corrects examples in the `find` module. (#31522) 2017-10-12 09:43:18 +10:00
Toshio Kuratomi 75eed6a51a Port arg specs from type='str' to type='path' 2017-10-09 21:15:56 -07:00
Dag Wieers 2b0e52b15c I am officially done with the unarchive module
I'll leave it up to someone else to try and talk to a bunch of unhappy people.
Good luck to whoever wants to maintain this !
2017-09-28 10:58:57 +02:00
Dag Wieers 5175bd8ebd replace: PEP8 compliancy, pylint and docs (#30856)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-09-25 17:55:45 -04:00
Dag Wieers 989bd1f829 xattr: PEP8 compliancy, pylint and docs (#30861)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-09-25 12:21:18 -04:00
Dag Wieers 04b5c17578 ini_file: PEP8 compliancy, pylint and docs (#30851)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-09-25 11:39:46 -04:00
Dag Wieers 5646d9960f xml: pylint fixes and docs
This PR includes;
- pylint fixes
- Documentation updates
2017-09-25 17:13:26 +02:00
Marko Stanković 85649876d0 Add a note about the limitations of a namespace check 2017-09-16 17:37:12 +02:00
Marko Stanković 16ca412bd7 xml module: Improve error message for missing namespaces 2017-09-16 17:37:12 +02:00
Matt Clay 68aeaa58a8 Fix dangerous default args. (#29839) 2017-09-12 00:11:13 -07:00
Anton Baklanov fcad4f38b4 Fixes #26793: convert insert regex to_bytes before searching 2017-09-09 12:49:00 -07:00
Christopher Torgalson 7138742bcc Clarifies File module docs re: absent state (#28748)
- The passage beginning "Note that file will not fail..." was slightly
  unclear about the fact that it referred to the behavior of the module
  when `state` is set to `absent`.
- Fixes #23203
2017-08-30 16:00:30 +02:00
Dag Wieers 9b31ca8d16 Small cleanup in return values (#28693) 2017-08-27 00:25:20 +02:00
Dag Wieers 357119f3b7 xml module: Improve documentation (#28667)
Missing bits and pieces, clarifications and examples.

This fixes #27951
This fixes #28119
This fixes cmprescott/ansible-xml#59
2017-08-25 23:53:38 +02:00
Dag Wieers 11c9756d9c xml module: Make user interface much more restricted (#28657)
So the xml module has a lot of parameters that combined together do
specific things. however it does not really describe which parameters
are required together, or which ones are required.

This PR fixes that situation and makes it impossible to provide
confussing parameters combinations.

Also, `pretty_print` was used as a flag to modify the output, but also
as an action to reformat the file (without other change). This is
problematic the way it was designed. This fixes that too.

This fixes #28194
2017-08-25 15:01:24 +02:00
Nicolas Porcel ba420c47cd synchronize: Use private_key and ssh_user with delegate_to (Fixes #16215) (#21686) 2017-08-24 21:09:15 -04:00
Dag Wieers 2634ef955a xml module: Better change detection, improved tests (#28460)
This PR includes:

- Improvements to change-detection by comparing 2 objectified XML trees
- Implement better integration tests by comparing 2 files using copy
2017-08-25 02:07:58 +02:00
Dag Wieers 7a182fc43e xml module: Add backup to pretty_print too (#28604) 2017-08-24 22:14:17 +02:00
Dag Wieers 967fbcb662 xml module: Add backup support (#28595)
This fixes #27949
2017-08-24 15:20:59 +02:00
Dag Wieers d8429a69c5 xml module: Parse and evaluate xpath on input (#28591)
* xml module: Parse and evaluate xpath on input

This fixes cmprescott/ansible-xml#68

* Update error string
2017-08-24 14:09:26 +02:00
Dag Wieers 26d75144b2 xml module: Implement diff mode (#28592)
This fixes #27952
2017-08-24 14:05:13 +02:00
Rastislav Barlik f0a6f1637b Update xattr.py (#28458)
Fix wrong default value in documentation
2017-08-22 11:45:41 -04:00
nrwahl2 535ede4d15 Fixes #28444: Renamed function print_match to match_print due to variable name conflict (#28445)
* Fixes #28444: Renamed print_match function to match_print due to name conflict

* Rename `match_print` to `do_print_match`

I think this is less confusing.
2017-08-20 05:28:30 +02:00
Dag Wieers b9cee65756 Original author wishes not to be notified by ansibot (#28447)
And moving maintainers to BOTMETA.yml as well.
2017-08-20 03:56:31 +02:00
David Kretch beed59f303 Fix trailing space in ec2_vol example, fix 'the the' typos (#28440)
* Fix 'the the' typos, fix 'pahting' filename typo

* Change 'the the' typos to a single 'the'.
* Change `playbook_pahting.rst` to `playbook_pathing.rst`.

* Delete trailing space in ec2_vol example

Delete the trailing space in `instance: "{{ item.id }} "`, which makes the
example fail when run because it looks for instance "i-xxxx ".
2017-08-19 23:00:51 +02:00
Guillaume Coré ccdea1c3b8 archive: allow ZIP64 by default (#24200)
allowZip64 is True by default since python 3.4,
see https://docs.python.org/3/library/zipfile.html#zipfile-objects

With python 2.7, when the file or folder to zip is >2G,
zipfile raises LargeZipFile.

This commit set allowZip64 to true.

Fixes #24125
2017-08-18 14:55:40 -04:00
Abhijeet Kasurde a572de626c Pep8 fixes for acl module (#24666)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-18 14:31:16 -04:00
Mehran Kholdi ecfa7f696d Enforce `state='file'` in `copy` module
This was causing wrong behaviour when `prev_state` was `hard`-link,
since the `file` module tried to apply the same `state` on the new
file, causing unexpected errors.

Particularly, both `overlay` and `devicemapper` storage drivers in
docker use hardlinks to share files between layers. This causes
most ansible playbooks to fail when working with files from layers
below.
2017-08-17 18:16:17 -07:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Dag Wieers f345ba5c38 More maintainers is a good thing, right ? 2017-08-14 23:50:21 +02:00
Evan Kaufman 767be93f77 Replace - Clarified regex docs (#26727)
* Clarified docs regarding multiline mode and negated character sets

Refs #26712

* Escaped newline
2017-08-14 14:25:08 -07:00
Pierre-Louis Bonicoli e52096e78a copy: grammar fix 2017-08-13 08:22:22 -07:00
Pierre-Louis Bonicoli ed8279cce0 copy: fix YAML documentation format 2017-08-13 08:22:22 -07:00
Pierre-Louis Bonicoli 1f5c908370 copy: state behavior when dest is a nonexisting path 2017-08-13 08:22:22 -07:00
Pierre-Louis Bonicoli 16f2e47559 copy: use formatting options 2017-08-13 08:22:22 -07:00
Pierre-Louis Bonicoli 28eb9466c7 copy: document behavior related to dest creation 2017-08-13 08:22:22 -07:00
Marko Stanković 6e7cf7377b xml: Add example with namespaces and clarify note (#28113)
* xml: Add example with namespaces and clarify note

* Correct the line length
2017-08-13 05:04:35 +02:00
T. Miller 93e1caccb7 ini_file: Match tabs before options (#28102) 2017-08-12 09:17:25 +02:00
Toshio Kuratomi 039383d90f Fix symbolic mode usage in unarchive with zip files
Fixes #21090
2017-08-11 19:01:41 -07:00
Toshio Kuratomi a3132e5dd6 Optimize template (#28044)
* Optimize template

* In fixing template to handle diff correctly #24477, I introduced more
  round trips to the remote end which slowed things down  The new code now
  uses one fewer round trips than the old code.
* Reimplement a large part of template by calling the copy action plugin
  instead of doing it in template's code.  This reduces the code in
  template and gives us one place to fix bugs and optimize.
* Add a follow parameter to template that mirrors the follow parameters
  for file and copy.
* Fix copy's diff handling (probably broken in my rewrite for in 2.4
  development)
* Adjusted when copy creates tmp dirs to rduce round trips in copy and
  template.

Fixes #27956
2017-08-11 17:50:49 -07:00
chriskarel 991918e9d2 Fix idempotency for Unix permissions in zip files. (#24580)
* Fix idempotency for Unix permissions in zip files.

This fix prevents the unarchive module from reporting 'changed' when a zipfile contains items with Unix permissions that differ from the system default.

* Update zip unarchive tests.

Additional tests for the unarchive module with zip files:
- Test file in zip archive with non-default permissions
- Test file added to zip archive with Windows permissions

* Additional fix for mixed win/unix archives.

  Turns out my original fix fails under some mixed archives, as setting the umask to zero can be applied to those files.  This creates a per-file umask variable, so a mix of permission types don't cause problems.

* CI Checks

CI checks for archives with:
* non default Unix permissions
* Windows permissions


* Workaround for BSD differences.

Using Zipinfo due to lack of support in BSD unzip.
Permissions handling is also different in BSD -- always applies UMASK to file permissions.

* Added checks for creating directories and SSH keys for existing users.
2017-08-11 12:36:46 -07:00
giovannisciortino 49209bfcc5 blockinfile: add --diff support in check mode (#27997) 2017-08-11 07:58:45 +02:00
Dag Wieers 8451d945aa Add new maintainer 2017-08-10 17:11:55 +02:00
Luke Armstrong fd18ade465 Documentation - modules/files/unarchive (#27998)
Last example is incorrect and will not run without throwing an error.
2017-08-10 10:32:08 -04:00
Dag Wieers 6874ba23ff New module: Support manipulating XML files (#25323)
* Import original unmodified upstream version

This is another attempt to get the xml module upstream.
https://github.com/cmprescott/ansible-xml/

This is the original file from upstream,
without commit 1e7a3f6b6e2bc01aa9cebfd80ac5cd4555032774

* Add additional changes required for upstreaming

This PR includes the following changes:

- Clean up of DOCUMENTATION
- Rename "ensure" parameter to "state" parameter (kept alias)
- Added EXAMPLES
- Remove explicit type-case using str() for formatting
- Clean up AnsibleModule parameter handling
- Retained Python 2.4 compatibility
- PEP8 compliancy
- Various fixes as suggested by abadger during first review

This fixes cmprescott/ansible-xml#108

* Added original integration tests

There is some room for improvement wrt. idempotency and check-mode
testing.

* Some tests depend on lxml v3.0alpha1 or higher

We are now expecting lxml v2.3.0 or higher.
We skips tests if lxml is too old.

Plus small fix.

* Relicense to GPLv3+ header

All past contributors have agreed to relicense this module to GPLv2+, and GPLv3 specifically.

See: https://github.com/cmprescott/ansible-xml/issues/113

This fixes cmprescott/ansible-xml#73

* Fix small typo in integration tests

* Python 3 support

This PR also includes:
- Python 3 support
- Documentation fixes
- Check-mode fixes and improvements
- Bugfix in check-mode support
- Always return xmlstring, even if there's no change
- Check for lxml 2.3.0 or newer

* Add return values

* Various fixes after review
2017-08-08 20:21:03 -07:00
Andreas Olsson ccc68f7157 Don't do additional path expand in file module
Since the module's path parameter is of the AnsibleModule type path
it's already being expanded. Hence no need to have the
set_fs_attributes_if_different method do its own expand.

This additional expand is an actual problem when the file module runs
recursively, as real existing file names can be mistakenly expanded to
something completely wrong and non-existing.

Fixes #25005
Fixes #25639
2017-08-08 09:05:06 -07:00
Dag Wieers 25e67d804c iso_extract: Reimplement using 7zip (not requiring root) (#24937)
* Reimplement iso_extract using 7zip (not requiring root)

So one of the drawbacks of the original implementation is that it required root for mounting/unmount the ISO image.
This is now no longer needed as we use 7zip for extracting files from the ISO.

* Fall back to using mount/umount if 7zip not found

As discussed with others.

Also improved integration tests.
2017-08-04 14:38:42 -04:00
Toshio Kuratomi fbf6cb8fff Add boilerplate to fetch.py
This completes the modules/files directory so we can now check it for
regressions.
2017-08-03 13:15:12 -07:00
Abhijeet Kasurde bf54a0c3e5 Fix missing import and boilerplate
Added fix for missing imports and boilerplate in files modules,
also, removed get_exception calls to match 2.6> exception handling.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-03 08:39:15 -07:00
Pete Travis 7a35b95609 provide usable examples for sudo validation 2017-08-03 11:04:07 -04:00
Ryan Sabatini f65f3570a8 Add Ability to Exlude Paths from Archive
Archive.py allows you to pass a glob path of files to archive.
This allows end users to glob a dir, and exlude a list of dirs
from the archive which are not necessary.
2017-07-31 11:46:16 -07:00
Dag Wieers be1c517f4d Add example of templating inline using copy module (#19752)
* Add example of templating inline using copy module

The **copy** module documentation implies that `content:` only works
for 'simple values' and for complex stuff you need the **template**
module, but that is an understatement. You can use **copy** to template
anything you desire.

So I changed the wording, added an example, and also added a note
to the template module that the **copy** module could be used for
'inline templating'.

This fixes #19741.
2017-07-22 22:12:31 -07:00
Toshio Kuratomi 3a2afc7825 Allow copy to writable files in unwritable dirs (#23509)
unsafe_writes currently allows updating a file that can be updated but
not removed (for instance, when docker mounted).  This change also
allows unsafe_writes to write to writable files in unwritable dirs. For
instance, if a system has made a single file inside of /etc/ writable to
a specific normal user.

Fixes #14961
2017-07-20 12:41:57 -07:00
Toshio Kuratomi f86ce0975d Add a directory walker to copy
* We need a directory walker that can handle symlinks, empty directories,
  and some other odd needs.  This commit contains a directory walker that
  can do all that.  The walker returns information about the files in the
  directories that we can then use to implement different strategies for
  copying the files to the remote machines.
* Add local_follow parameter to copy that follows local symlinks (follow
  is for remote symlinks)
* Refactor the copying of files out of run into its own method
* Add new integration tests for copy

Fixes #24949
Fixes #21513
2017-07-20 08:01:29 -07:00
Toshio Kuratomi 84fb9f032d Fix symlink handling (#26877)
* Fix symlink handling

On symlinks, make lnk_source return the absolute path of the target of the symlink.
Add a new return field lnk_target that returns the actual, unexpanded path to the target of the symlink.
2017-07-17 12:06:35 -07:00
Abhijeet Kasurde 156b29b26b Fix for check_mode in archive (#26788)
Fix adds check_mode fix for archive module. Also,
adds unit tests for archive module

Fixes: #26750

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-07-14 09:06:17 -04:00
James Cammarata 95a0fe37da UserKnownHostsFile=/dev/null when verify_host: false
This is a new fix to replace #20361 due to the synchronize module changing
sufficiently to make that commit no longer merge cleanly.

Fixes #20361
Related to #20311
2017-07-05 09:42:04 -05:00
Phillip Thurston a2f38de173 Corrected the examples in find module to make sure the commands are accurate to what is being described. 2017-06-28 18:17:22 -04:00
Brian Coca 44bef1dc6b corrected supported_by key 2017-06-28 15:12:42 -04: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
GennadySpb 26fec4f107 Fix type for 'attributes' field 2017-06-22 15:41:05 -04:00
Andrew Makousky f2abc4cf43 Improve documentation of 'remote_src' in the file copy module. (#23946)
Now that remote-to-remote copies are supported in the copy module,
the module documentation has been updated to indicate this in the
synopsis and examples to make the capability obvious for someone
skimming the documentation.
2017-06-18 08:38:17 +01:00
Abhijeet Kasurde 7521be73c1 Add missing import for get_exception
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-12 13:18:54 -04: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
Evan Kaufman 3d1701b959 Fixed subsection replacement with before/after patterns
* using a _named_ capture in our assembled pattern, since before/after could potentially contain their own parenthesized captures
* ensuring we only replace against the named capture in question
* removing some duplication in the regexp replacement, that was introduced in ansible/ansible#22535
* fixed edge case of before/after not matching file content to replace

Fixes ansible/ansible#24840
2017-06-07 01:45:34 -07:00
Toshio Kuratomi 6e473a432b Document the encoding parameter for the replace module
Add encoding parameter for replace to changelog
2017-06-05 19:39:56 -07:00
Evan Kaufman 49fe53266f Replace - workaround for non-utf8 text (#24861)
* Workaround for non-utf8 text exceptions
* Added encoding param, using to convert from bytes to text and back

Fixes ansible/ansible#24521
2017-06-05 19:35:18 -07:00
Dag Wieers 8cbed3c534 unarchive: PEP8, imports, cosmetics (#24654)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)
2017-06-02 16:22:52 +01:00
Dag Wieers 2f33c1a1a1 find: PEP8, imports, cosmetics (#24646)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)
2017-06-02 08:43:40 +01:00
Dag Wieers 91ee93ce13 patch: PEP8, imports, cosmetics (#24649)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)
2017-06-02 08:42:40 +01:00
Dag Wieers 09ba70f7c4 stat: PEP8, imports, cosmetics (#24653)
- Make PEP8 compliant
- Ensure imports are specific
- Few cosmetic changes (sort lists, casing, punctuation)
2017-05-30 18:31:56 +01:00
Brendan Almonte 8d8cfb5fcd Read directory_mode as 'raw' type
Reads the directory_mode param as 'raw' type to mirror the same behavior as mode.
This'll cause non-quoted values to be represented as an int, rather than a str.

Covered by 'assert recursive copied directories mode' test.

Fixes #24202
2017-05-23 11:33:19 -07:00
Matt Martz 4ac135c1b5 Fix logic surrounding copy and remote_src, remote_src is preferred, make copy action plugin only. Fixes #23591 (#24732) 2017-05-22 17:19:56 -07:00
pdasilva f8e47e2204 Changed assemble_from_fragments to use os.path.join (#24909)
Fixes #19437
2017-05-22 15:38:11 -07:00
Dylan Silva bba4549b43 Downgraded more modules from Curated to Community (#24751) 2017-05-18 08:28:41 -07:00
Matt Martz 63f8e6b68a Fix version_added for new option in template introduced in #21846 (#24307) 2017-05-04 14:53:00 -05:00
Toshio Kuratomi a0dfa8616a Make fetch default to fail on errors
Fixes #23501
2017-05-03 09:37:31 -07:00
Toshio Kuratomi 36d7c0c403 Fix places where path needs to be bytes on python3
These were discovered on python3 with fetch code that fails on errors.  Probably could be
provoked with particular sets of arguments to stat as well.
2017-05-03 09:37:31 -07:00
Erwin Lang b729b35e32 synchronize: Fix (delegated) local rsync
Makes delegated local rsync work even if ansible_host or ansible_ssh_host is set.
Makes local rsync work when no ssh is installed.
2017-04-27 09:33:26 -07:00
Andrea Tartaglia d1517f997a fixed RETURN docs for modules (#24011)
* fixed RETURN docs for remaining modules

* updated proxymysql_mysql_users 'sample' to yaml dict

* fixed whitespace errors
2017-04-26 15:56:13 +01:00
Sloane Hertel 00ebd0c89d make lineinfile docs clearer and make module pep8 (#23857) 2017-04-23 09:19:22 +02:00
Matt Parkes f0f20d8a1c ini_file 'create' parameter default value should be True
Updated create default value to True to match documentation (and common sense).
2017-04-13 11:08:21 -04:00
Ritesh Khadgaray 40d888922b stat: better documentation
- md5 fails if the file is not a regular file ( symlink, dir,..)
2017-04-11 12:19:07 -04:00
Hao Wang 3b5dd4e0a0 file module doesn't create hard link to given target directory 2017-04-10 12:20:46 -04:00
Karl Bergström c7860d4d4b Open unarchive file in binary mode
Recent Python3 versions require open() to specify binary mode if the data is anything other than text.

Python3: Use int() instead of long() in unarchive

Changes long() to int() for CRC values in the unarchive module. Affects unarchiving of zip files. Since CRC values in zipfile are 32 bits the behaviour should be unchanged even in Python 2.
2017-04-07 15:05:25 -07:00
Paul Montero 1963e506ec Open file in binary mode for python3 2017-04-07 14:47:28 -07:00
Erwin Lang 3efb11e225 synchronize: Exclude ssh_args from quoting
Makes it possible again to pass more than one argument via ssh_args to the synchronize module.
2017-03-30 19:40:27 -07:00
Brian Coca 7b197d823e let user control "auto-de-vault" (#22739)
* added option to toggle off autodevaulting

* fixes per feedbazck
2017-03-24 15:39:25 -04:00
Erwin Lang f7c9f44aab synchronize: Convert cmd to list and fix handling of the copy_links argument (#22573)
* synchronize: Convert cmd to list and fix handling of the copy_links argument

Converting cmd from str to list stops the pain of argument quoting/escaping.

* synchronize: Update imports according to #pullrequestreview-28758614
2017-03-24 09:22:45 -07:00
Toshio Kuratomi 65d9feea4f Revert "Quote ssh_args"
This reverts commit a9c3a452f0.
2017-03-24 09:18:35 -07:00
Toshio Kuratomi a9c3a452f0 Quote ssh_args
Fixes #22111
2017-03-24 09:17:34 -07:00
Dag Wieers ac43a1bbbc Windows: Use the correct newline sequence for the platform (#21846)
This change to the template action plugin make template use the
platform's native newline_sequence for Jinja.

We also added the option `newline_sequence` to change the newline
sequence using by Jinja if you need to use another newline sequence than
the platform default.

This was previously discussed in
https://github.com/ansible/ansible/issues/16255#issuecomment-278289414

And also relates to issue #21128
2017-03-23 19:47:10 -07:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Brian Coca 455aff8436 ported fix from ansible-core #5639
From 3d09c94faeaa52075055f23744d8b52581c59bb2 Mon Sep 17 00:00:00 2001
Evan Kaufman <evan@digitalflophouse.com>
2017-03-21 16:03:00 -04:00
Brian Coca c6dedea1a6 corrected docs 2017-03-16 17:36:03 -04:00
Jens Carl cd39ff9996 Add parameters to limit replace to certain section of the file
Add parameters 'after' and 'before' to limit the replacement/remove of
lines to a certain section of the file.
2017-03-16 17:34:56 -04: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
John R Barker e5b990a55a Fix invalid fields in module DOCUMENATION (#22297)
* fix module doc fields

* More module docs corrections

* More module docs corrections

* More module docs corrections

* More module docs corrections

* correct aliases

* Review comments

* Must quote ':'

* More authors

* Use suboptions:

* restore type: bool

* type should be in the same place

* More tidyups

* authors

* Use suboptions

* revert

* remove duplicate author

* More issues post rebase
2017-03-09 16:20:25 +00:00
Toshio Kuratomi 1ea3313c90 Document synchronize limitations around become and connections (#22373)
* Document synchronize limitations around become and connections
2017-03-07 10:22:24 -08:00
Marius Gedminas 15c7288ab9 Show diff when file: state=link changes the symlink target (#22243)
* Show diff when file: state=link changes the symlink target

* Integration test for symlink target change

* Also check soft link idempotency
2017-03-06 11:29:20 -05:00
Dag Wieers 237411613d Ensure that filenames from archives are not expanded
This fixes #21795
2017-03-02 11:48:24 -08:00
Benjamin Jolivot 22d657d3c7 Fix #22130 (ini_file crash when destination file don't exists or is e… (#22132)
* Fix #22130 (ini_file crash when destination file don't exists or is empty)
2017-03-01 08:20:51 -08:00
Dag Wieers 65ee3a6f19 iso_extract: new module to extract files from ISO images (#21957)
This is the original iso_extract module from the ansible-provisioning project.
We are upstreaming all our modules, and this PR is part of that process.
2017-03-01 13:33:32 +00:00
Tim Rupp 888c8614fb Removes expanduser calls
The usage of type='path' includes the expanduser call itself. This
patch removes its duplicate usage. Related to #12263
2017-02-27 09:22:48 -05:00
Matt Clay 4554e8d769 Remove unnecessary shebangs and execute bits. 2017-02-22 18:13:46 -08:00