Commit graph

1100 commits

Author SHA1 Message Date
Kevin Breit
dc66eb07d0 [backport-2.7] Meraki scenario guide (#41827) (#45494)
* Meraki scenario guide (#41827)
(cherry picked from commit ec3ce1f39c)
2018-09-26 09:18:30 -05:00
Simon Metzger
8f93a0ec67 Update developing_modules_general_aci.rst (#46042) 2018-09-22 19:56:25 -05:00
Alicia Cozine
73bc121e11
added note about cli execution of include_x (#45227) (#45999)
(cherry picked from commit 03d8b68549)
2018-09-21 14:53:29 -05:00
Sandra McCann
0c81145fd3 [WIP] Backport/2.7/second batch (#45927)
* Update influxdb_database.py (#39984)
(cherry picked from commit 049a462058)

* Link to the Galaxy platforms list from the meta file template (#34046)
(cherry picked from commit fa18d45eb3)

* fix gce_backend_service examples for healthchecks (#31134)
(cherry picked from commit e26d758d6f)

* Clarify the creates and removes options (#45485)
(cherry picked from commit bf90a44468)

* lineinfile note belongs in changelog for 2.6, not 2.7 (#45517)
(cherry picked from commit 228fee4f3a)

* Update keycloak_client.py (#43547)
(cherry picked from commit cb460dee74)

* The keyword 'cloud' has been deprecated in favor of the 'profile' keyword by os-client-config. (#31389)
(cherry picked from commit 17ca0a9bd9)

* Clarified documentation for the unsafe_writes option (#27471)
(cherry picked from commit dd5d191d7a)
2018-09-20 14:10:39 -05:00
Sandra McCann
ceb474bb9e [WIP] Backport/2.7/batch port (#45859)
Batch of docs backports:

* docs: Clarify include_task v import_tasks with conditionals (#43856)
(cherry picked from commit 6be42a2a0e)

* Add single quotes around package name (#45152)
(cherry picked from commit 0d81386144)

* prefer ansible_facts namespace and dict notation (#44980)
(cherry picked from commit 44510448b0)

* fix cherrypick conflict - scenario_guides

* Update implicit_localhost.rst (#45455)
(cherry picked from commit f68cd1acc6)

* updated fbsd install instructions (#45309)
(cherry picked from commit e9c2695ce7)

* Change "Defaulting Undefined Variables" (#41379)
(cherry picked from commit e35c4be1c1)

* adds license details to dev guide pages (#45574)
(cherry picked from commit 6e68d77f6d)

* FAQ: fix a typo, add link to 'vars' lookup (#42412)
(cherry picked from commit 95649dc793)

* Fix link and toctree (#45595)
(cherry picked from commit 6999bf318f)

* Improve the local toctree (and title) (#45590)
(cherry picked from commit afea00fa9f)

* Add undocumented configuration parameter and explain in porting guide (#36059)
(cherry picked from commit a892a6ef03)

* Simplify PPA installation for Ubuntu (#45690)
(cherry picked from commit 78e9f452a5)

* adding git+ssh uri scheme (#36025)
(cherry picked from commit 84a4257774)

* Add workaround for non-standard kerberos environments (#41465)
(cherry picked from commit 4e532e0ad9)

* Restore license agreement (#45809)
(cherry picked from commit f430f60541)

* partial cherry-pick - lenovo doc update PR 45483
2018-09-19 22:02:01 -05:00
Dag Wieers
23f70d9745 Backport of 45588 (#45670) 2018-09-17 11:57:12 -05:00
Sandra McCann
c1d8efa469 Add docs on how to write changelog fragments (#42428) (#45570)
* Add docs on how to write changelog fragments

* Add link to new style changelog

Remove redundant mention of old style changelog

(cherry picked from commit 5d6f844eba)
2018-09-12 11:44:00 -05:00
Artem Goncharov
f3b394cf4c update porting guides (#40784)
* update porting guides

With PR #40532 `shade` library was retired and replaced with direct use
of `openstacksdk`. Porting guides and doc about dynamic inventory were
not updated.

(cherry picked from commit 8ae14bebda)
2018-09-11 14:35:16 -07:00
Alicia Cozine
1301d4edc8
rewrite of the developer guide, part 1 (#45179) (#45349)
(cherry picked from commit 9a76441c02)
2018-09-07 10:35:13 -05:00
kujiraitakahiro
bebda470a1 Update porting_guide_2.7.rst (#45215)
changing changelogs url link
2018-09-05 08:52:29 -05:00
Sandra McCann
0a7d5ebd73 fixed formatting (#45164) (#45174)
(cherry picked from commit 58ca82fa1c)
(cherry picked from commit fe119c18ef)
2018-09-04 11:41:17 -05:00
Toshio Kuratomi
f414424735 Update the docsite Version to 2.7 2018-08-31 11:04:24 -07:00
Sam Doran
d257095976 Change Mac OSX to macOS in installation docs (#44971)
* Change Mac OSX to macOS in docs

* Lowercase via
2018-08-31 11:12:12 -05:00
Yanis Guenane
857a553fa1 Vultr: Create the Vultr Guide (#44515) 2018-08-31 10:42:07 -04:00
Brian Coca
cbd54a4b2c added more reasons to avoid dot notation (#43724) 2018-08-31 09:32:36 -05:00
James Polley
7988266bb7 Improve clarity of precedence when command-line parameters are used. (#39059)
* Improve clarity of precedence when command-line parameters are used.

* Add command-line values into the precedence list.
* Several sample config snippets were included without any explanation
  of how those snippets would be processed. Added descriptions so that
  the reader can understand what each snippet will (or won't) accomplish.

* Don't focus on inventory as much

Expand on the fact that it's the fact that a variable is set that
matters, not the source of the variable.
2018-08-31 09:56:58 -04:00
Sandra McCann
cccf5e6e77 fixed grammar and spelling issues (#44931)
* fixed grammar and spelling issues

* fixed autocorrect mistake and sanity test errors
2018-08-31 08:44:31 -05:00
Brian Coca
3f657ca28f clarify priority setting (#44865)
* clarify priority setting

* updated as per fb
2018-08-31 09:20:26 -04:00
Dag Wieers
ac3781d40b Fix broken CI (#44937)
* Fix document structure

* Fix broken CI
2018-08-30 16:46:29 -07:00
Dag Wieers
32fc6746d8
Fix document structure (#44935) 2018-08-31 00:16:36 +02:00
Christopher Torgalson
2dfff57f57 Extends 'which notation should I use' section in FAQ (#43729)
* Extends 'which notation should I use' section in FAQ
2018-08-30 15:47:39 -05:00
Ritesh Puj
ff654ccfe8 replaced 'ansible_os_platform' to 'ansible_os_family' (#44676)
replaced 'ansible_os_platform' to 'ansible_os_family' as 'ansible_os_platform' variable is no longer available.
2018-08-30 15:02:39 -05:00
Felix Fontein
376dcb9f84 docker scenario guide: docker-py -> docker (#44856)
* Don't install docker-py by default, but the more modern docker library.

* Addressing the review comments.
2018-08-30 14:38:03 -05:00
Abhijeet Kasurde
6059da245b VMware: Concept documentation (#43927)
* VMware: Concept documentation

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

* update docs

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-08-30 12:49:37 -04:00
Sloane Hertel
33e9d67801
Add some inventory plugin documentation (#44727)
* Add some additional documentation about getting inventory plugins working using YAML inventory configuration files
2018-08-30 09:35:56 -04:00
pierremahot
d11e078366 adding an option for the filter ipsubnet and testing (#40670)
* adding an option for the filter ipsubnet
2018-08-30 13:21:22 +01:00
Jordan Borean
533656694e
win_disk_image: return all mount paths in return value (#44799) 2018-08-30 16:25:45 +10:00
Chris Archibald
7cded31ec9 Depreciate elementsw modules (#44792)
* rename deprecated files
2018-08-29 17:51:52 +01:00
John R Barker
da59a8a678 Use updated pygments (#44846)
Before this PR we were not using _static/ now we do
Remove all old files so we don't replace 2018 versions with 2011
2018-08-29 11:51:40 -05:00
Greg Chavez
a5b02d6c7c "encountered" is an adj. here, need vb. "are" (#44833)
<!--- Your description here -->

+label: docsite_pr
2018-08-29 09:14:09 -05:00
Sloane Hertel
aa51072981 Update AWS pull request links (#44777) 2018-08-29 09:03:27 -05:00
Sandra McCann
1c42198f1e fixed network automation index issues (#44732)
* fixed network automation index issues

* replace :doc: with :ref:

* fixed anchor misspelling

* fix toc/nav issue -do not put toctree under a subheader
2018-08-29 15:37:00 +02:00
Brian Coca
86037bc840
improved block docs (#43611)
* improved block docs

 - broke down examples per keyword
 - clarified which errors are handled
 - clarified forcing error in rescue
2018-08-28 13:40:12 -04:00
Brian Coca
893d59fabe
updated guides to avoid connection: local (#44227)
- want they really need is `delegate_to: localhost`
 - also reduced 'local_action' usage in favor of same
2018-08-28 13:27:21 -04:00
Yuma Inaura (稲浦悠馬)
2655fd2cbd Update playbooks_conditionals.rst (#43055)
+label: docsite_pr
2018-08-27 18:33:49 -05:00
Brian Coca
93f5c10714 vars list (#43171)
* vars list

(cherry picked from commit 463b85cf0bcf7a557b857d1ebd3e8bf1b693fa4c)

* updated as per fb
2018-08-27 14:57:32 -05:00
Matthias Fuchs
7871027c9d Share the implementation of hashing for both vars_prompt and password_hash (#21215)
* Share the implementation of hashing for both vars_prompt and password_hash.
* vars_prompt with encrypt does not require passlib for the algorithms
  supported by crypt.
* Additional checks ensure that there is always a result.
  This works around issues in the crypt.crypt python function that returns
  None for algorithms it does not know.
  Some modules (like user module) interprets None as no password at all,
  which is misleading.
* The password_hash filter supports all parameters of passlib.
  This allows users to provide a rounds parameter, fixing #15326.
* password_hash is not restricted to the subset provided by crypt.crypt,
  fixing one half of #17266.
* Updated documentation fixes other half of #17266.
* password_hash does not hard-code the salt-length, which fixes bcrypt
  in connection with passlib.
  bcrypt requires a salt with length 22, which fixes #25347
* Salts are only generated by ansible when using crypt.crypt.
  Otherwise passlib generates them.
* Avoids deprecated functionality of passlib with newer library versions.
* When no rounds are specified for sha256/sha256_crypt and sha512/sha512_crypt
  always uses the default values used by crypt, i.e. 5000 rounds.
  Before when installed passlibs' defaults were used.
  passlib changes its defaults with newer library versions, leading to non
  idempotent behavior.

  NOTE: This will lead to the recalculation of existing hashes generated
        with passlib and without a rounds parameter.
        Yet henceforth the hashes will remain the same.
        No matter the installed passlib version.
        Making these hashes idempotent.

Fixes #15326
Fixes #17266
Fixes #25347 except bcrypt still uses 2a, instead of the suggested 2b.

* random_salt is solely handled by encrypt.py.
  There is no _random_salt function there anymore.
  Also the test moved to test_encrypt.py.
* Uses pytest.skip when passlib is not available, instead of a silent return.
* More checks are executed when passlib is not available.

* Moves tests that require passlib into their own test-function.

* Uses the six library to reraise the exception.

* Fixes integration test.

When no rounds are provided the defaults of crypt are used.
In that case the rounds are not part of the resulting MCF output.
2018-08-27 08:40:41 -07:00
Donghyun Kang
5fecf8baab doc: fixed typo (#44685) 2018-08-26 21:36:11 +02:00
Toshio Kuratomi
68c60ad307 Change validate-modules for removed modules
Removed modules now don't have documentation.  Need to account for that
when checking them in validte-modules
2018-08-24 15:37:13 -07:00
Toshio Kuratomi
ee891c2b16 Fix refs broken by removal of old module docs 2018-08-24 15:37:13 -07:00
akira6592
62ec0409e5 fix variable names in vars file example (#44643) 2018-08-24 12:06:06 -04:00
Ihor Dvoretskyi
5d5782ce9d Fixed links to the CLI clients (#35792)
CLI clients link is incorrect, fixed.
2018-08-24 08:40:53 -05:00
Toshio Kuratomi
8ed7e80fc8
Remove from roadmap, thing that aren't going to make it for 2.7 (#44481)
* Remove from roadmap, thing that aren't going to make it for 2.7
* Added actual Windows roadmap deliverables
2018-08-23 19:32:27 -07:00
Dag Wieers
cc2164f92a
ACI: Add specific info about running locally (#43903)
Since the ACI modules (like most network-related modules) run on the
local controller, this PR adds the necessary details so users are aware
of this particular feature.
2018-08-24 01:28:39 +02:00
sirkubax
07375be490 Fix docs errors (#33704) 2018-08-23 16:11:07 -05:00
Ganesh Nalawade
d8e362e701
Update 2.7 network roadmap done items (#44575) 2018-08-23 21:50:20 +05:30
Dag Wieers
47711d0cec docs: Use GitHub syntax highlighting styles (#44449)
This PR changes the CSS stylesheet so the documentation (and module)
examples look more like how they look on GitHub.
2018-08-23 11:13:22 -05:00
jctanner
653d9c0f87 New keyword: ignore_unreachable (#43857) 2018-08-23 11:41:02 -04:00
skylerbunny
d4e15d40e8 Update tags documentation to explain newer tags behavior (#44274) 2018-08-23 09:46:54 -04:00
Trishna Guha
6ddd034906
mark cli_config as done on roadmap (#44567)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-08-23 18:57:43 +05:30
Ryan Brown
4c8808ec9d
Extend module_defaults by adding default groups for cloud modules (#44127)
Extends `module_defaults` by adding a prefix to defaults `group/` which denotes a builtin list of modules. Initial groups are: `group/aws`, `group/azure`, and `group/gcp`
2018-08-22 21:33:27 -04:00
Pilou
af786cb9d7 Fix a typo in docs: s/patent/parent/ (#44529) 2018-08-22 23:05:42 +02:00
♫ Christian Krause ♫
d779eb1f15 doc: fixes the the repetitions (#43937)
Wow, this does not seem to be an uncommon misspelling. Might be there
are some left that span over two lines. I noticed the one in the git
module and then used `grep -rw 'the the'` to find some more.
2018-08-22 21:53:30 +02:00
pcahyna
8dc31a88e8 Describe subset and superset as "set theory tests" (#43926)
subset and superset do not belong to group theory but to set theory.

+label: docsite_pr
2018-08-22 15:22:10 -04:00
flawaetz
1682ce5263 Update playbooks_blocks.rst (#40951)
Blocks currently don't support loops such as with_items or sequence.  It would be helpful to make this clear in the docs otherwise it's a bit of a gotcha.

+label: docsite_pr
2018-08-22 14:07:24 -05:00
muxator
a34d8a5e47 doc: minor language corrections to loop docs (#42854)
"described more" -> "better described"
"more simple" -> "simpler"

+label: docsite_pr
2018-08-22 15:00:25 -04:00
Chris Archibald
66ae8efbd3 Bug Fixes for ontap_net_vlan.py (#44209)
* Bug Fixes for ontap_net_vlan.py

* Make documentation changes
2018-08-22 09:00:49 -07:00
Brian Coca
57293b3c64 correct vault example (#44507)
* correct vault example

fixes #43897

* corrected text and code blocks
2018-08-22 10:25:33 -04:00
Toshio Kuratomi
0e7b470a01 Remove deprecated tags config option (#44479)
* Remove deprecated tags config option

* wordsmith porting guide entry

acozine via github
2018-08-21 14:57:06 -05:00
Ganesh Nalawade
ce541454e9
Update netconf_config module (#44379)
Fixes #40650
Fixes #40245
Fixes #41541

*  Refactor netconf_config module as per proposal #104
*  Update netconf_config module metadata to core network supported
*  Refactor local connection to use persistent connection framework
   for backward compatibility
*  Update netconf connection plugin configuration varaibles (Fixes #40245)
*  Add support for optional lock feature to Fixes #41541
*  Add integration test for netconf_config module
*  Documentation update
* Move deprecated options in netconf_config module
2018-08-21 20:41:18 +05:30
Tina
0186449e7b Update index.rst (#43490)
Update mention of 'current released version'

+label: docsite_pr
2018-08-16 18:53:47 -04:00
Lucid One
4c62722675 Fixed opensearch double slash issue (#44137)
http://www.sphinx-doc.org/en/stable/config.html#confval-html_use_opensearch
"(without trailing slash)"
2018-08-16 16:28:58 -05:00
Matt Davis
6b81c36533
restore task arg splatting (#43798)
* restore task arg splatting

* reverts #41804
* supersedes #41295
* fixes #42192
* after lots of discussion amongst the core team, we decided to preserve this feature, clarify the runtime warnings/docs, and prioritize a path toward fixing the underlying behavior that causes this feature to be insecure (un-namespaced facts).

* update faq text

note that warning is disabled when inject_facts_as_vars is

* wordsmithing FAQ entry
2018-08-14 12:58:00 -07:00
akira6592
9a39b49ebc fix typo of nos_command module example (#44125)
Thanks for the fix!
2018-08-14 13:26:57 -04:00
Chris Archibald
9dceca8a88 Deprecated Old NetApp Cdot Modules (#43781)
* MVP2 Post ElementSW OSRB sync

* Revert "MVP2 Post ElementSW OSRB sync"

This reverts commit c13db2ad962cd56bffce052c2891c558a2240c72.

Undoing bad push

* move deprecated files

* add documentation

* add new line

* Fix version issue

* fix issue with ignore file, hopefully

* Add ontap modules to porting guide

* fix refs

* add _module to ref
2018-08-14 09:39:52 -07:00
Matt Clay
26a1c534be Fix rst link. 2018-08-13 13:41:37 -07:00
Andreas Olsson
00e5123e4c Update documentation based on 301 permanent redirects (#43675) 2018-08-13 14:54:14 -05:00
Ian Wienand
e5dcebaa8e docs: remove "make viewdocs" reference (#43860)
The "viewdocs" target was removed in
0381bc170c681b6ea8a94467c62e0694e3d9029d; running "make webdocs" gets
you the output for initial testing purposes.
2018-08-13 10:39:09 -04:00
Toshio Kuratomi
a0e6ab09d1 Add note to the porting guide about why we're dropping python-2.6 controller support 2018-08-13 07:38:38 -07:00
Toshio Kuratomi
da26ba3760 Documentatin fixes 2018-08-13 07:38:38 -07:00
Toshio Kuratomi
c4951cce0b Exorcise Python-2.6 2018-08-13 07:38:38 -07:00
Matt Martz
c1c229c6d4
Remove use of simplejson throughout code base (#43548)
* Remove use of simplejson throughout code base. Fixes #42761

* Address failing tests

* Remove simplejson from contrib and other outlying files

* Add changelog fragment for simplejson removal
2018-08-10 11:13:29 -05:00
Lindsay Hill
898d1c8d81 added platform guides for NOS and VOSS (#43854) 2018-08-09 16:54:22 -04:00
Pilou
32eab149b6 [doc] import_role: mention version from which behavior changed and fix some typos (#43843)
* [doc] fix some typos

* [doc] import_role: mention version from which behavior changed
2018-08-09 09:00:59 -05:00
Etienne Deneuve
379fb87b44 add group_by_os_family in azure dynamic inventory (#40702) 2018-08-09 17:00:17 +08:00
Andreas Olsson
4a0b32083c Fix link description typo in tools documentation (#43828) 2018-08-08 16:03:50 -07:00
Will Smith
2de692348f change raising errors example to raise error (#43664)
Example instantiates an AnsibleError which derives from Exception but doesn't actually raise it like intended. This is misleading as it's not clear without examining the code for AnsibleError to know that it's not some function which would raise the exception automatically.
2018-08-06 14:57:55 +05:30
Andreas Olsson
1a11cecaef Prefer https:// links in the docs site
All the changed urls are availible by way of https://. Most of them
already redirect.
2018-08-01 08:20:40 -07:00
Matt Davis
f24054121a
add RMs to current roadmaps (#43511) 2018-07-31 14:52:41 -07:00
Felix Fontein
e7e63ec1e8 Improving syntax highlighting in HTML docs (#42472)
* Adding improved YAML lexer for HTML docs.

* Fixing (some of) the warnings.

* Fixing more warnings.

* Removing ansible- prefix from lexer names.

* Rename extensions -> _extensions.

* Removing superfluous module search path extension.
2018-07-31 15:28:16 -05:00
Matt Martz
01c0446cb5
Add AnsibleModule signature schema, and fix associated issues (#43512) 2018-07-31 15:04:22 -05:00
John R Barker
321081c3b4 atom & yamllint (#43498)
* atom & yamllint
2018-07-31 14:22:38 -05:00
Lindsay Hill
2e873be9b5 Networking Docs - Added platform guides for EXOS and SLX-OS (#43116)
* Added platform guides for EXOS and SLX-OS

* Fixed RST formatting
2018-07-31 14:43:15 -04:00
Jordan Borean
ccb2e9d32f Updated release and maintenance page (#42613) 2018-07-31 09:43:24 -05:00
Ajay Chenampara
d79027b77f Update with Emacs info (#43450)
* Update other_tools_and_programs with Emacs info
2018-07-30 16:23:33 -05:00
Alicia Cozine
5fa8747af3 fixes broken link (#43458) 2018-07-30 14:12:36 -07:00
Abhijeet Kasurde
e2e3bf4073 VMware: documentation update (#42451)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-30 13:12:08 -05:00
Brian Coca
c809500c79 document rescue vars (#43101) 2018-07-30 13:05:16 -05:00
Abhijeet Kasurde
9e221da44a VMware: vmware_guest_find scenario guide (#42450)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-30 12:53:33 -05:00
Ganesh Nalawade
89676c801f Update troubleshooting doc for command timeout (#43292)
* Update troubleshooting doc for command timeout

* Update timeout document to reflect the new way to set
  command timeout per task basis for network_cli and netconf
  connection type as per PR #42847

* Fix CI failure

* Fix review comment

* Fix typo in doc
2018-07-30 13:29:35 -04:00
Abhijeet Kasurde
d1c0b7a597 VMware: restructure docs (#43065)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-07-30 11:00:00 -05:00
Egor Zaitsev
249a6aae22 New module: routeros — manage MikroTik RouterOS (#41155)
* Implement initial RouterOS support

* Correct matchers for license prompts

* Documentation updates & mild refactor

* Remove one last Cisco function

* Sanity test fixes

* Move imports to the beginning

* Remove authorize property

* Handle ANSI codes

* Revert to_lines function

* CR fixes

* test(routeros): add unit tests

* Added another test (with ANSI colors and banner in fixture).

* Ignore CRLF line endings in system_package_print file

* fix: review by ganeshrn
2018-07-30 10:28:03 +05:30
Lindsay Hill
4a98802b52 Ironware: Deprecate provider, support network_cli (#43285) 2018-07-27 12:51:45 +05:30
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
2018-07-26 20:07:25 -07:00
John R Barker
3ab9030f05 Document more tools (#43053)
* Document more tools
2018-07-26 17:23:00 -05:00
Yanis Guenane
d94cc3568a CloudStack: Fix typos in the Guide (#43303) 2018-07-26 16:08:32 -04:00
Yuma Inaura (稲浦悠馬)
1199dff246 Update porting_guide_2.0.rst
Fix indent

+label: docsite_pr
2018-07-26 14:59:43 -04:00
Sam Doran
2a1a8585f3
Add reboot module stuff to 2.7 roadmap (#43232) 2018-07-25 16:37:57 -04:00
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
2018-07-25 16:12:22 -04:00
Andrew Gaffney
dbff49dee0
Remove dead 'vault_password' play attribute (#41847) 2018-07-25 12:01:10 -05:00