Commit Graph

1399 Commits (718e0111686b42d74ac1767ac983eb6a2c6a9cf9)

Author SHA1 Message Date
Toshio Kuratomi 52449cc01a AnsiballZ improvements
Now that we don't need to worry about python-2.4 and 2.5, we can make
some improvements to the way AnsiballZ handles modules.

* Change AnsiballZ wrapper to use import to invoke the module
  We need the module to think of itself as a script because it could be
  coded as:

      main()

  or as:

      if __name__ == '__main__':
          main()

  Or even as:

      if __name__ == '__main__':
          random_function_name()

  A script will invoke all of those.  Prior to this change, we invoked
  a second Python interpreter on the module so that it really was
  a script.  However, this means that we have to run python twice (once
  for the AnsiballZ wrapper and once for the module).  This change makes
  the module think that it is a script (because __name__ in the module ==
  '__main__') but it's actually being invoked by us importing the module
  code.

  There's three ways we've come up to do this.
  * The most elegant is to use zipimporter and tell the import mechanism
    that the module being loaded is __main__:
    * 5959f11c9d/lib/ansible/executor/module_common.py (L175)
    * zipimporter is nice because we do not have to extract the module from
      the zip file and save it to the disk when we do that.  The import
      machinery does it all for us.
    * The drawback is that modules do not have a __file__ which points
      to a real file when they do this.  Modules could be using __file__
      to for a variety of reasons, most of those probably have
      replacements (the most common one is to find a writable directory
      for temporary files.  AnsibleModule.tmpdir should be used instead)
      We can monkeypatch __file__ in fom AnsibleModule initialization
      but that's kind of gross.  There's no way I can see to do this
      from the wrapper.

  * Next, there's imp.load_module():
    * https://github.com/abadger/ansible/blob/340edf7489/lib/ansible/executor/module_common.py#L151
    * imp has the nice property of allowing us to set __name__ to
      __main__ without changing the name of the file itself
    * We also don't have to do anything special to set __file__ for
      backwards compatibility (although the reason for that is the
      drawback):
    * Its drawback is that it requires the file to exist on disk so we
      have to explicitly extract it from the zipfile and save it to
      a temporary file

  * The last choice is to use exec to execute the module:
    * https://github.com/abadger/ansible/blob/f47a4ccc76/lib/ansible/executor/module_common.py#L175
    * The code we would have to maintain for this looks pretty clean.
      In the wrapper we create a ModuleType, set __file__ on it, read
      the module's contents in from the zip file and then exec it.
    * Drawbacks: We still have to explicitly extract the file's contents
      from the zip archive instead of letting python's import mechanism
      handle it.
    * Exec also has hidden performance issues and breaks certain
      assumptions that modules could be making about their own code:
      http://lucumr.pocoo.org/2011/2/1/exec-in-python/

  Our plan is to use imp.load_module() for now, deprecate the use of
  __file__ in modules, and switch to zipimport once the deprecation
  period for __file__ is over (without monkeypatching a fake __file__ in
  via AnsibleModule).

* Rename the name of the AnsiBallZ wrapped module
  This makes it obvious that the wrapped module isn't the module file that
  we distribute.  It's part of trying to mitigate the fact that the module
  is now named __main)).py in tracebacks.

* Shield all wrapper symbols inside of a function
  With the new import code, all symbols in the wrapper become visible in
  the module.  To mitigate the chance of collisions, move most symbols
  into a toplevel function.  The only symbols left in the global namespace
  are now _ANSIBALLZ_WRAPPER and _ansiballz_main.

revised porting guide entry

Integrate code coverage collection into AnsiballZ.

