Commit graph

273 commits

Author SHA1 Message Date
Toshio Kuratomi
dcc5dfdf81 Controller-side module caching.
This makes our recursive, ast.parse performance measures as fast as
pre-ziploader baseline.

Since this unittest isn't testing that the returned module data is
correct we don't need to worry about os.rename not having any module
data.  Should devise a separate test for the module and caching code
2016-04-12 08:01:07 -07:00
Toshio Kuratomi
b27c424fa1 Fixes to the documentation build (#15356)
* Could only have one alias before.  Subsequent aliases overrode the
  previous ones.  Now multiple aliases work.
* Fix BLACKLISTED_MODULES.   Previously, modules were listed in the
  generated documentation despite being blacklisted
* Deprecated modules form extras were showing the (E) tag and not the
  (D) tag. Reversed that now (Probably not necessary to also show the
  E tag).
* Sort the deprecated modules alphabetically in the Category docs as
  well as the list of all modules
* Optimization: Previously rendered the modules to rst twice once in all
  group and once in individual categories.  Fixed to only render them
  once.
* Add fireball to blacklist and remove async_status (as people need to
  use that).
2016-04-11 17:11:55 -07:00
Toshio Kuratomi
a330a24ccc Python2.6 fix for test-module 2016-04-11 12:13:31 -07:00
Toshio Kuratomi
4b0aa1214c Ziploader
* Ziploader proof of concept (jimi-c)

* Cleanups to proof of concept ziploader branch:

* python3 compatible base64 encoding
* zipfile compression (still need to enable toggling this off for
  systems without zlib support in python)
* Allow non-wildcard imports (still need to make this recusrsive so that
  we can have module_utils code that imports other module_utils code.)
* Better tracebacks: module filename is kept and module_utils directory
  is kept so that tracebacks show the real filenames that the errors
  appear in.

* Make sure we import modules that are used into the module_utils files that they are used in.

* Set ansible version in a more pythonic way for ziploader than we were doing in module replacer

* Make it possible to set the module compression as an inventory var

This may be necessary on systems where python has been compiled without
zlib compression.

* Refactoring of module_common code:

* module replacer only replaces values that make sense for that type of
  file (example: don't attempt to replace python imports if we're in
  a powershell module).
* Implement configurable shebang support for ziploader wrapper
* Implement client-side constants (for SELINUX_SPECIAL_FS and SYSLOG)
  via environment variable.
* Remove strip_comments param as we're never going to use it (ruins line
  numbering)

* Don't repeat ourselves about detecting REPLACER

* Add an easy way to debug

* Port test-module to the ziploader-aware modify_module()

* strip comments and blank lines from the wrapper so we send less over the wire.

* Comments cleanup

* Remember to output write the module line itself in powershell modules

