Commit graph

324 commits

Author SHA1 Message Date
Toshio Kuratomi
d78ba34cf0 We switched away from passing the lock via the arguments to modify_module
Need to fix test-module to not pass the lock either
2016-04-13 13:35:51 -07:00
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
Marc Abramowitz
3b0524e67d hacking/test-module: Style nit 2015-07-02 18:59:58 +00:00
Marc Abramowitz
5466ff8907 hacking/test-module: Deal with move of parse_kv 2015-07-02 18:58:57 +00:00
Marc Abramowitz
ea6ec3bf2c Make test-module work in v2
- `jsonify` moved from `ansible.utils` to `ansible.parsing.utils.jsonify`
- I don't see `ansible.utils.parse_json` anymore so I used `json.loads`.
2015-07-02 18:16:33 +00:00
Brian Coca
0826106441 minor docs reformat
- clearer 'version added' for module options, now it sits under the option name
- made notes a section, so it now appears in toc
- moved requirements and made it a list, more prominent and more readable
2015-06-03 22:19:26 -04:00
James Cammarata
2bad888f28 Merge branch 'v2_final' into devel_switch_v2
Conflicts:
	lib/ansible/inventory/__init__.py
	lib/ansible/modules/core
	lib/ansible/utils/__init__.py
	lib/ansible/utils/module_docs.py
2015-05-28 15:26:03 -05:00
Edwin Chiu
aef76cc701 More complex example of using test-module 2015-05-28 14:43:25 -04:00
Florian Apolloner
3010190592 Fixing up the hacking module_formatter code for v2 2015-05-23 08:42:17 -05:00
Michael Scherer
85aa984340 Fix error in the column name in the doc 2015-05-15 01:05:38 -04:00
gimoh
5489d172de Use same interpreter for test-module and module it runs
Default python interpreter to the same interpreter the test-module
script is executed with.  This is so that the interpreter doesn't have
to be specified twice in the command when using non-default python
(e.g. ``/path/to/python ./hacking/test-module -I python=/path/to/python ...``)
2015-05-06 11:57:25 +01:00
Toshio Kuratomi
4c8d27f7bb Make module formatting into links to the other module docs 2015-05-05 13:51:22 -07:00
Matt Martz
104b2036f7 egg_info is now written directly to lib 2015-03-27 12:03:20 -05:00
Brian Coca
b6ec502983 added missing element to make google groups link a actual link 2015-03-24 21:09:45 -04:00
Ján Dzurek
cf6155f1c2 rst.j2 template better core module source wording 2015-03-24 20:00:51 +01:00
Brian Coca
c3076b8478 added module returnval documentation to web docs 2015-03-20 16:55:03 -04:00
Brian Coca
2cacac4b23 minor adjustments to formatting 2015-03-20 16:55:03 -04:00
Brian Coca
94909bd4a2 Added return values documentation to modules 2015-03-20 16:55:03 -04:00
Toshio Kuratomi
caf2a96ef9 Merge pdksh fix to v2 2015-03-15 13:22:07 -07:00
Patrik Lundin
731b268cd6 env-setup: Don't use ${.sh.file} if shell is pdksh
The default ksh in OpenBSD throws the following error:
===
$ . hacking/env-setup
ksh: hacking/env-setup[23]: ${.sh.file}": bad substitution
[...]
===

