Commit Graph

2146 Commits (84b4387702b50a47a95cab1e289af506161b3f1b)

Author SHA1 Message Date
Sandra McCann a60feeb3c1
Specify lowercase only for Galaxy namespaces (#67485)
* specify lowercase only for galaxy namespaces
* doh... include meta file
5 years ago
Geoffrey Purdy 82ca00e4fe
Update windows_faq.rst (#67482)
Steers users around the error:  Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/xmltodict.py'
Consider using the `--user` option or check the permissions. -->
5 years ago
Jordan Borean 423a900791
Clarify b64encode with Python 2 (#67488) 5 years ago
Sloane Hertel 6a8b1f867e
[aws_s3] fix deleting versioned objects before deleting bucket (#54435)
* [aws_s3] fix deleting the current objects and the previous versions from a version-enabled bucket

* use existing paginated_list function to keep compatibility with the other places it is called

* changelog

* Add noteworthy change to the porting guide

* Reword that with acozine's suggestion

Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
5 years ago
Sandra McCann 39fef58bea
Add note that devel branch should not be used in real environments (#67483) 5 years ago
Adam Miller 98c1fc9d3a
add a testing section to collections dev guide (#67370)
Signed-off-by: Adam Miller <admiller@redhat.com>
5 years ago
Francisco J. Capdevila ed4fccb308
Fix typo (#67433) 5 years ago
Sam Doran f506fd4730
Add ansible-galaxy collection list command (#65022)
* Start adding ansible-galaxy collection list options

* Working list all collections and list a specific collection

* Nuke debugging cruft

* Use to_text to get a string of the FQCN for sorting

* Improve collection output formatting

- add header
- display collection name and version in separate columns
- width of columns is dynamic based on collection name and version length

* Make role list output match collection output list

- add header
- add columns for role name and version
- make column width dynamic based on name and version length

* remove debug statemnt and extra header

* Revert "Make role list output match collection output list"

This reverts commit a0b3db47bb3b198aafd34c1f1be5b6561af2f928.

* Add validate_collection_path function

Utility function for ensuring a collection target ends with 'ansible_collection'

* Use validate_collection_path

* Do not warn if a specific collection in found in any search path

* Fix extraneous warning and remove duplicate code

Do not warn when listing a specific collection and it does not exist
in other collection paths.

Restructure the code that loops through collection paths to remove
duplicate conditional code.

* Indicate role path was found

* Use new function name

* WIP Save Point

* Use separate functions for role and collection list

* Wrap error message

There may be a better way to do this besides hard coding a line break, but this
does make the message a lot more readable.

* Add validate_collection_path function (#66441)

* Add validate_collection_path function

Utility function for ensuring a collection target ends with 'ansible_collection'

* Fix bad syntax

* Correct docstring

* Bikeshed the names

* Properly list a single role

* Simplify _display_warnings()

Only display warnings. Move exception raise back to each caller.

* Move private methods to private functions

They don't need self, so it makes sense to have them as functions
Get rid of _display_warnings() function since it doesn't do anything worthy of
an independent function.

* Add integration tests for ansible-galaxy collection list

* Fix docs sanity test

* Fix bug where ansible_collections dir does not exist

The path may exist, but if there is no ansible_collections dir inside that path,
an exception was raised in find_existing_collections().

Add integration test for this scenario

* Put execute_list() method back

* Add some informational messages for debugging

* Add unit tests

Units tests for the various private methods in support of collection list

* Start adding unit tests for test_execute_list

* Display collection path when listing specific collection

* Add unit tests for listing all collections and specific collection

- Create fixture for creating test objects
- Add function for controlling os.path.isdir results

* Set defaults for minimum collection widths

Ensure that collections with small FQCNs display correctly.
Add unit tests

* Split up unit tests and fix fixtures

Add more fixtures for mocking objects during the specific collection tests

* Change help message for -p in list subcommand

Give accurate description of what it actually does rather than trying to use language shared between sub commands.

* Disable colorized output in unit test

* Add docs for collection list

* Fix integration test on macOS

The temp file path is really long on macOS, so the warning message gets wrapped
across multiple lines. That make seth grep fail. Switch to matching on a smaller
part of the warning.

* Recreate common path options for collections

Improve help about what the '-p' option does and how it works.

* Remove unnecessary elif after continue statements

* Account for duplicate paths in collections_searh_paths

If someone specifies the same path via '-p' that is the COLLECTIONS_PATHS,
do not list the collections twice.

* Docs updates
5 years ago
Bas f35293c052
Update YAMLSyntax.rst with yamllint (#66622)
* Update YAMLSyntax.rst with yamllint

Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Ken Dreyer 0485ce9d12
docs: fix path to roles' meta/main.yml file (#67408) 5 years ago
Carsten Rösnick-Neugebauer b625b430f1
Add (more) explicit references to Jinja2 docs in conditionals doc (#61814)
Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Sloane Hertel 97f011cf94
Add verify subcommand to 'ansible-galaxy collection' (#65618)
* [WIP] Add verify subcommand command to 'ansible-galaxy collection'

* Fix pep8 and use consistent display order

* WIP - docs

* Remove some redundancy in verify display messages by using an error queue for each collection

* Share common code and improve output format

* clean up documentation

* typo

* Apply suggestions from code review

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Move ModifiedContent namedtuple to the global scope

Add a public metadata property

Rename function to _get_json_from_tar_file

* Add some unit tests

* fix using common functions after rebase

* changelog

* Improve efficiency finding specific installed collections

Improve efficiency by only downloading the tar.gz from the galaxy server for comparison after checking that the collection has been installed

Handle multiple collection paths

Fix up tests

* pep8

* reword that for accuracy

* use more common code and verify collection name

* Improve error message and add documentation

* Update unit tests and add coverage for both local and remote collections that are unable to be located

* Only validate collections using the format collection_namespace.collection_name

Fix tests to reflect that

Fix documentation

* Fix a bug when a local collection does not contain a file

* pep8

* Fix formatting

Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Mark Chappell 90898132e4
CloudRetry/AWSRetry : Disable catching of NotFound exceptions (#67281)
* CloudRetry/AWSRetry : Remove default catching of NotFound exceptions

* Add docs

* Changelog updates from review

* Update unit tests after removing 'NotFound' from default retries
5 years ago
Jordan Borean ed863b377b
win_package: add missing porting guide entries (#67374) 5 years ago
tchernomax 53e043b5fe
combine filter: fine list handling (option b) (#57894) 5 years ago
Sandra McCann a6bb3ae291
fix some broken links (#67345) 5 years ago
Bill Brubaker (wwbrubak) 561f8c1d60
Update macOS installation instructions (#67058)
On macOS Catalina ``pip install --user ansible`` results in warnings and errors. This updates the reference documents to reflect changes Catalina+ with a safe, easy install for Ansible, accessing pip as a module and installing ansible with --user.

Co-authored-by: Sam Doran <sdoran@redhat.com>
5 years ago
Roger D. Winans 888a059ee7
Can we simplify _How to test a PR_? (#65383)
Switch the instructions on testing PRs to use the `refs/pull/XXXX/head` refspec as described in [_Checking out pull requests locally_](https://help.github.com/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally#modifying-an-inactive-pull-request-locally).
5 years ago
Piotr Stawarski a0247d13d8
New magic var: `ansible_config_file` (#66085)
* Add `ansible_config_file` magic variable

* Add ansible_config_file to INTERNAL_VARS

* Add changelog fragment

* Update Special Variables docs
5 years ago
Jonas DOREL 29edcdcf5b
Add library in role directory structure (#67030)
* Add library directory to the list of directories in a role
5 years ago
Felix Fontein fd43619f1a
Docs: improve anchors vs. header bar (#67244) 5 years ago
Sriviswajth 070f946745
Update intro_patterns.rst (#67151)
Removed extra quotes from example.
5 years ago
Alex Humphreys 01a6e1c2c9
Mention role defaults file (#67153)
Add info on where role defaults are set; matches the entry for role variables.
5 years ago
Sandra McCann 7ef7c1b5d7
add note on write access to socket_path (#67060)
* Change socket_path error messages to not directly refer to socket_path
* Apply suggestions from code review

Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
5 years ago
Mario Lenz 808bf02588
Remove options from some vmware modules that are not used in the code (#67282) 5 years ago
Nilashish Chakraborty 88f0c85228
Remove deprecated attributes from nxos_igmp_interface (#67186)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
5 years ago
Wojciech Sciesinski 49e7f9afe2
Link the testing documentation to the module documenting page (#67248) 5 years ago
JP Mens 585e79942c
Slash missing from /etc/ (#67220) 5 years ago
Sandra McCann 4dd2513371
add info on creating doc fragments in a collection (#67171)
* add info on creating doc fragments in a collection
Co-authored-by: Alicia Cozine <879121+acozine@users.noreply.github.com>
5 years ago
Felix Fontein f725dce936
Clean up FILE_COMMON_ARGUMENTS (#66389)
* Clean up FILE_COMMON_ARGUMENTS.

* postgresql_pg_hba doesn't declare the backup option.

* uri doesn't declare the remote_src option.

* Add documentation.

* maven_artifact seems to use directory_mode, which it doesn't declare.

* Update changelogs/fragments/66389-file-common-arguments.yml
Update docs/docsite/rst/porting_guides/porting_guide_2.10.rst

ci_complete

Co-Authored-By: Jill R <4121322+jillr@users.noreply.github.com>
5 years ago
Mitsuru Nakakawaji c55ba658c6
add note for Azure Availbility Zone (#66200)
* add note for Azure Availbility Zone

* Change title

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/scenario_guides/guide_azure.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Jordan Borean 12e3adb23a
win_domain_controller - add a deprecation warning for the log_path option (#67108) 5 years ago
Jordan Borean 78470c43c2
Removed deprecated items in Windows modules (#67105) 5 years ago
Felix Fontein 23b2bb4f4d
docker_container: change behavior for one-port container ranges to be same as docker CLI (#66382)
* Adjust docker_container behavior for one-port container ranges to be similar to docker CLI.

* Add changelog.

* Add documented examples for ports:.
5 years ago
Dick Visser 5b93a14a0f
Add anchor to each parameter row (#66895)
* Add anchor to each paramater row

* Update docs/templates/plugin.rst.j2

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Insert full keys into plugin docs.

* Added visible links.

Co-authored-by: Felix Fontein <felix@fontein.de>
5 years ago
Ilias Trichopoulos d6f2b4e788
Fix indentation (#66991) 5 years ago
Sander 87a5e433ef
update guide_azure.rst (#66940)
changed example for ping linux machines. Looks liked it was wrongly copy paste.
5 years ago
Simon Dodsley b1a8bded3f
Remove deprecated parameter for 2.10 in purefb_fs (#67026) 5 years ago
Mark Chappell 919a9e33e8
Minor AWS argument checks (required_if / mutually_exclusive) fixups (#66966)
* aws_netapp_cvs_snapshots - minor required_if fixup (state must be set if state=present)

* ec2 - fix typo in mutually_exclusive definition

* rds_instance: fix typo in mutually_exclusive restore_to_time should be restore_time - currently throws a boto error
5 years ago
Mark Chappell 5d4d9d40af
ansible-test - Add 'get' to the list of bad choices for state (#66921)
* ansible-test - Add 'get' to the list of bad choices for state

* Changelog fragment
5 years ago
Sam Doran c8568a5c94
Add documentation about vars used in roles at the play level (#66907) 5 years ago
Toshio Kuratomi 4273e84962
Upstream jinja has decided not to rename from jinja2. (#66880)
So we're going to keep our intersphinx labels as jinja2 to match what
upstream is doing
5 years ago
Abhijeet Kasurde 2728c2476e
docs: Fixed "Edit on GitHub" link for plugin, cli (#66745)
Fixed sphinx theme to navigate "Edit on Github" link to locate correct
plugin, cli source in GitHub repo.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Felix Fontein 5fdc9a61f0
docker_container: pass volumes only for anonymous volumes (#66600)
* Simplify code.

* Only pass anonymous volumes.

* Add changelog and update porting guide.

* Add integration tests.
5 years ago
Dusan Matejka 57805b7def
zabbix_proxy interface option documentation and argspec fixes (#66837)
* zabbix_proxy interface option documentation and argspec fixes

* Update changelogs/fragments/66837-zabbix-proxy-interface.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
5 years ago
Mark Chappell 1156962cde
Forbid `state=(list|info)` in modules via ansible-test sanity check
PR #66898

This change introduces a new sanity check with code
`parameter-state-invalid-choice` in the `ansible-test sanity`
validator. It enforces modules not to support `list` or `info`
as their `state`.

Co-Authored-By: Sviatoslav Sydorenko <webknjaz@redhat.com>
Co-Authored-By: Felix Fontein <felix@fontein.de>
5 years ago
Eitan Adler 86663abf37 all: fix all the the duplicate words (#66784) 5 years ago
Mark Chappell 35652ca788 Add tests to make sure that the documented 'elements' matches that defined in argument_spec (#66385)
* Add tests to make sure that the documented 'elements' matches that defined in argument_spec

* Mass-add test/sanity/ignore.txt
5 years ago
Toshio Kuratomi abc8b0ae73 This was changed to python 2.7 but should have remained python 2.6 (#66836)
* Modules are still python-2.6+ unless there's a compelling reason not
  to be.
5 years ago
Mark Chappell 5ff899662d Add sanity test to require elements entry when argument type=list (#66386)
* Require elements entry for lists

* Bulk add initial test/sanity/ignore.txt
5 years ago
Walter Sosa 2dc9841806 doc: Fix tiny typo in example: change --> changed (#66835)
##### SUMMARY
Fixed another tiny typo: change --> changed

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
5 years ago
Martin Krizek 4ca0c7f116 Fix case sensitivity for lookup() (#66521)
This brings consistency to lookup(), with_ and ansible-doc.

Fixes #66464

* Add a porting guide entry
5 years ago
Sandra McCann 68ab8c23be Network prompts (#66584)
* add network prompt examples and module examples

* Update docs/docsite/rst/network/user_guide/network_working_with_command_output.rst

Co-Authored-By: Nathaniel Case <this.is@nathanielca.se>
5 years ago
Toshio Kuratomi 14cc63dc0f Switch intersphinx label from jinja2 to jinja (#66703)
* Switch intersphinx label from jinja2 to jinja

Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
5 years ago
Jill R ac881b0026 Add section to aws devel guidelines about module_defaults (#66699) 5 years ago
Abhijeet Kasurde fc6476bd72
VMware: Handle multiple tags with different category (#66465)
vmware_tag_info used to return dict of tag information which caused
data loss when there are multiple tags with same name and different category ids.
This fix will add additional fact "tag_info" which will deprecated existing fact
"tag_facts".
The "tag_info" is a list which handles multiple tags with same name.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Toshio Kuratomi 0da13469d3 Add a script to update the intersphinx inventory (#66646)
* Add a script to update the intersphinx inventory files

* We're about to add intersphinx inventories for separate ansible docs
  so we need an easy way to update them.  Also, we should be updating
  these cache files for other upstreams occassionally as well.  With a
  script, we can add updating them to a release process.
* Now that we don't know what the version of the cache is, change the
  filenames to not contain versions.

* Update the intersphinx cache files with the latest upstream versions

Results of running:

hacking/build-ansible.py update-intersphinx-cache -o docs/docsite -c docs/docsite/rst/conf.py

* Add a comment to the configuration file which says how to structure the intersphinx mapping and why.

* Update docs/docsite/rst/conf.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Alicia Cozine cb8ce7159d Docs: clarify that roles do not inherit collections set in a playbook (#66667)
Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Alicia Cozine 0b503f6057 Docs: User Guide overhaul, part 3 (#66371) 5 years ago
Sam Doran 20eb1dca99
Update Galaxy docs to use "token" rather than "API key" (#66644)
We have called an API token many things. I changed the command line argument to
"--token", so now I'm unifying the documentation. I looked at both Galaxy and
Automation Hub and Galaxy is the only place that still uses the term "API Key",
which it could be argued should change.
5 years ago
Logan Mzz 986c9cf6a1 Docs: Fix collection adjacent folder tree (#66490)
##### SUMMARY

Previously folder tree example for collection adjacent to the current playbook were displaying a subfolder below the playbook instead of being a sibling.
5 years ago
Marko Kohtala c423b1f213 dev_guide: Correct path to ansible-test requirements files (#66626)
The requirements path was old due to file relocation in
commit d651bda123.
5 years ago
Walter Sosa 875ac4b7a5 Fix a tiny typo (#66589)
Fixes a very small typo: as --> a in playbook_debuggers.rst
5 years ago
Sandra McCann 599cc0bdfa restructure headings and copy-edit shell completion (#66479)
* restructure headings and fix shell completion, apply suggestions from code review

Co-Authored-By: Alicia Cozine <879121+acozine@users.noreply.github.com>
5 years ago
hiyokotaisa 3bcb664497 Fixes #65590 add pywinrm version explanation (#65591)
* add pywinrm version explanation

* Update windows_winrm.rst

Changed pywinrm explanation to note style

* Add period

Co-authored-by: Jordan Borean <jborean93@gmail.com>
5 years ago
Jordan Borean 6f04f87a13
Deprecate Windows 2008, and 2008 R2 (#66257)
* Deprecate Windows 2008, and 2008 R2

* Remove shippable nodes

* Update windows_faq.rst

Be less specific about 2008/R2 timeframes

* Update setup.ps1

tweak warning text

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
5 years ago
Sandra McCann 4fedc10035 added guidelines for seo; (#66431) 5 years ago
Xavier PV 9dd548ebb7 Update developing_python_3.rst (#66249)
##### SUMMARY

fix link § redirection

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
5 years ago
林博仁(Buo-ren Lin) 011e0176c2 Clarify the advantage include* statement brought regarding looping (#66022)
Signed-off-by: 林博仁(Buo-ren, Lin) <Buo.Ren.Lin@gmail.com>
5 years ago
Bill Dodd 5f966ef664 Update deprecation version and porting guide for resource_id option (#66060)
* update deprecation version and porting guide for resource_id option

* add changelog fragment
5 years ago
Sandra McCann 1a0724fdd4 Trim down to one Ansible search option (#66284)
* move swiftype search to upper left of docsite, fix spacing and length issues for search icon and searchbox
5 years ago
Sandra McCann 9922014441 add details on network gather facts improvements (#66220)
* add details on network gather facts improvements, implement feedback
5 years ago
Sandra McCann ffc1f33f2a Docs: make different heading levels more obviously different in html output (#66253) 5 years ago
Sandra McCann 2ad6055efd Document network resource modules (#66226)
* add network resource module details to docs

(cherry picked from commit 3e35d2d63ce17fb694e645785ad855f01420f7d8)

* network resource module page, with example output
5 years ago
Sandra McCann 136b3be722 added unit test details for resource modules (#65891)
* added unit test details for resource modules
5 years ago
Jordan Borean 595ab62ab8
Ansible.Basic - Added deprecated_aliases (#66323) 5 years ago
kaorihinata 3ca4580cb4 Allow no_log=False to silence the no_log warnings for module parameters (#64733)
As AnsibleModule._log_invocation is currently implemented, any parameter
with a name that matches PASSWORD_MATCH triggers the no_log warning as a
precaution against parameters that may contain sensitive data, but have not
been marked as sensitive by the module author.

This patch would allow module authors to explicitly mark the aforementioned
parameters as not sensitive thereby bypassing an erroneous warning message,
while still catching parameters which have not been marked at all by the
author.

Adds tests for various no_log states including True, False, and None (as
extracted by AnsibleModule._log_invocation) when applied to an argument with
a name that matches PASSWORD_MATCH.

Fixes: #49465 #64656
5 years ago
Sandra McCann 0ca79a4234 Clarify how to use the Galaxy token (#65961)
* DOCS: clarify how to use the Galaxy token, with info for installs and api-key
5 years ago
Abhijeet Kasurde 469f104ec2 loop: simplify dict2items example in docs (#66235)
* Added a simple example to explain "dict2items" filters for better understading.

Fixes: #65505

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Anthony Bourguignon d3e9ef3c35 add a path_join filter which joins path components (#62713) 5 years ago
Sandra McCann 80dff8743a fixed some broken links (#66182) 5 years ago
Lars Kellogg-Stedman f85d9d7028 Correct rst syntax in playbooks_filters.rst (#66198)
The `regex_replace` documentation included an example that was meant
to be preformatted text but due to an indentation error was rendering
incorrectly.
5 years ago
Mark Chappell 458268f4cb AWS Guidelines: Make 'security_token' optional so that they can be run outside of CI (#66107) 5 years ago
Toshio Kuratomi 365820f871 Add a banner which will display on the testing site. (#64763)
* Add a banner which will display on the testing site.

Thanks to shane for the javascript code

* change to more noticable color

Co-authored-by: Sandra McCann <samccann@redhat.com>
5 years ago
Pilou 7ee3103a86 clc_aa_policy: deprecate unused 'wait' parameter (#64367) 5 years ago
Ganesh Nalawade 1cfab26fab
Fix netconf plugin related to collections (#65718)
* Fix netconf plugin related to collections

Fixes #65655 (partly)

*  Make netconf plugins configurable so that the
   information of ncclient device handler
   for give platform resides in the platform
   specific netconf plugin.
*  If the device handler value in ncclient is
   different from the ansible_network_os value
   the right value of `ncclient_device_handler`
   should be set in the plugin documentation.

* Fix review comments

* Fix CI issue

* Fix review comment
5 years ago
Bill Dodd 973e36c6b6 Fix version param in deprecate() call and update porting guide (#65894)
* fix version= param in deprecate() call and update porting guide

* add changelog fragment
5 years ago
Sandra McCann 80f5503ed0 Use requirements.txt to install prereqs for docs build (#65709)
* Use requirements.txt to install prereqs for docs build

* implement feedback
5 years ago
Wojciech Sciesinski aacc2d1a18 Update indentation used in the code examples, unify empty lines (#65874) 5 years ago
Alicia Cozine 40fb46f1e8
fixes import paths for ansible unit testing (#65775)
* fixes import paths for ansible unit testing

* Update docs/docsite/rst/dev_guide/testing_units_modules.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>
5 years ago
Evgeni Golov 057e137998 clarify `returned` value of `RETURN` nlock (#65724) 5 years ago
yiskylee 1f0b5b09cd Explanation for "check_mode: no" is confusing (#65777)
When an ansible module, e.g., command, does not support check mode, you can use "check_mode: no" in that task to execute the task in normal mode, even when "--check" flag is used. The current document basically says, use "check_mode: no" to run in check mode, which is confusing and inaccurate.
5 years ago
Steve Leonard af1c788ba7 Fix list formatting in Getting Started docs page (#65713) 5 years ago
Mossroy c3c1708dea Fix variable name in an example (#65760)
Makes the variable name consistent between the example code (`myname`) and the text below (mentioning a variable called `name`) in the docs.
5 years ago
Sandra McCann 9c30325704 fixed some link nits (#65772) 5 years ago
Alicia Cozine 860cacc54f Docs: User guide overhaul, part 2 (#65474) 5 years ago
anshulbehl b349ec8fcf Adding network plugin changes for netconf and network_cli (#65708)
* Adding network plugin changes for netconf and network_cli
5 years ago
Sandra McCann 5eceebcaf3 Clarify how to install roles and collections from same requirements file (#65707) 5 years ago
Chris Budzilowicz 5ebce4672b VMware: add note to vmware_guest faq (#65569)
* add note to vmware_guest faq about the vmware API being read-only unless you're a paid subscriber
5 years ago
Wojciech Sciesinski 95aef88a45 Update indentation used in the code examples, unify empty lines (#65346) 5 years ago
lotaris-xx c185c46501 Update guide_azure.rst (#65519)
Adds subscription_id to the list of user/password credentials.
5 years ago
Evgeni Golov 3af1732bd8 fix rendering of GOOD/BAD code for regex_replace examples (#65654)
adds double colon (::) so the examples render as code
5 years ago
Jasper Lievisse Adriaanse 53cd0bdd29 docs: Prefer python3 on OpenBSD (#65447) 5 years ago
Mark Chappell d8943d495e AWS NLB: Deprecate current default behaviour of 'absent' (#65468)
* Deprecate elb_network_lb default of *delete*.

* Add changelog fragment

* Porting guide entry
5 years ago
Jordan Borean fcdebe41e9
win_find - Refactor for better performance and alignment to find (#65536)
* win_find - refactor to make more performance and use newer style

* win_find - refactor for performance improvements and alignment to find

* More path alignment to find

* Fix yamllint error
5 years ago
Sandra McCann 96cbbdd59f update version metadata to get faceted swiftype search running (#65574)
* update version metadata to get faceted swiftype search running
5 years ago
Felix Fontein 4be8b2134f Sanity checks: make sure that `required` in argument spec coincides with documentation (#65437)
* Add sanity test for required parameters, update ignore.txt, and add changelog.
5 years ago
Sandra McCann 41472ee387 Describe different ways to set connection timeout options (#65126)
* add timeout option examples, link to new section, implement feedback
5 years ago
Sam Doran 21bbf49396 Mention Python builtin methods in filter docs (#65425) 5 years ago
林博仁(Buo-ren Lin) 8ebc57c186 Mention that Python keywords are invalid Ansible variable names (#65094)
* Mention that Python keywords are invalid Ansible variable names
Using a Python keyword as a variable name triggers the error `Invalid variable name in 'register' specified: 'return'`.
5 years ago
Niklas Liechti 39ebd244e3 Update playbooks_filters.rst (#64769) 5 years ago
Andrew Schultz 756ac826fe Improve ignore_unreachable documentation (#64938) 5 years ago
Sandra McCann 7084dd727a clarify httpapi with an example (#65083) 5 years ago
Sandra McCann b2fc12a29f clean up network toc (#65264) 5 years ago
Kenyon Ralph a797802d27 playbooks_filters_ipaddr.rst: fix syntax, indentation (#65208) 5 years ago
Sandra McCann af64e9ce6a add Automation Hub stub page (#65261)
* add Automation Hub stub page

* implement feedback
5 years ago
Sam Doran 0471ed3731 Add docs clarifying behavior of retry files (#65153) 5 years ago
Sloane Hertel c1f280ba6e
Inventory CLI - Ignore settings for when vars plugins should run (#65073)
* Inventory CLI - Ignore settings for when vars plugins should run and just always run them

* Add note to porting guide

* Fix loading vars plugins

* changelog

* Remove a staging test for ansible-inventory since it ignores that setting
5 years ago
gaoruifeng f9f7a0c60e fix syntax issue (#65166)
- can disabled  
+ can be disabled
5 years ago
Trevor Pounds 8daa42bb3d Support non-KV and KV v1/v2 secret engines (#64288)
* Support generic and KV v1/v2 secret engines.

Fixes #41132
Fixes #50598
Fixes #54462
Fixes #64150

* Update KV v2 compatibility notes/usage docs.

* Add tests for KV v1/v2 and generic secrets engines.

* Add changelog fragment.

* Add KV v2 behavior changes to porting guide.

* Fix pylint blacklisted name warnings.
5 years ago
Felix Fontein f4d45ffdff
docker_container: change network_host default behavior for Ansible 2.14 (#64635)
* Update network_mode docs.

* Announce default change for 2.14.

* Add changelog fragment.
5 years ago
Chris Budzilowicz 0ab21fd1ec add note re required forward slash on url (#65203) 5 years ago
Mark Chappell 6e652ae6df Improve consistency of IAM_{role,user,group} behaviour (#64258)
* iam_user: use AnsibleAWSModule.client to fetch connection rather than C&P code

* iam_role: Add deprecation warning so we can switch purge_polices default behaviour from true to false

* iam_user/role/group: Rename 'managed_policy' and 'purge_policy'

Rename from singluar to plural (we accept a *list* of policies), and add aliases for the old values.

* Cleanup documentation

* Changelog
5 years ago
Felix Fontein 784e507671 module sanity checks: improve alias handling (#59060)
* add_file_common_args is only of interest on top-level.
* Handle undocumented arguments in one place.
* Update ignore.txt
* Add changelog
5 years ago
Egor Zaitsev f3575c5025 docs: add solution to timeout errors to docs (#65140) 5 years ago
Alicia Cozine b0c8e7926f link from quickstart page to Network Getting Started (#65150) 5 years ago
Mark Chappell f1311d3e98 Rewrite iam_policy using boto3 (#63924)
* reworked iam_policy

* Deprecate policy_document option

* deprecate defaulting skip_duplicates to true

* No longer explicitly catch ParamValidationError.

ParamValidationErrror is already caught by ClientError

* Work with complex policy objects rather than json documents

comparisons can better cope with the special cases (eg True vs "True" )

* Enable check_mode tests and fix related 'changed' bug

* changelog

* doc cleanup based on review
5 years ago
Baptiste Mille-Mathias e65be0beee Put all files and Path filters under a specific section (#64913)
Many of the filters in the "other useful filters" list manipulate filenames and paths; add a heading and put them together.
5 years ago
Felix Fontein b6f0f14dd3 Document diff. (#64888) 5 years ago
Xu Yuandong 09aebf33e4 Add doc to ce for user guide. (#63982) 5 years ago
Sloane Hertel a4b36b2e6a Update cache plugin documentation (#63635)
* Update cache plugin documentation since all cache plugins shipped with Ansible can be used for caching inventory since 2.8

* Update docs/docsite/rst/plugins/cache.rst

Co-Authored-By: Abhijeet Kasurde <akasurde@redhat.com>

Co-Authored-By: John R Barker <john@johnrbarker.com>
5 years ago
Sandra McCann 2749090bc6 fix collection broken links (#65010) 5 years ago
Baptiste Mille-Mathias 1d0a832692 Fix link to Roles (#64992) 5 years ago
Baptiste Mille-Mathias f198036d7f Remove duplicated and broken link to Roles (#64991) 5 years ago
Alicia Cozine 1df62f129a Collections versions (#64912) 5 years ago
Maciej Delmanowski 45527716fd Add module ldap_attrs; deprecate ldap_attr (#62701)
* Add ldap_attrs module

* Fix codesyle error

* Apply deprecation rules

* Add support for X-ORDERED extension in ldap_attrs

The 'X-ORDERED' LDAP extension allows definition of ordered LDAP object
attributes. This extension is used in OpenLDAP "cn=config" database to
support ordered configuration options.

Specification: https://tools.ietf.org/html/draft-chu-ldap-xordered-00

* Update ldap_attr deprecation notice

* Documentation improvements based on suggestions

* Remove redundant dots from documentation

* Correct 'insertations' to 'insertions'

* Remove insecure 'params' option

* Fix sanity ignore errors

* Improve module documentation

* Change example value from string to list

* Fix support for "" values
5 years ago
Mario Lenz 034df49c56 VMware: New module vmware_host_dns (#64458)
* Restore module vmware_dns_config
* Remove domainname and change_hostname_to
* Changed version_added from 2.10 to '2.10'
* Add setup_attach_host: true to test case
* Add 'vcsim is not defined' block to integration tests
* Change 'result' to 'dns_config_result'
* Bugfix: Changing some static configurations while keeping others can crash the module
* Implement changing DNS config from DHCP to static on a cluster
* Update documentation for vmware_host_dns
* vmware_host_dns integration tests: Always revert to original DNS configuration, even if a test fails
* Deprecate vmware_dns_config
5 years ago
Sandra McCann a01376a493 update configuring ansible-galaxy client (#64796)
* update configuring ansible-galaxy client, deduplicate, clarify tokens, AH procedures, etc.
5 years ago
Jordan Borean 762fcf78b9
win_pester - Align dir scanning with Pester's defaults (#64880)
* win_pester - Align dir scanning with Pester's defaults

Co-authored-by: Coby Caldwell <cobycaldwell@gmail.com>

* Fix sanity issues
5 years ago
Matt Clay 4f51b7d323 Remove ansible-test --tox delegation option.
Use the --venv option instead.

This option was only available when running from source to test the ansible/ansible repository.

This will have no effect on testing collections or running from an installed version of Ansible.

Also update docs to reference the --venv option instead of the --tox option.
5 years ago
SriVignessh Pss 161e0be89b Fix access variable name programmatically faq docs (#64041)
* Add an example of replacing dashes with underscores in interface names for IPv4
5 years ago
Robert de Bock f17a55a181 Add advice how to prevent jinja2 warning (#60594)
* Add advice how to prevent jinja2 warning

##### SUMMARY
This addition helps users to demonstrate how to prevent `[WARNING]: when statements should not include jinja2 templating delimiters`.


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

* Update playbooks_tests.rst

* Update playbooks_tests.rst

Refer to the advised FAQ about when to use `{{ }}`.
5 years ago
Abhijeet Kasurde eac7fa1860
gitlab_user: Remove optional parameters while state is absent (#64832)
While deleting gitlab user, several parameters such as email, name,
password are not required. This fix removes this requirement from the
module.

Fixes: #61921

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
5 years ago
Jordan Borean f8f7662850
Add the ability to ignore files and collection build (#64688) 5 years ago
Vincent Bernat bf19060683 ipaddr: add an option to return peer of a point-to-point link (#59144)
* ipaddr: add an option to return peer of a point-to-point link

Signed-off-by: Vincent Bernat <vincent@bernat.ch>

* ipaddr: extend "peer" to also work with /30
5 years ago
John Mahowald bb72b8f1d9 Syntax fix guide_gce.rst (#64779)
Fix syntax for create a GCP instance example playbook. Fix task indentation.
5 years ago
Vera 844b5d4673 docs: fix gcs example to work with ansible 2+ (#64778)
switched directive sudo to become
5 years ago
James Cassell a7f90df0e9 Document match/search tests (#64775)
* clarify `search` vs `match` tests

* string test docs: fix rst formatting
5 years ago
Sandra McCann 94e98d5369 remove toshio as release manager (boohoo) (#64685) 5 years ago
Brian Coca c1493e5267 really clarify environment (#62531)
Co-Authored-By: John R Barker <john@johnrbarker.com>
5 years ago
Petr Ruzicka a5dc11cdd1 Changed with_items -> loop (#62995) 5 years ago
Sorin Sbarnea 7ea1db89d3 Documents storage of task files (#62345) 5 years ago
Glandos 7a26aff357 Fix cache example (#64600) 5 years ago
Jordan Borean 901eaf2ecc Add warning about winrm on MacoS (#64472) 5 years ago
Jordan Borean 74b0760cb4 Add note about kerberos dependency versions (#64478) 5 years ago
Timothy Appnel 0573e51482 Remove deprecated kubernetes and oc module "indirection" in v2.9 changelog doc (#64572)
+label: docsite_pr
5 years ago
Sandra McCann 6a662b0ed0 clarify acceptable file types in collection docs (#64618)
* clarify acceptable file times in collection docs

* implement feedback
5 years ago
Kiyo Nagamine 84bffff96a Fixed tiny typo in interpreter_discovery.rst (#64608)
Added missing '/'
5 years ago
Dusan Matejka 0cb19e655c zabbix_action shouldn't require args other than name when state=absent 5 years ago
Alicia Cozine ac9c75d467 updates RHEL packages to 2.9 (#64532) 5 years ago
Matt Martz 254788bc22
unsafe wrapping should only happen for with_ loops (#64401)
* unsafe wrapping should only happen for with_ lookups. Fixes #64379. Addresses #64169

* edit porting guide entry

* typo in changelog fragment

* typo

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* punctuation

Co-Authored-By: Sandra McCann <samccann@redhat.com>
5 years ago
Bibas f21f3219b2 [Fix] Typo in playbooks_environment.rst (#64496)
Change from `varaible` to `variable`
5 years ago
Ashley Hardin 78be0dcbc8 Update faq.rst (#63026) 5 years ago
Caleb Collins-Parks f178c49c02 Add warning about skipped vars (#63599) 5 years ago
aaronk1 0e4716d326 Clarify Python 2.x support in python_3_support.rst (#64077)
+label: docsite_pr
5 years ago
林博仁(Buo-ren Lin) 8e4ac212c8 Improve control node concept explanation (#64356)
Signed-off-by: 林博仁(Buo-ren, Lin) <Buo.Ren.Lin@gmail.com>

+label: docsite_pr
5 years ago
Hiroki Kobayashi e7cd5af1a6 Update intro_inventory.rst (#64345)
##### SUMMARY
A minor typo in `user_guide/intro_inventory.rst` is fixed.
Changed from "know" to "known"
5 years ago
Mark Chappell 9b0d487ce1 Add module_defaults group for ovirt (#64377)
* Add module_defaults group for ovirt

* Update docs to list ovirt module_defaults group
5 years ago
Kenyon Ralph 53f07bc283 intro_patterns.rst: fix typo (#64422)
Changed "your" to "you" in intro_patterns.rst
5 years ago
Christian Adams b1f02be9eb clarify vault warning and fix typo (#64419) 5 years ago
Sandra McCann 797397558e Add note about large tarball sizes for collections (#64411)
* add note on collection tarball size
5 years ago
Felix Fontein 0bf9146b29 Document 'elements' for module option and return value documentation. (#64075) 5 years ago
Mark Chappell 819ba2259d Sanity test fixups for AWS ec2 modules (#64230)
* ec2_ boilerplate

* Deprecate unused options.

* ec2_vol: Perform explicit type checking on volume_size and iops when parsing the args

Boto would through a type exception if the string couldn't be converted to an int.

* ec2_lc_find: remove duplicate definition of region

It's defined in ec2_argument_spec and ec2 doc fragment

* ec2_lc_info: Move responsibility for type checking/conversion of sort_start and sort_end into arg parser

* General sanity test related doc fixups

* Remove EC2 related sanity/ignore.txt entries

* Add changelog fragment
5 years ago
Sandra McCann 9686808326 restore TOC links to old porting guides (#64395)
* restore TOC links to old porting guides

* remove stray orphans
5 years ago
Sloane Hertel c1f1b2029c
Support vars plugins in collections (#61078)
* Move var plugins handling to a separate file

* Allow var plugins to require whitelisting

* Add global configuration ('demand', 'start') for users to control when they execute

* Add 'stage' configuration ('all', 'task', 'inventory') for users to control on a per-plugin basis when they execute

* Update ansible-inventory and InventoryManager to the global and stage configuration

* Update host_group_vars to use stage configuration and whitelisting

* Add documentation for using new options and to the developer's guide

* Add integration tests to exercise whitelisting and the new configuration options, using vars plugins in collections, and maintain backward compatibility

* Changelog

Co-Authored-By: Brian Coca <brian.coca+git@gmail.com>
Co-Authored-By: Sandra McCann <samccann@redhat.com>
5 years ago
Mark Chappell 8c8077b5be Amazon related Sanity test fixups (remaining batch 1) (#64368)
* Remove Sanity test ignore.txt entries

* Fixup boilerplate

* Remove use of blacklisted _ variable name

* cloudformation: Add an explicit removal version for template_format

This option's been ignored since ansible 2.3

* General docs cleanup to clear sanity errors

* elasticache_parameter_group: Add list of choices

- matches documented choices
- other values wouldn't have worked

* data_pipeline: Deprecate 'version' - always ignored

* Add deprecation documentation
5 years ago
Chris Budzilowicz 135c853588 reduce docs/docsite/README to essential info (#64287) 5 years ago
Alicia Cozine 6e07d4c1d9 add general facts-to-info paragraph (#64293) 5 years ago
Pierre Prinetti 2444fae208 Add a named parameter to the filter to_uuid (#64057)
Let the caller choose a namespace for `to_uuid` and document the
behaviour of both the default case, and the new explicit case.

This PR does not change the existing behaviour of the `to_uuid` UUIDv5
filter.
5 years ago
Sandra McCann 56d5fd34e3 [Docs-Release-2.9] clean up porting guide links and network text (#64124)
* clean up porting guide links and network text
* fix shippable error
5 years ago
Sandra McCann 3f808d9ed6 [Doc-Release-2.9] update release and maintenance page for 2.9 (#64166)
* update release and maintenance page for 2.9
* only 2.4 and earlier used the old changelog system
5 years ago
Sandra McCann f264e9cfca update backport instructions to use stable-2.9 (#64168) 5 years ago
Sandra McCann 4d087ba6bd reorder porting guides (#64122) 5 years ago
Sandra McCann 0812516208 [Doc-Release-2.9] Add Roadmap 2.10 (#64162)
* add 2.10 roadmap shell and remove very old roadmaps
5 years ago
Sandra McCann 409545825f docs: update to latest 3 versions (#64109) 5 years ago
brasswood 090dca7569 Note for virtual environment users (#64040) 5 years ago
parmsib a5d69f2a26 Make docker_stack adhere to standard ansible return values (#63467)
* Make docker_stack adhere to standard return values

The names of the various fields returned from ansible modules are e.g defined here https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#msg.

Adhering to this improves usability and makes use of functionality for e.g stdout_lines etc.

* Update lib/ansible/modules/cloud/docker/docker_stack.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Fix under-indentation of continuation line (pep8)

Issue exposed in test here https://app.shippable.com/github/ansible/ansible/runs/146667/1/console

* Don't break old playbooks/roles

Made sure the changes are only adding new variables, not removing anything existing yet.

* Added comment

* Minor fixes

* Update lib/ansible/modules/cloud/docker/docker_stack.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/cloud/docker/docker_stack.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* minor change to docker_stack.py

* Add changelog fragment for PR 63467

* Format changelog fragment

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Add fragment about docker_stack return val depr

* Add docker_stack doc note about deprecated vals

* Remove whitespace in empty line

* Add docker_stack depr notice to porting guide

* Update changelogs/fragments/63467-docker-stack-return-fix.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update docs/docsite/rst/porting_guides/porting_guide_2.10.rst

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update lib/ansible/modules/cloud/docker/docker_stack.py

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Added back a missing new line
5 years ago
Hugh d529e37eed Update porting_guide_2.9.rst (#64082)
Porting guide should redirect `azure_rm_availabilityset_facts` to `azure_rm_availabilityset_info` on line 365, not to `azure_rm_availabilityset`
5 years ago
Matt Clay e9f8a34dce
Fixes for validate-modules import handling. (#63932)
* Fix validate-modules support for collections.

- Relative imports now work correctly.
- The collection loader is now used.
- Modules are invoked as `__main__`.

* Remove obsolete validate-modules code ignores.

* Handle sys.exit in validate-modules.

* Add check for AnsibleModule initialization.

* Remove `missing-module-utils-import` check.

This check does not support relative imports or collections.

Instead of trying to overhaul the test, we can rely on the `ansible-module-not-initialized` test instead.

* Fix badly named error codes with `c#` in the name.

The `#` conflicts with comments in the sanity test ignore files.

* Add changelog entries.
5 years ago
Brian Coca 885ee62b53 clarified some points on environment keyword usage (#64065) 5 years ago
Austin Macdonald 1aee11c860 add newline to render table correctly (#63769) 5 years ago
Sloane Hertel 1e52782d6b Fix indentation of example (#63789)
Remove no_log since module_defaults aren't displayed like set_fact was
5 years ago
Felix Fontein 5c973dd147 docker_container: get rid of defaults (#63419)
* Add container_default_behavior option to get rid of some defaults.

* Add changelog.

* Fix option.
5 years ago
Marek Czernek 18f4f0549f Correct a typo (#64020) 5 years ago
Sandra McCann ee8a088205 combine galaxy.com install roles details (#63486)
* combine galaxy.com install roles details
* flatten dev guide and user guide for galaxy
5 years ago
Chris Budzilowicz 5c962ef859 revisions to docsite README (#63957) 5 years ago
Mark Chappell 8d7580a59f AWS S3 : Fixup sanity test issues and deprecate 2 unused options (#63989)
* S3 module Sanity check fixes.

* s3_lifecycle: deprecate unused 'requester_pays' option

* s3_sync: deprecate unused retries option

* Add changelog fragment
5 years ago
Mark Chappell fd54c54b51 AWS IAM Sanity test cleanup and deprecate unused 'fail_on_delete' option (#63961)
* AWS IAM Sanity test cleanup

* Changelog and porting guide updates

* Review recommendations
5 years ago
AndrewCi c562e17659 Fixed example error in windows_winrm user guide (#63922)
##### SUMMARY
The example code to configure TLS 1.2 Support using Ansible had an indention error. The register variable 'enable_tls12' was not indented. This caused the subsequent task to fail since the variable was not registered. 


##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr
5 years ago
Sandra McCann 6a2902c8d5 clarify no subfolders and md only for collections /docs folder (#63808) 5 years ago