ci_coverage
ci_complete
6 years ago
John R Barker 3ab9030f05 Document more tools (#43053)
* Document more tools
6 years ago
Yanis Guenane d94cc3568a CloudStack: Fix typos in the Guide (#43303) 6 years ago
Yuma Inaura (稲浦悠馬) 1199dff246 Update porting_guide_2.0.rst
Fix indent

+label: docsite_pr
6 years ago
Dag Wieers 1ab411229a Get rid of duplicate status statement (#42885)
If a module was in status "preview", but it was not "supported"
(core/network) the message about the module being "preview" would be
repeated.
6 years ago
Sam Doran 2a1a8585f3
Add reboot module stuff to 2.7 roadmap (#43232) 6 years ago
Fabian von Feilitzsch d27de6acd9 Add from_yaml_all to support multi document yaml strings (#43037)
* Support multi-doc yaml in the from_yaml filter

* Most automatic method of handling multidoc

* Only use safe_load_all

* Implement separate filter

* Update plugin docs and changelog
6 years ago
Andrew Gaffney dbff49dee0
Remove dead 'vault_password' play attribute (#41847) 6 years ago
Jordan Borean 2c9cbae3f9
Removed deprecated Windows items slated for removed in 2.7 (#43231) 6 years ago
Toshio Kuratomi 09142f791c Change the schedule to allow slip time.
We have to have time to slip release in case of major bugs.
6 years ago
Toshio Kuratomi fb94857a83 Update roadmap with links to PRs 6 years ago
Matt Clay 4e489d1be8
Update Shippable integration test groups. (#43118)
* Update Shippable integration test groups.
* Update integration test group aliases.
* Rebalance AWS and Azure tests with extra group.
* Rebalance Windows tests with another group.
6 years ago
Donghyun Kang 1b86d598fc fixed typo(removed duplicated 'you') (#43158) 6 years ago
Jordan Borean 93c05074ee
win_chocolatey: refactor module to fix bugs and add new features (#43013)
* win_chocolatey: refactor module to fix bugs and add new features

* Fix some typos and only emit install warning not in check mode

* Fixes when testing out installing chocolatey from a server

* Added changelog fragment
6 years ago
Jarryd Tilbrook 460f858640 Enable check_mode in command module (#40428)
* Enable check_mode in command module

This only works if supplying creates or removes since it needs
something to base the heuristic off. If none are supplied it will just
skip as usual.
Fixes #15828

* Add documentation for new check_mode behavior
6 years ago
AJ Acevedo e423436ed7 Minor grammatical update
Minor grammatical update.
6 years ago
augustkang 6db074e7af ansible/docs/docsite/rst/inventory/implicit_localhost.rst typo 6 years ago
Nathaniel Case f6160c675d Add links to network roadmap items 6 years ago
Sandra McCann 2e93eab920 pr 42271 - fixed merge conflicts 6 years ago
Sloane Hertel fdf51f2a43
Add AWS links for 2.7 roadmap (#43093) 6 years ago
Ryan S. Brown 859ef3d134 Add CFN Stackset roadmap link 6 years ago
Jordan Borean 5e20ef1d89
Add missing links for Windows items on the roadmap (#43061) 6 years ago
Chris Smolen 1e2b332001 Update the regex_findall example (#43052)
<!--- Your description here -->
The example has:
`{{ 'Some DNS servers are 8.8.8.8 and 8.8.4.4' | regex_findall('\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b') }}`

It needs be double backslashes to escape the backslashes:
`{{ 'Some DNS servers are 8.8.8.8 and 8.8.4.4' | regex_findall('\\b(?:[0-9]{1,3}\\.){3}[0-9]{1,3}\\b') }}`
+label: docsite_pr
6 years ago
Brian Coca 18aa87803f remove dupe entries 6 years ago
Sergiu Marsavela 8d194fa5f7 Update Openstack dynamic inventory reference (#41459)
* Update Openstack dynamic inventory link

* Add note for change of script name

* Change name of script to prevent Python module import errors.

Fixes #41562
6 years ago
John R Barker 5bcdf4f204
cli_config, not net_config (#42903) 6 years ago
Sandra McCann 1900635409 fixed typo (#42900) 6 years ago
Matt Davis 1c420f160a add links to roadmap projects/issues/PRs (#42771)
* add links to roadmap projects/issues/PRs
6 years ago
Taranjeet Singh 58d6044251 Docs: Update sentence structure in user guide (#42884)
This commit fixes the information about become keyword in
Introduction to Playbook part under User Guide.
6 years ago
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
6 years ago
Dylan Silva 65643dfc8c Updated winrm details for more clarity (#42574) 6 years ago
Sviatoslav Sydorenko 97cc0cce7f
🚸 🐍 🍒 ⛏ Integrate cherry picker (#41403)
This enables developers to use cherry-picker for backporting purposes.
This tool originally comes from Core Python Development Workflow.

Ref: https://pypi.org/p/cherry-picker
Ref: https://github.com/python/core-workflow/tree/master/cherry_picker

Also:
* 📝 Add docs about supporting cherry-picker
6 years ago
Jiri Tyr 028f79a86b Adding the Ansible way how to create a password hash 6 years ago
Fran Fitzpatrick 5928ec04ca Adds an ipmath filter (#41985) 6 years ago
Brian Coca a37f27a243 removed note from already removed 1.x api comment
fixes #39888
6 years ago
saidmu 52fe9aaf04 Update intro_inventory.rst
<!--- I think a colon is missing-->

+label: docsite_pr
6 years ago
Abhijeet Kasurde ef67f580cc VMware: Add scenario guide for renaming VM (#42094)
This adds new sceario guide for renaming an existing virtual machine
to new name.

Fixes: #42084

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Dylan Silva c227a0c8bb
Initial upload of roadmap for 2.7 (#41845)
* Initial upload of roadmap for 2.7

* Update ROADMAP_2_7.rst

* Uses regular quotes, rather than smart quotes

* Fix broken link
6 years ago
Sam Doran 7b0dea45e9 Update JSON Query filter examples (#42432)
* Update JSON Query filter examples

Correct syntax on one example
Add more examples of escaping
Change example to show joining list to string
6 years ago
Brian Coca b21c7c0232 create default status for when not provided
* also updated text to be 'plugin friendly' vs hardcoding modules

(cherry picked from commit 341a0f7b035588557d35fc12164a0f4031c786fe)
6 years ago
Eugene Korekin 07adeff665 Fix typo (#42433)
+label: docsite_pr
6 years ago
Abhijeet Kasurde 6339e37abd VMware: Remove VM using vmware_guest (#42100)
* VMware: Remove VM using vmware_guest

This adds scenario guide for removing VM using vmware_guest module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* code review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Alex Stephen 2916adc88a New doc guide for GCP (#41753)
* New doc guide for GCP

* Changes per PR

* Addressing PR comments on GCE scenario guide
6 years ago
Sachidananda Urs fecda03066 Fix typos in documentation (#42406)
Fix typos in unit test documentation

Fixes:  #42405
6 years ago
Brian Coca 475abc0af7
inventory plugin docs (#42022)
* inventory plugin docs
* added set options
* minor wording and formatting fixes
* changed headers to std as per #35520, also added to main readme
* unified inventory plugin devel, referenced from generic plugin dev
* fixed typos and update as per feedback
6 years ago
Sam Doran 3e2a4f67cf
Update link to GitHub admin process (#42364) 6 years ago
John R Barker 6366df700d Document module links (#42308) 6 years ago
John R Barker d962611528 Allow documentation of module options type (#42285)
* Allow documentation of module options

Pass through the `type` of a modules option so it's displayed on the
html module docs

* docs
6 years ago
Alexandre Vicenzi df2e0c7c00 Fix broken links. (#42323) 6 years ago
Alexandre Vicenzi 1dafd92c8e Fix Ansible Galaxy documentation link. (#42316)
More info: https://github.com/ansible/galaxy/issues/830
6 years ago
Ganesh B. Nalawade 78b1980474 More CI failure fixes 6 years ago
Ganesh B. Nalawade c43beef258 Minor changes 6 years ago
Ganesh B. Nalawade d1ff8e2dca Update ssh_config to accept file path 6 years ago
Ganesh B. Nalawade fa8b07e452 Fix doc indentation 6 years ago
Ganesh B. Nalawade 74a23f50e4 Fix CI failure 6 years ago
Ganesh B. Nalawade 8d8d4b3d86 Add options for jumphost in netconf connetion
Fixes #37262
Fixes #36284

*  Updates options in netconf connection to enable
   bastion/jump host setting using configuration/enviornment
   varaibles.
*  Update troubleshooting docs from using bastion host with netconf
   connection
6 years ago
Dag Wieers 75c8d8bfc2
Fix aci_tenant module references
<!--- Your description here -->

+label: docsite_pr
6 years ago
Andrew Gaffney 21b99bff94
Fix 'ansible-doc' command in action plugin docs (#42206) 6 years ago
Brian Coca d497eba196 several FAQ updates and clarifications 6 years ago
Sam Doran fb55038d75 Add warning when using an empty regexp in lineinfile (#42013)
* Revert "Account for empty string regexp in lineinfile (#41451)"

This reverts commit 4b5b4a760c.

* Use context managers for interacting with files

* Store line and regexp parameters in a variable

* Add warning when regexp is an empty string

* Remove '=' from error messages

* Update warning message and add changelog

* Add tests

* Improve warning message

Offer an equivalent regexp that won't trigger the warning.
Update tests to match new warning.

* Add porting guide entry for lineinfile change
6 years ago
Brian Coca b6f2aad600 ignore ansible.cfg in world writable cwd (#42070)
* ignore ansible.cfg in world writable cwd
 * also added 'warnings' to config
 * updated man page template
6 years ago
John R Barker e9dbebfa57
Fix some broken links (#42079)
* Fix some broken links

* We now only serve via https
* redirects don't work with anchors, so update those links (devel/dev_guide)
6 years ago
Matt Martz aea396f04b
Add items2dict filter that is the reverse of dict2items (#42071)
* Add items2dict filter that is the reverse of dict2items

* Address feedback about type checking, and add docs for zip/zip_longest
6 years ago
Alicia Cozine e0a9a71b04 updates docs links to changelogs for all versions (#41289)
* updates docs links to changelogs for all versions

* updates latest 2.5 release
7 years ago
Felix Fontein fb0b804988 Documentation: add parameter types, and version_added for return values and facts (#41999)
* Add types for parameters.

* Add version_added for return facts and return values.
7 years ago
Abhijeet Kasurde 19ece7b740
VMware: Add scenario guide (#40075)
This adds a scenario guide for vmware

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
7 years ago
Felix Fontein 0752dc12b7 Documentation: show non-string non-iterable defaults for choices (#40212)
* Also marking non-string defaults.

* Adding list filter from #37517 to plugin_formatter.

* Simplifying list test.

* Redistribute imports
7 years ago
Matt Clay d4ed572e91 Update roadmap schedule for 2.6. 7 years ago
Matt Martz 11ce954226
Fix docs for all test. Fixes #41956 (#41965) 7 years ago
Troy Murray 15ce7c5bab change OS X to macOS (#41294)
* change OS X to macOS

<!--- Your description here -->

+label: docsite_pr

* Update all Mac OS X references to be macOS

* Drop extra Mac
7 years ago
Matt Clay e60da3feaf Update 2.6 roadmap release schedule. 7 years ago
Jordan Borean 2af36412f9
runas + async - get working on older hosts (#41772)
* runas + async - get working on older hosts

* fixed up sanity issues

* Moved first task to end of test for CI race issues

* Minor change to async test to be more stable, change to runas become to not touch the disk

* moved async test back to normal spot
7 years ago
Toshio Kuratomi ad2e8dd6d8 Changes to support building docs with old jinja2
This commit: fa5c0282a4 relied upon
features present in Jinja-2.10 and above.  The changes here allow us to
build the *rst* with older versions of jinja2.
7 years ago
Ted Timmons 3d78dd6677 add a third way to disable cows (#41866)
* add a third way to disable cows

Cows are great, but there's a third way to disable. I'm sure my RST markup can be improved.

* oops, actually in ansible.cfg
7 years ago
Jordan Borean 0b2ec9b11c
windows dsc docs: fix missing colon in example (#41886) 7 years ago
Toshio Kuratomi 8841fdd481 Bump versions on release_and_maintenance doc
(cherry picked from commit c8b1b271c6)
7 years ago
Olivier Bourdon 06b73ff8f1 Add random_mac string filter (#39775)
Add new filter to generate random MAC addresses from
string prefix. See docs/docsite/rst/user_guide/playbooks_filters.rst
for more detailed infos.
7 years ago
Andrea Tartaglia a342538aba Add shell out checks (#41545)
* Added error codes for shell_out checks

* Added ignore lines for allowed Modules

* Added shell out checks

* Fixed pep8

* Updated regex to only match subprocess.Popen

* Added failing modules to ignore.txt

* Wrong postgresql module in ignore.txt

* Removed bigip from ignore.txt
7 years ago
Will Thames 50fe5dc090 Trim parameter documentation when generating docs (#38470)
While the HTML produced is perfectly valid, without the `trim` filter,
a lot of warnings are emitted (700 lines of warnings out of 2812 are
eliminated by this change)
7 years ago
Abhijeet Kasurde 27b85e732d Argument spec must be dict/hash (#40858)
validate-modules should fail when argument is not dict/hash.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
7 years ago
Matt Martz ee221859cd
Load role vars and defaults before parsing tasks (#40982)
* Load role vars and defaults before parsing tasks. Fixes #40163

* Add porting guide note

* Wording clarifications

* typo

* grammar fixes
7 years ago
zharalim d52ea9518d Update playbooks_filters.rst (#41628)
Add an example on how to use regexp_replace to modify list items.

+label: docsite_pr

Fix typo
7 years ago
Jon Dufresne bf304832ff Prefer readthedocs.io instead of readthedocs.org for doc links (#41537)
Read the Docs moved hosting to readthedocs.io instead of
readthedocs.org. Fix all links in the project.

For additional details, see:

https://blog.readthedocs.com/securing-subdomains/

> Starting today, Read the Docs will start hosting projects from
> subdomains on the domain readthedocs.io, instead of on
> readthedocs.org. This change addresses some security concerns around
> site cookies while hosting user generated data on the same domain as
> our dashboard.
7 years ago
Jon Dufresne dc7e50fa90 Update additional pypi.python.org URLs to pypi.org (#41373)
For details on the new PyPI, see the blog post:

https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
7 years ago
Abhijeet Kasurde 01cdc22ac6
Add documentation around package dependencies (#41437)
Documented procedure to handle package dependencies required by
packages which are Ansible dependencies.

Fixes: #30732
Fixes: #16571

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
7 years ago
Jeff Geerling a4f49ed648 Fix typos in blocks documentation examples. (#41508) 7 years ago
Matt Martz dd8d74c351
Add docs for debugger for keyword dumper (#41421) 7 years ago
Sam Doran 30da71d880
Update docs on import/include tasks (#33032) 7 years ago
Matt Clay 2ecf1d35d3 Update 2.6 roadmap schedule. 7 years ago
wazzaz 91803c6ad3 Format fix on VMware Guide (#41272)
* Updating format of VMware Guide: small formatting error - hyperlink to module
7 years ago
Felix Fontein 9f84c09bf3 Changing example code block language from yaml to yaml+jinja. (#40365) 7 years ago
MironVeryanskiy f785bf3a9c Fix docs typo modules_intro.rst (#40835)
Fixed typo in modules_intro.rst.

+label: docsite_pr
7 years ago
Hideki Saito d7df072b96 Add syslog_facility parameter handling with systemd.journal (#41078)
* Add syslog_facility parameter handling with systemd.journal

- Fixed issue #41072

Signed-off-by: Hideki Saito <saito@fgrep.org>
7 years ago
Matt Martz 4ca23cb147
Ensure the 2.7 porting guide is in the toc (#41267) 7 years ago
Till Maas 8be3924d4e Add Fedora as possible ansible_distribution value (#41177)
"ansible_distribution" can also be Fedora

+label: docsite_pr
7 years ago
Abhijeet Kasurde e8227e8395
Add note about updating pip (#41124)
Fixes: #39120

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
7 years ago
Matt Clay 70c475da6c Implement new changelog generator. 7 years ago
Toshio Kuratomi cef4d862bc
Better error message if the template is not utf-8 encoded (#41030)
* Better error message if the template is not utf-8 encoded

Also document this in the porting guide
7 years ago
Jacob Floyd 4fa2fb9c89 Docs fix: ansible_group_priority defaults to 1
The docs committed in #28777 were inconsistent.
This clarifies that the default `ansible_group_priority` is `1`.[1][2]

[1] https://github.com/ansible/ansible/blob/153c9bd/lib/ansible/inventory/group.py#L40
[2] https://github.com/ansible/ansible/blob/153c9bd/lib/ansible/cli/inventory.py#L236
7 years ago
Matt Martz 1cec3c8daf Add docs detailing how to convert many with_X style loops to use loop and filters (#40964)
* Add docs detailing how to convert many with_X style loops to use loop and filters. Fixes #40727

* Switch lookup used in query vs lookup comparison, to not recommend use of nested lookup

* Improve docs based on feedback
7 years ago
Matt Clay f426fcd9a6 Update roadmap schedule for 2.6. 7 years ago
Brian Campbell fa5c0282a4 Use colspan on td instead of divs for hierarchical tables (#39948)
Address Firefox table-rendering issues in docs. Refactor to use colspan to provide table cells which can vary in width and indentation; the outermost has the greatest colspan, and each nested key has a colspan of one less than the parent, with padding cells for indentation.
Apply styling to table cells to get the table height to work without hacks or browser-specific
styling.  Simplify the markup and CSS by removing extra divs. Use two passes over the options, return values, and return facts in the Jinja2 module-docs template: one to determine the maximum nesting depth to compute the maximum colspan needed, plus one to lay out the rows.
7 years ago
Matt Martz 96ec32630e Deprecate squash_actions (#35978)
* Deprecate squash_actions

* Wording update

* Update wording and version

* Update versions to reflect 2.7 deprecation

* Add 2.7 porting guide
7 years ago
Fabian von Feilitzsch 4d77878654 K8s dynamic collected changes (#40745)
* Move k8s modules to dynamic backend

* update required openshift version

* update -> patch

* use new dynamic client exceptions

* style

* guard urllib3 import

* guard ansibleerror import

* give more information about error cause

* format in variable

* style

* rename tests

* Search for provided kind in a few more places to match old behavior, properly handle failure

* make common code use fail instead of fail_json, to work for lookup plugins as well

* update docs

* move openshift_raw tests into k8s tests

* fix typo

* Use diff of response and resource to determine change, don't do any checking client-side before making requests

* remove duplicate yaml blocks

* Update porting guide for k8s module

* remove invalid doc refs

* If fuzzy searching finds a resource, update resource_definition to match proper kind and version

* remote unsupported openshift_raw variables

* properly check environment variables when determining auth method:
7 years ago
Alicia Cozine 0e0a5243c8
reinstates connection:local as an option for nxapi (#40834) 7 years ago
Toshio Kuratomi 7ce1afebf0 Namespace the aliases ref target by plugin type (#38925) 7 years ago
Michael Scherer 5a677e140b Fix galaxy doc (#40755)
s/depeneding/depending/ and s/conditinoals/conditionals/
7 years ago
Alicia Cozine e2146a7696
updates network examples to 2.6 (#40831) 7 years ago
Alicia Cozine 43ca9d1548
adds table of connections by platform (#40688) 7 years ago
Sam Doran 8746d9ef87 Add guidelines on developing lookup plugins (#38681) 7 years ago
Antoine Pietri 313a46744d Add a 'machinectl shell' become_method (#39826)
* Add a 'machinectl shell' become_method

* docs: add explanations for the machinectl become_method

* docs: machinectl become_method: specify this part is specific to Linux+systemd setups
7 years ago
Harri Hämäläinen 8dcb6c288c Document capability of giving regex search flags (#39893) 7 years ago
Andrew Gaffney 24e55615a0 Docs for module_defaults feature (#39932) 7 years ago
Pilou 3f5f5faec6 doc: config intro, add link to searched locations (#39614) 7 years ago
Felix Fontein 2a29b2ff7f Make alias autodetection for symlinked modules independent of glob() order. (#40293) 7 years ago
Greg DeKoenigsberg e5ccdaec88 Better Galaxy description for role reuse (#40557)
* Better Galaxy description for role reuse

* update per gundalow review
7 years ago
Martin Kimmerle 294c3a0a7c [docs][minor] Variables user guide: fix grammar (#39427) 7 years ago
Brian Coca bc93038943 added information on keyword/vars separation (#39561)
* added information on keyword/vars separation

fixes #39551

* updated as per fb
7 years ago
Eitan Adler 7847b1492c Use $(MAKE) instead of raw "make" (#39588)
This Makefile uses non-standard constructs. As such it can only be
parsed by GNU make, which is often installed as 'gmake' instead of
'make'. Using $(MAKE) ensures the same version of make gets called that
is used to execute the top level.
7 years ago
Adam "Bucky" Townsend 94049680c3 Add OpenBSD password encryption (#40647)
OpenBSD comes with its own encryption utility as well, which must be run on the password text `encrypt <password>`. following the code block above, i just included the base command in the code block. I wasn't quite sure where to add my change, so I put it at the bottom of the section since the rest all flows well together.

+label: docsite_pr
7 years ago
Yunge Zhu 21ea92feca Fixes #36621, support adfs auth through adal (#37909)
* update username/password auth to use adal lib

* remove default client_id after discussion

* fix lint error: trailing whitespace
7 years ago
Adam Miller 21feca6683 Docs - add shared snippet note about password prompts for ssh keys (#40633)
* Docs - add shared snippet note about password prompts for ssh keys

Signed-off-by: Adam Miller <admiller@redhat.com>

* add note to ssh connection plugin, fix markup, fix typo

Signed-off-by: Adam Miller <admiller@redhat.com>
7 years ago
flowerysong e2c1589201 Add cidr_merge filter (#36081) 7 years ago
Matt Martz a5f05c6fc2 [WIP] Start of subelements filter (#39829)
* Start of subelements filter

* Add docs for subelements filter
7 years ago
Jordan Borean 070a5557d1
always_run: removed deprecated always_run task option (#40470) 7 years ago
Matt Clay 4b2bba62b3 Update 2.6 roadmap schedule. 7 years ago
Alicia Cozine 69eef14e3b uses .txt for shared content (#40416) 7 years ago
Matt Clay 8d39515914 Remove tab check from validate-modules.
It is redundant with the pycodestyle W191 "indentation contains tabs" check.
7 years ago
Matt Clay 47173cc8b1 Clarify wording on 2.6 roadmap schedule. (#40408)
* Clarify wording on 2.6 roadmap schedule.

* Remove redundant use of "Core".
7 years ago
Brian Coca 5cf1a5edfd corrected version added 7 years ago
Simon fb6ae90f60 Memset: initial module, integration tests, module_utils and supporting documentation. (#40071)
*  * Memset:
   * module_utils and associated documentation.
   * module to manage DNS zones.
   * integration tests to run against Memset's API.

* * memset.py:
  * remove import of requests from memset.py in favour of internal Ansible modules.
  * import necessary Ansible modules for request and response handling.
  * create a response object in order to retain a stable interface to memset_api_call from existing modules.
  * rework memset_api_call to remove requests.
* memset_zone.py:
  * improve short description to be more verbose.
  * ensure all imports directly follow documentation.
  * remove any reference to requests.
  * correct keyerror carried over from elsewhere.

* remove dependency on requests from documentation string

* disable integration tests until we have a cleanup method available
7 years ago
Nathaniel Case e9d7fa0418
HTTP(S) API connection plugin (#39224)
* HTTPAPI connection

* Punt run_commands to cliconf or httpapi

* Fake enable_mode on eapi

* Pull changes to nxos

* Move load_config to edit_config for future-preparedness

* Don't fail on lldp disabled

* Re-enable check_rc on nxos' run_commands

* Reorganize nxos httpapi plugin for compatibility

* draft docs for connection: httpapi

* restores docs for connection:local for eapi

* Add _remote_is_local to httpapi
7 years ago
Sam Doran 59e541e31a
Change behavior to behaviour in docs and tests (#39392)
* Change behavior to behaviour

- use existing fact to get hash setting rather than shell task
- fix code highlighting syntax in playbooks_variables.rst

* Re-wrote intro section; this entire topic needs a clean-up/rewrite.
7 years ago
Alexandre Chaussier e493891d08 Fix flatten filter documentation 7 years ago
Ganesh Nalawade 1328cc1fa0
Update ROADMAP_2_6.rst 7 years ago
Ganesh Nalawade c86860c911
Update ROADMAP_2_6.rst 7 years ago
Deepak Agrawal 4fd770f792
Update ROADMAP_2_6.rst 7 years ago
Toshio Kuratomi 6227c2ac75
More file refactoring (#40114)
* Set src in the state functions rather than the toplevel

A good API should only require passing one version of a piece of data
around so do that for src

* Move the rewriting of path into additional_parameter_handling

When the path is a directory we can rewrite the path to be a file inside
of the directory

* Emit a warning when src is used with a state where it should be ignored
7 years ago
Ken Celenza ad1a7d90ff Update structure to include file extensions (#36967)
* Update structure to include file extensions

It is not clear to novice users that the host/group_vars files should be yaml files. This highlights that IMHO a bit more clearer.

* pluralize
7 years ago
Trishna Guha 465114958e
remove network_config,network_command from roadmap_2.6 (#40246)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
7 years ago
Alicia Cozine 64f87867dd documents usage of enable mode on NXOS (#39859) 7 years ago
Felix Fontein f16933492d Fix problems in documentation generation (#40050)
* Treat C(...) as inline literal (as opposed to interpreted text).

* Making test for true and false more precise, to avoid matching 1, 1.0, etc.

* The 'is sameas' test already takes care of definedness.
7 years ago
Trishna Guha 6e639b591f
networking roadmap cli modules (#40147)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
7 years ago
Jordan Borean e0813d7d47
become win: better error messages and docs update (#39936)
* become win: better error messages and docs update

* Fix syntax error and added changelog fragment
7 years ago
Jon Dufresne 1d640182c6 Update all pypi.python.org URLs to pypi.org (#38988)
For details on the new PyPI, see the blog post:

https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
7 years ago
Brian Coca 32c2aae258
document lookup errors optoin (#39645)
* document lookup errors optoin

* changed to doc

* updated as per feedback
7 years ago
Steve McLellan 5fd9954ccc Remove duplicate include in user_guide
Looks like two commits merged close to each other and an '-include'
got left along with its replacement '-include_tasks'
7 years ago
Chris Alfonso 02adb6520f Removing stretch items for 2.6 roadmap (#39757)
* netconf modules
  * gRPC connection plugin
7 years ago
Ewoud Kohl van Wijngaarden e4efc191c5 Fix code snippet in playbook filters doc (#39798) 7 years ago
Ken Celenza e476089bb9 spacing issue (#39884) 7 years ago
Cameron 854be6ef16 docs: fix 'ipmi' typo (#39823) 7 years ago
David Moreau Simard 8c27ffdf90 Add ARA Records Ansible to community tools (#39836)
ARA is an Ansible callback that records playbook run data in a local
or remote database. This data is exposed through a CLI client as well
as a reporting web application.
7 years ago
Matt Martz 1663b64e18
Allow subspec defaults to be processed when the parent argument is not supplied (#38967)
* Allow subspec defaults to be processed when the parent argument is not supplied

* Allow this to be configurable via apply_defaults on the parent

* Document attributes of arguments in argument_spec

* Switch manageiq_connection to use apply_defaults

* add choices to api_version in argument_spec
7 years ago
Elias 7f5820274f Update call method for parse_cli_textfsm (#38437)
+label: docsite_pr
7 years ago
Jordan Borean fc210a4584
base64 filter: Added ability to specify encoding (#39714)
* base64 filter: Added ability to specify encoding

* Added unicode chars for further testing

* Removed errors to keep previous behaviour in place

* Removed surrogate pairs due to issues loading YAML in CI
7 years ago
Julien Palard ab4cbfd5d3 FIX: Removing superfluous bloc wrongly introduced in 2b7799f817. (#39723) 7 years ago
Kevin Breit c8d287fece Meraki organization module (#38773)
* Initial commit

Query an organization within Meraki. No support is in place for managing
or creating yet

* Change output_level method and make the state parameter required.

* Implemented listing all organizations

- Updated documentation
- Parse results and return all organizations
- Parse results and return specified organization

* Framework for creating an organization

- Documentation example for organization creation
- Framework exists for creating organizations, pending PR 36809
- Created functions for HTTP calls
- Renamed from dashboard.meraki.com to api.meraki.com
- Added required_if for state

* Remove absent state

- Meraki API does not support deleting an organization so absent is removed
- Updated documentation to call it state instead of status

* Small change to documentation

* Support all parameters associated to organization

- Added all parameters needed for all organization actions.
- None of the added ones work at this time.
- Added documentation for clone.

* Integration test for meraki_organization module

* Rename module to meraki for porting to module utility

* Meraki documentation fragment

- Created initial documentation fragment for Meraki modules

* Add meraki module utility to branch. Formerly was on a separate branch.

* CRU support for Meraki organization module

* CRU is supported for Meraki organizations
* There is no DELETE function for organizations in the API
* This code is very messy and needs cleanup
* Create and Update actions don't show status as updated, must fix

* Added Meraki module utility to module utility documentation list

* Added support for organization cloning
* Renamed use_ssl to use_https
* Removed define_method()
* Removed is_org()
* Added is_org_valid() which does all org sanity checks

* Fixes for ansibot
- Changed default of use_proxy from true to false
- Removed some commented out code
- Updated documentation

* Changes for ansibot
- Removed requirement for state parameter. I may readd this.
- Updated formatting

diff --git a/lib/ansible/module_utils/network/meraki/meraki.py b/lib/ansible/module_utils/network/meraki/meraki.py
index 3acd3d1038..395ac7c4b4 100644
--- a/lib/ansible/module_utils/network/meraki/meraki.py
+++ b/lib/ansible/module_utils/network/meraki/meraki.py
@@ -42,7 +42,7 @@ def meraki_argument_spec():
     return dict(auth_key=dict(type='str', no_log=True, fallback=(env_fallback, ['MERAKI_KEY'])),
                 host=dict(type='str', default='api.meraki.com'),
                 name=dict(type='str'),
-                state=dict(type='str', choices=['present', 'absent', 'query'], required=True),
+                state=dict(type='str', choices=['present', 'absent', 'query']),
                 use_proxy=dict(type='bool', default=False),
                 use_https=dict(type='bool', default=True),
                 validate_certs=dict(type='bool', default=True),
diff --git a/lib/ansible/modules/network/meraki/meraki_organization.py b/lib/ansible/modules/network/meraki/meraki_organization.py
index 923d969366..3789be91d6 100644
--- a/lib/ansible/modules/network/meraki/meraki_organization.py
+++ b/lib/ansible/modules/network/meraki/meraki_organization.py
@@ -20,11 +20,9 @@ short_description: Manage organizations in the Meraki cloud
 version_added: "2.6"
 description:
 - Allows for creation, management, and visibility into organizations within Meraki
-
 notes:
 - More information about the Meraki API can be found at U(https://dashboard.meraki.com/api_docs).
 - Some of the options are likely only used for developers within Meraki
-
 options:
     name:
         description:
@@ -32,21 +30,18 @@ options:
         - If C(clone) is specified, C(name) is the name of the new organization.
     state:
         description:
-        - Create or query organizations
-        choices: ['query', 'present']
+        - Create or modify an organization
+        choices: ['present', 'query']
     clone:
         description:
         - Organization to clone to a new organization.
-        type: string
     org_name:
         description:
         - Name of organization.
         - Used when C(name) should refer to another object.
-        type: string
     org_id:
         description:
         - ID of organization
-
 author:
     - Kevin Breit (@kbreit)
 extends_documentation_fragment: meraki
@@ -86,7 +81,6 @@ RETURN = '''
 response:
     description: Data returned from Meraki dashboard.
     type: dict
-    state: query
     returned: info
 '''

@@ -103,6 +97,7 @@ def main():
     argument_spec = meraki_argument_spec()
     argument_spec.update(clone=dict(type='str'),
+                         state=dict(type='str', choices=['present', 'query']),
                          )

@@ -125,11 +120,9 @@ def main():

     meraki.function = 'organizations'
     meraki.params['follow_redirects'] = 'all'
-    meraki.required_if=[
-                           ['state', 'present', ['name']],
-                           ['clone', ['name']],
-                           # ['vpn_PublicIP', ['name']],
-                       ]
+    meraki.required_if = [['state', 'present', ['name']],
+                          ['clone', ['name']],
+                          ]

     create_urls = {'organizations': '/organizations',
                    }
@@ -162,23 +155,16 @@ def main():

-
-    # method = None
-    # org_id = None
-
-
-    # meraki.fail_json(msg=meraki.is_org_valid(meraki.get_orgs(), org_name='AnsibleTestOrg'))
-
     if meraki.params['state'] == 'query':
-      if meraki.params['name'] is None:  # Query all organizations, no matter what
-        orgs = meraki.get_orgs()
-        meraki.result['organization'] = orgs
-      elif meraki.params['name'] is not None:  # Query by organization name
-        module.warn('All matching organizations will be returned, even if there are duplicate named organizations')
-        orgs = meraki.get_orgs()
-        for o in orgs:
-          if o['name'] == meraki.params['name']:
-            meraki.result['organization'] = o
+        if meraki.params['name'] is None:  # Query all organizations, no matter what
+            orgs = meraki.get_orgs()
+            meraki.result['organization'] = orgs
+        elif meraki.params['name'] is not None:  # Query by organization name
+            module.warn('All matching organizations will be returned, even if there are duplicate named organizations')
+            orgs = meraki.get_orgs()
+            for o in orgs:
+                if o['name'] == meraki.params['name']:
+                    meraki.result['organization'] = o
     elif meraki.params['state'] == 'present':
         if meraki.params['clone'] is not None:  # Cloning
             payload = {'name': meraki.params['name']}
@@ -193,7 +179,10 @@ def main():
             payload = {'name': meraki.params['name'],
                        'id': meraki.params['org_id'],
                        }
-            meraki.result['response'] = json.loads(meraki.request(meraki.construct_path('update', org_id=meraki.params['org_id']), payload=json.dumps(payload), method='PUT'))
+            meraki.result['response'] = json.loads(meraki.request(meraki.construct_path('update',
+                                                                                        org_id=meraki.params['org_id']),
+                                                                  payload=json.dumps(payload),
+                                                                  method='PUT'))

diff --git a/lib/ansible/utils/module_docs_fragments/meraki.py b/lib/ansible/utils/module_docs_fragments/meraki.py
index e268d02e68..3569d83b99 100644
--- a/lib/ansible/utils/module_docs_fragments/meraki.py
+++ b/lib/ansible/utils/module_docs_fragments/meraki.py
@@ -35,6 +35,7 @@ options:
         description:
         - Set amount of debug output during module execution
         choices: ['normal', 'debug']
+        default: 'normal'
     timeout:
         description:
         - Time to timeout for HTTP requests.
diff --git a/test/integration/targets/meraki_organization/aliases b/test/integration/targets/meraki_organization/aliases
new file mode 100644
index 0000000000..ad7ccf7ada
--- /dev/null
+++ b/test/integration/targets/meraki_organization/aliases
@@ -0,0 +1 @@
+unsupported

* Formatting fix

* Minor updates due to testing
- Made state required again
- Improved formatting for happier PEP8
- request() now sets instance method

* Fix reporting of the result

* Enhance idempotency checks
- Remove merging functionality as the proposed should be used
- Do check and reverse check to look for differences

* Rewrote and added additional integration tests. This isn't done.

* Updated is_update_required method:
- Original and proposed data is passed to method
- Added ignored_keys list so it can be skipped if needed

* Changes per comments from dag
- Optionally assign function on class instantiation
- URLs now have {} for substitution method
- Move auth_key check to module utility
- Remove is_new and get_existing
- Minor changes to documentation

* Enhancements for future modules and organization
- Rewrote construct_path method for simplicity
- Increased support for network functionality to be committed

* Changes based on Dag feedback and to debug problems

* Minor fixes for validitation testing

* Small changes for dag and Ansibot
- Changed how auth_key is processed
- Removed some commented lines
- Updated documentation fragment, but that may get reverted

* Remove blank line and comment

* Improvements for testing and code simplification
- Added network integration tests
- Modified error handling in request()
	- More testing to come on this
- Rewrote construct_path again. Very simple now.

* Remove trailing whitespace

* Small changes based on dag's response

* Removed certain sections from exit_json and fail_json as they're old
7 years ago
scottb 0c0dc8d9fc
Adds documentation structure and stubs for new VMWare guide (#39246)
* Adding initial skeleton of VMWare docs

* Updated product name capitaliztion; ready for initial PR.

* Add few files and updated some links

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Fixed duplicate anchor tag
7 years ago
Toshio Kuratomi 1885883a88 Document follow changes
Add the file, blockinfile, and replace changes to the follow parameter
to the porting guide
7 years ago
Anna Liao c812396793 Update playbooks_variables.rst (#39570)
<!--- Your description here -->

+label: docsite_pr
7 years ago
Abhijeet Kasurde 85ad2eae8a Fix typo in porting guides index page (#39582)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
7 years ago
Matt Clay 054efb8d80
Update 2.6 roadmap dates. (#39573) 7 years ago
Andrew Gaffney 4134f1204b Add Andrew Gaffney to list of people in Committers Guidelines doc 7 years ago
Brian Coca 19fee0ef41 fix keyword doc generation
* use aliases when they exist
  * fix hardcoded loop attributes handling
7 years ago
Andrius Benokraitis 9773157da6 Update intermediate_concepts.rst (#39500)
Updated  GitHub Repos section to better explain what ansible-network@redhat.com is for (not an email list, but adding to the network-automation github repo.
7 years ago
Alicia Cozine c8a9b411bc
Last docs link fixes (#39391)
* should not need <>, but fails without

* adds anchor to keywords page, uses it on plugins pages

* fixes envvar link errors

* harmonize file name and ref name as python_3

* removes undefined-lable from ignore list
7 years ago
Abhijeet Kasurde 9f1254a32f Typo fix in testing link (#39407)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
7 years ago
Matt Clay 32d786af65 Convert more http links to https. 7 years ago
Lucid One 40fcef3e41 Adding support for opensearch of documentation (#38593) 7 years ago
Jordan Borean f8853d83e3
windows: removed deprecated features in 2.6 (#38930)
* windows: removed deprecated features in 2.6

* Comma surgery.
7 years ago
Alicia Cozine 4b52a54e18 Reduce warnings (#39254)
* removes FAQ links; no entries exist for linked config settings

* fixes various anchors and links

* addresses abadger comments, thanks

* marks orphan pages, avoids TOC errors

* adds links for remote_tmp setting to FAQ
7 years ago
Matt Martz 476d1f818e
Documentation for query/q. Fixes #38275 (#38558) 7 years ago
Matt Clay 7975c8fab0
Improve integration-aliases docs. (#39087) 7 years ago
Brian Coca b533ebe20d
remove slice docs (#37946) 7 years ago
Andrius Benokraitis 7881866db4 Update ROADMAP_2_6.rst with additional network roadmap items (#39225)
* Update ROADMAP_2_6.rst

Added network_get and network_put to Network modules roadmap

* Update ROADMAP_2_6.rst

add netconf_config to the network module roadmap
7 years ago
Alicia Cozine 8f83061e70 corrects links to 'list_of' pages (#39161) 7 years ago
Alicia Cozine becc2a0347 adds index page for roadmaps to support internal links (#39109)
* adds index page for roadmaps to support internal links

* includes only roadmaps index page in TOC
7 years ago
Alicia Cozine 0fef3f1b48 avoids not-in-toc errors with :orphan: 7 years ago
Matt Clay c262dbfd30 Use https for links to ansible.com domains. 7 years ago
saichint 6eecbf10e6 fix nxos_igmp_interface issues (#38752)
* fix nxos_igmp_interface issues

* shippable fix

* fix oif_prefix and oif_source

* shippable fix

* shippable fix

* shippable fix

* add an example for oif_ps

* review comments

* review comments

* more review comments

* fix typo
7 years ago
Josh aa9d7cb1f3 Update playbooks_debugger.rst (#39117)
Minor typo correction

+label: docsite_pr
7 years ago
Benn Roth 56967497d5 minor accuracy fix
Don't round the parameter 12.04 in the explanatory paragraph unless `version()` rounds the parameter

(cherry picked from commit 5cf544e03e)
7 years ago
Alicia Cozine bbfd6c6ab1 Internal refs (#39094)
* fixes community refs

* fixes appendix refs

* fixes scenario refs, keeps ACI guide link to devel

* fixes windows refs

* fixes user guide refs

* fixes dev guide refs
7 years ago
John R Barker c4e298b808 Correct to development_process (#39069) 7 years ago
John R Barker ebdf6d0fab
Add missing > to fix 'edit this document' link (#39067) 7 years ago
Salvatore Mesoraca aaf2ff629d Fix formatting error in rst plugin template (#38956)
The hyperlink syntax used is wrong and the resulting
rendered documents have broken links.
7 years ago
Matt Clay 9e8889bb70
Fix more docs errors. (#39051)
* Fix remaining unknown-document docs errors.
* Fix last toc-tree-missing-document docs error.
7 years ago
Matt Clay 7e96421132
Handle warnings in docs-build sanity test. (#39043) 7 years ago
Matt Clay 4fc5e89e83 Fix docs build warnings. 7 years ago
Alicia Cozine 64dcc7def0 Fixes more rST errors (#39042)
* removes include, avoids duplicate label rST warnings

* reduces literal_block errors on playbooks_filters

* addresses TOC errors

* ref error on modules page

* trying ref for list_of_database_modules
7 years ago
Alicia Cozine 408e29cbd2 Link fixes (#39038)
* fixes links on plugins pages

* fixes links in community pages

* fixes links in user guide

* adds anchors on playbooks pages
7 years ago
Toshio Kuratomi 6ddc64bc7c Fixes for multiline doc descriotions breaking rst formatting
* strip whitespace to preserve indent level
* Make sure to indent subsequent lines of indentation
7 years ago
Toshio Kuratomi a08459a814
Update info on python support (#38855)
* Update the documentation to list Python 3 as official
* Add some reference targets for inventory variables so we can link to docs
* Add a platform FAQ section
  Populate it with

  * virtualenv info (previously on the python3 support page)
  * BSD (Link to the working with BSD page)
  * Solaris (Document how to work around the non-POSIX shell on some
    Solaris hosts)

  Fixes #21594

* Fix some refs in the release_and_maintenance document

* Fix unindent error in module template

Fix for the module/plugin template unintentionally unindented inside of
a raw block, leading to errors like:

ERROR: docs/docsite/rst/modules/redshift_facts_module.rst:289:0: Explicit markup ends without a blank line; unexpected unindent.

* Make wording for Solaris troubleshooting better.
7 years ago
Alicia Cozine 0ebc0b9e5a adds FAQ TOC entry, links & examples to modules (#38706)
* adds FAQ TOC entry, links & examples to modules
* moves link to Notes, corrects examples
7 years ago
Toshio Kuratomi 8cdd75a09f Some more fixes for the docs :ref: disambiguation
The big one is that we needed to set plugin_type when we processed the by_support template.

Also added to list_of_CATEGORY_plugins page (which might not be used)
and corrected a place where I did module_name instead of name_module
7 years ago
Brian Coca ce8c336d52 added ref to ansilbe molecule 7 years ago
Toshio Kuratomi 9faf7b949e Fix places in docs that refer to modules without namespace
We've namespaced all plugin docs.  Change the docs to reflect that
7 years ago
Toshio Kuratomi f9d83944ec regex for finding :ref: labels was flawed
The regex to find labels inside of angle brackets was not detecting
anything before so I missed all of those.
* Fixed the regex in find-plugin-refs to take care of that.
* Fixed plugin_formatter to emit namespaced labels for the M() macro.
7 years ago
Martin Krizek 8173602a34
Add expandvars jinja2 filter (#38805)
* Add expandvars jinja2 filter

* Add docs

* Minor edit
7 years ago
scottb c97e508806
[WIP] disambiguating autogenerated module docs attempted fix of #38439. (#38890)
Disambiguates autogenerated module docs - fixes #38439.
7 years ago