The same error can be seen on Linux if pdksh is used.
2015-03-15 10:46:21 +01:00
bmoar
1eaa9d4a08 fix path in Test-module example 2015-03-05 20:30:00 -05:00
Brian Coca
68a06e542d Merge pull request #9666 from follower/patch-8
Correct typo of "actively" (Attempt #2)
2015-02-26 23:05:28 -05:00
Brian Coca
ee08448b2e now module_formatter handles new expanded return values from the module_docs (still does not thing with new return value docs) 2015-02-19 18:07:05 -05:00
Alexey Shamrin
b950a38e30 fix links to ansible-devel in documentation pages 2015-02-17 14:30:31 +03:00
Toshio Kuratomi
7c86db3187 Add KSH compat
cherry picked from https://github.com/ansible/ansible/pull/6899
2015-02-09 15:37:35 -08:00
ZhiFeng Hu
e63c03d60f Move update.sh to hacking repository ,see #10081 2015-01-30 14:19:47 +08:00
rpe-github
0a73067153 Use basename -- $0 in case $0 starts with a dash.
For example, pdksh $0 contains '-ksh'.
2015-01-25 23:13:54 +01:00
Marco Ippolito
23da2f6415 Redundant file descriptor specifier 2015-01-19 09:03:15 -08:00
Marco Ippolito
4cd5be396d BUG! Incorrect order of redirection AND incorrect redirection syntax
The replaced code only created a text file called `1' in the
current directory, it did *not* redirect output.
2015-01-19 09:03:15 -08:00
Marco Ippolito
bc0f0f838e More elegant output using here-document syntax
POSIX section 2.7.4 defines here-documents.
2015-01-19 09:03:15 -08:00
Marco Ippolito
7eb278e797 Identified two verbosity levels: info, silent
Conflicts:
	hacking/env-setup
2015-01-19 09:03:15 -08:00
Marco Ippolito
9bc1e1a4a0 Reserve capitalised identifiers for system variables
Conflicts:
	hacking/env-setup
2015-01-19 09:03:15 -08:00
Marco Ippolito
53fadd371b No need to prepend `.' to a relative path 2015-01-19 09:03:14 -08:00
Toshio Kuratomi
566a8d1b9d Fix issue with mixing quoting and glo9bbing. 2015-01-18 10:29:07 -08:00
Toshio Kuratomi
365af69c3e More quotes and reimplement without pushd/popd 2015-01-18 08:17:37 -08:00
Toshio Kuratomi
dde32a826f Set default values for shell variables that we use
Fixes #9991
2015-01-15 11:08:00 -08:00
Toshio Kuratomi
09e556e9a4 Get rid of bash compound command to make more portable 2015-01-13 11:38:06 -08:00
Toshio Kuratomi
245f934629 Remove shebang and execute perms for env-setup since it must be sourced 2015-01-12 08:03:53 -08:00
Marco Ippolito
b688570380 Corrected quoting of parameter expansions in hacking/env-setup
Conflicts:
	hacking/env-setup
2015-01-10 17:29:56 -08:00
Marco Ippolito
b8921706f8 Prefer modern-style Bash command substitution in hacking/env-setup
Conflicts:
	hacking/env-setup
2015-01-10 17:26:19 -08:00
Marco Ippolito
31c8523371 Updated shebang from #!/bin/bash to #!/usr/bin/env bash (more flexible) 2015-01-10 17:21:43 -08:00
Brian Coca
88443d6dcf Merge pull request #7306 from abadger/feature/egg-info
Feature/egg info
2014-12-15 16:26:37 -05:00
Veres Lajos
bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 22:23:35 +00:00
follower
8b278fee51 Correct typo of "actively" (Attempt #2) 2014-11-29 18:29:09 +13:00
follower
a1c5294882 Fix misspelled "necessarily" 2014-11-29 14:55:25 +13:00
Brian Coca
339d1ccc8b fixed issue with subclasses across the repos clobbering each other, they
now merge
2014-11-04 20:54:55 -05:00
Brian Coca
2ba5c3c66b added blank line before section to avoid sphinx warnings 2014-11-04 18:14:30 -05:00
Michael DeHaan
c551fe8b50 Clarify module list footer. 2014-11-04 17:38:02 -05:00
Brian Coca
12393a4b47 subcategories are now Title case and _ gets changed to a space 2014-11-04 08:44:39 -05:00
Brian Coca
5f1ad79cd3 now correctly flags and sorts subcategory modules 2014-11-03 23:14:22 -05:00
Brian Coca
650048f7dd now displays subcategories correctly 2014-11-03 22:02:13 -05:00