* for line in lines strips the newlines so we have to add them back in
2016-04-05 11:06:17 -07:00
Brian Coca
6a85da7e0c avoid private attributes
hardcode adding with_ for tasks
2016-03-10 01:00:33 -05:00
Brian Coca
e1faa78722 fixed typo 2016-02-29 17:52:55 -05:00
Brian Coca
cbc797a7ed added missing : 2016-02-26 16:27:10 -05:00
Brian Coca
a3489408a5 fixes to playbooks_directives generation
order is now predictable
now correctly substitutes loop for with_
adds local_action to action
2016-02-26 16:18:55 -05:00
Brian Coca
3e28ee0fd4 avoid printing internal loop and loop_args 2016-02-25 19:58:44 -05:00
Brian Coca
fbdcb22e36 now generate list of playbook ojbect directives
TODO: needs links/info and conditionals added
2016-02-25 16:48:37 -05:00
Brian Coca
fe09f7ee49 clarify that requirements are on host that runs it
fixes http://github.com/ansible/ansible-modules-core/issues/3061
2016-02-18 05:09:42 -08:00
Brian Coca
6414c967e4 now check for description and listify if needed
fixes #14371
2016-02-08 12:34:26 -05:00
Toshio Kuratomi
5cd3f71792 Handle utf-8 in module short desc 2016-02-02 13:00:24 -08:00
Jeremy Audet
5cac8efd73 Make "make webdocs" compatible with Python 3
The `webdocs` make target fails under Python 3. It fails due to a variety of
syntax errors, such as the use of `except Foo, e` and `print 'foo'`. Fix #13463
by making code compatible with both Python 2 and 3.
2015-12-08 12:00:53 -05:00
Patrik Lundin
9f9944e355 Replace -delete with portable -exec rm {} \;
Needed on OpenBSD which does not support -delete.
2015-12-02 11:06:09 +01:00
Alberto Gireud
52ded67db5 Update check mode argument 2015-11-08 20:55:10 -06:00
Brian Coca
4a206cdde9 force egg deletion 2015-11-02 11:58:20 -05:00
Brian Coca
5719912e7f added a skip for the test dir in module repos 2015-10-27 19:59:43 -04:00
Toshio Kuratomi
4203850d1a Break apart a looped dependency to show a warning when parsing playbooks
Display a warning when a dict key is overwritten by pyyaml
Fixes #12888
2015-10-27 12:39:42 -07:00
Toshio Kuratomi
baa309309d Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version. 2015-10-16 08:21:28 -07:00
Brian Coca
3a0bf55ae3 better error catching for doc build 2015-10-13 11:14:28 -04:00
James Cammarata
a431121f9f Tweak to hacking path fix to go back to subshell use 2015-09-17 15:26:45 -04:00
EC
bcdb4e78ae Allow env-setup to use spaces in full path 2015-09-17 15:11:25 -04:00
Marius Gedminas
823677b490 Replace .iteritems() with six.iteritems()
Replace .iteritems() with six.iteritems() everywhere except in
module_utils (because there's no 'six' on the remote host).  And except
in lib/ansible/galaxy/data/metadata_template.j2, because I'm not sure
six is available there.
2015-09-03 09:23:27 +03:00
Luke Rohde
cba4642d8d Use find ... -delete instead of non-portable globbing 2015-09-02 17:05:16 -04:00
Luke Rohde
647e48f776 Delete all compiled python files when running hacking/env-setup 2015-09-02 14:49:02 -04:00
Kevin Houdebert
b8c9391d0c Change to python3 syntax 2015-08-31 02:35:14 +02:00
Jody Frankowski
bc1e1d2cdc Fix rm call in hacking/env-setup. Since it is sourced from a user shell,
rm can have an alias to 'rm -i', which will make sourcing hang when '-q'
is enabled.
2015-08-15 00:43:45 +02:00
Abhijit Menon-Sen
114070c226 Add missing $ 2015-08-07 09:41:29 +05:30
Brian Coca
636f88fd31 Merge pull request #9438 from binarytemple/patch-1
export ANSIBLE_HOME so it can be used in scripts
2015-08-06 23:59:21 -04:00
Toshio Kuratomi
53ae326603 Port some things in test-module to v2.
In particular, fix arg parsing

Fixes #11820
2015-07-31 20:40:07 -07:00
Brian Coca
f5c8055879 removed debug stuff 2015-07-28 15:25:17 -04:00
Brian Coca
a78fdde32c better handling for weird doc corner cases (abscense of options, bad text objects, etc)
also updated extras to get some docfixes on the module side
2015-07-28 14:30:46 -04:00
bryan hunt
7a76fcb159 merged 2015-07-27 11:57:58 +01:00
Sheldon Hearn
c800a1c68a Preserve OLDPWD 2015-07-23 11:24:30 +02:00
Brian Coca
ae54792a35 Merge pull request #11688 from amenonsen/8935-rebase
8935 rebase: add «-o outputfile» and -n(oexec) options to hacking/test-module
2015-07-21 21:31:39 -04:00
Brian Coca
d3fe9b3194 Merge pull request #11084 from echiu64/devel
More complex example of using test-module
2015-07-21 21:29:25 -04:00
Abhijit Menon-Sen
8342cc6b61 Fix existing typo, remove trailing space added by PR commit 2015-07-22 06:53:59 +05:30
Will Thames
b05485d4b3 Add options to control output and execution of test-module
test-module is useful but sometimes you want to edit the
result before running it to e.g. set a debug point.

Added a noexecute option (i.e. just create the module script, don't
run it) and an output option to choose the filename of the result.
2015-07-22 06:50:37 +05:30
Brian Coca
c40541964b Merge pull request #11637 from bcoca/moar_docs
Moar docs
2015-07-20 22:31:34 -04:00
Brian Coca
740f15cb0d just remove version_added when to old, not the whole option! 2015-07-20 22:31:20 -04:00
Brian Coca
9de086d16d removed merges from count 2015-07-18 22:49:50 -04:00
Brian Coca
173f27531c moar docs
added docs for new v2 features
restructures modules bar and core/extras info into their own pages
changed templates to refer to the new pages
added some missing ansible.cfg options
more info on gathering setting
2015-07-17 22:53:11 -04:00
Brian Coca
6ba706f753 minor doc reformatting
now version_added < 1.3 does not get shown, up from 1.0
option's version_added is also now filterd against this threshold
module version_added is more prominent
exaples now uses pure rst instead of intermingled with html formatting
aliases now shown in description for options
bad version fields now throw warnings instead of exceptions
ansible-doc errors now show traceback in very very verbose mode, for easier debugging
2015-07-17 10:07:22 -04:00
Brian Coca
811b10d132 docs will not mention versions older than 1.5 2015-07-17 10:07:22 -04:00
Brian Coca
1aeb66148b actually now does what it says as it was just sorting by name 2015-07-17 10:07:22 -04:00
Gerard Lynch
2f51f3bbc5 updated to use new loader 2015-07-17 11:44:00 +01:00
Brian Coca
95bf78d0e7 Merge pull request #11618 from halberom/test-module
hacking/test-module, updated to new location and non-classness of module_common
2015-07-16 19:01:35 -04:00
Gerard Lynch
3c7a502c50 updated to new location and non-classness of module_common 2015-07-16 23:56:18 +01:00
Brian Coca
f146c7680f Merge pull request #10928 from gimoh/test-module-default-python
Use same interpreter for test-module and module it runs
2015-07-16 18:48:00 -04:00