Commit Graph

551 Commits (85e7108d5291b63b71835b5144aa2d50457569f0)

Author SHA1 Message Date
Toshio Kuratomi b8321c74c8 Fix indentation of multiline descriptions 8 years ago
Matt Clay 0d46805979 Clean up shebangs for various files.
- Remove shebangs from:
  - ini files
  - unit tests
  - module_utils
  - plugins
  - module_docs_fragments
  - non-executable Makefiles
- Change non-modules from '/usr/bin/python' to '/usr/bin/env python'.
- Change '/bin/env' to '/usr/bin/env'.

Also removed main functions from unit tests (since they no longer
have a shebang) and fixed a python 3 compatibility issue with
update_bundled.py so it does not need to specify a python 2 shebang.

A script was added to check for unexpected shebangs in files.
This script is run during CI on Shippable.
8 years ago
Brian Coca c16a88cac4 keep list as list in synopsis 8 years ago
Sam Doran cf8639ff62 Fish hacking setup fix (#18084)
* Remove old egg-info files before creating new ones

Currently, setup.py generates egg files then they are deleted. This change
fixes this behavior and matches that in env-setup.

* Do not try to move ansible*egg-info to lib/

setup.py creates the ansible.egg-info in lib/ so this step is unnecessary. Matches env-setup behavior.

* Better test for number of arguments in argv

This prevents an erronous error message from being thrown since set -q returns an error code with the number of variables not defined, resulting in a non-zero exit if no arguments are passed.

Indent case statement within switch statement.
8 years ago
Adrian Likins cf39a1abab test-module _ansible_selinux_special_fs arg added
modules need to have _ansible_selinux_special_fs passed in
as an arg, so add the default to the args.
8 years ago
Brian Coca 72e6ffad47 added script to unify repos
in case i forget how to do this, can be deleted afterwards
8 years ago
cinerama70 db276373e5 gen_distribution_version_testcase.py should fail if ansible run fails (#17693)
Currently, "ansible localhost -m setup" can fail silently during the
run of gen_distribution_version_testcase.py, resulting in incorrect
output. Use check_output() rather than communicate() and handle
the exception if we get a nonzero return value.
8 years ago
cinerama70 02cec7dca9 Add os_family to test_distribution_version (#17620)
As suggested in feedback on
https://github.com/ansible/ansible/pull/17575, add
os_family to test_distribution_version. Add the
correct os_family to the existing testcase data
entries.

Also add os_family to the output of
gen_distribution_version_testcase.py so any new
generated entries will contain this data.
8 years ago
Toshio Kuratomi 4ed88512e4 Move uses of to_bytes, to_text, to_native to use the module_utils version (#17423)
We couldn't copy to_unicode, to_bytes, to_str into module_utils because
of licensing.  So once created it we had two sets of functions that did
the same things but had different implementations.  To remedy that, this
change removes the ansible.utils.unicode versions of those functions.
8 years ago
Michael Scherer 619f3d13ef Add detection of python3 to hacking/env-setup (#17357)
People can still override the detection using PYTHON_BIN
8 years ago
scottb 235eab6609 Merge pull request #16316 from alikins/alikins_docsite_make
Fewer deps for 'make webdocs' from top level
8 years ago
Josh Smift 81d7e132f9 force deletion of .pyc files (#17109) 8 years ago
Matt Davis 525c0469d2 tweak hacking/env-setup to work under ash (#17054) 8 years ago
Toshio Kuratomi 48a2773463 Find places where ziploader is used and change them to ansiballz so that people aren't confused when they google for information.information (#16715) 8 years ago
Adrian Likins a1c21f8400 Fewer deps for 'make webdocs' from top level
Previously it also built the MANPAGES target
requiring asciidoc and libxml, before starting
a 'make docs' in docsite.

Also change the #! line in
hacking/dump_playbook_attributes.py to not specify
python2... yet.
9 years ago
André Pinto fa4011c6c3 Do not corrupt $MANPATH when it's not present (#16300)
Fixes #16299
9 years ago
Matt Davis ec2cb07988 Make 'required' optional in module docs (#15906)
Updated module dev docs, doc build, ansible-doc to match
9 years ago
Brian Coca 71a707fba5 quick yaml syntax checker 9 years ago
Brian Coca 478674cc57 typo fix 9 years ago
Brian Coca b7c874f81a enforce required 'required' in docs 9 years ago
Robin Roth 1d6608e84f Dist version fix for Red Hat and more tests (#15663)
* add tests for centos6, rhel6 and rhel7

* gen_distribution_version_testcase with python2.6

* remove unused imports

* fix redhat/vmware/... parsing

* add centos7 test case
9 years ago
Brett Inman 1f89a46b52 Make -q flag totally quiet for env-setup.fish
The first echo and setup.py steps are not quiet and result in output that is annoying if your Fish is configured to source the file.
9 years ago
Toshio Kuratomi 2762f12f7f Remove the duplicate modstyle parameter 9 years ago
Toshio Kuratomi bdd73e31dc Have test-module clean up the local temp dir when it exits
Get test-module's debugger switch to do something useful with ziploader modules
9 years ago
Toshio Kuratomi 7833b5bec4 Merge pull request #15420 from robinro/distribution_version_tests
Distribution version tests
9 years ago
Robin Roth 692bf51fde move gen_testcase to hacking/tests
* also use json instead of pprint
9 years ago
Toshio Kuratomi 669f3dc3a8 Cleanup. Since we no longer pass a lock, we no longer need to create it 9 years ago
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
9 years ago
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
9 years ago
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).
9 years ago
Toshio Kuratomi a330a24ccc Python2.6 fix for test-module 9 years ago
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
9 years ago
Brian Coca 6a85da7e0c avoid private attributes
hardcode adding with_ for tasks
9 years ago
Brian Coca e1faa78722 fixed typo 9 years ago
Brian Coca cbc797a7ed added missing : 9 years ago
Brian Coca a3489408a5 fixes to playbooks_directives generation
order is now predictable
now correctly substitutes loop for with_
adds local_action to action
9 years ago
Brian Coca 3e28ee0fd4 avoid printing internal loop and loop_args 9 years ago
Brian Coca fbdcb22e36 now generate list of playbook ojbect directives
TODO: needs links/info and conditionals added
9 years ago
Brian Coca fe09f7ee49 clarify that requirements are on host that runs it
fixes http://github.com/ansible/ansible-modules-core/issues/3061
9 years ago
Brian Coca 6414c967e4 now check for description and listify if needed
fixes #14371
9 years ago
Toshio Kuratomi 5cd3f71792 Handle utf-8 in module short desc 9 years ago
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.
9 years ago
Patrik Lundin 9f9944e355 Replace -delete with portable -exec rm {} \;
Needed on OpenBSD which does not support -delete.
9 years ago
Alberto Gireud 52ded67db5 Update check mode argument 9 years ago
Brian Coca 4a206cdde9 force egg deletion 9 years ago
Brian Coca 5719912e7f added a skip for the test dir in module repos 9 years ago
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
9 years ago
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. 9 years ago
Brian Coca 3a0bf55ae3 better error catching for doc build 9 years ago
James Cammarata a431121f9f Tweak to hacking path fix to go back to subshell use 9 years ago
EC bcdb4e78ae Allow env-setup to use spaces in full path 9 years ago
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.
9 years ago
Luke Rohde cba4642d8d Use find ... -delete instead of non-portable globbing 9 years ago
Luke Rohde 647e48f776 Delete all compiled python files when running hacking/env-setup 9 years ago
Kevin Houdebert b8c9391d0c Change to python3 syntax 9 years ago
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.
9 years ago
Abhijit Menon-Sen 114070c226 Add missing $ 9 years ago
Brian Coca 636f88fd31 Merge pull request #9438 from binarytemple/patch-1
export ANSIBLE_HOME so it can be used in scripts
9 years ago
Toshio Kuratomi 53ae326603 Port some things in test-module to v2.
In particular, fix arg parsing

Fixes #11820
9 years ago
Brian Coca f5c8055879 removed debug stuff 9 years ago
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
9 years ago
bryan hunt 7a76fcb159 merged 9 years ago
Sheldon Hearn c800a1c68a Preserve OLDPWD 9 years ago
Brian Coca ae54792a35 Merge pull request #11688 from amenonsen/8935-rebase
8935 rebase: add «-o outputfile» and -n(oexec) options to hacking/test-module
9 years ago
Brian Coca d3fe9b3194 Merge pull request #11084 from echiu64/devel
More complex example of using test-module
9 years ago
Abhijit Menon-Sen 8342cc6b61 Fix existing typo, remove trailing space added by PR commit 9 years ago
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.
9 years ago
Brian Coca c40541964b Merge pull request #11637 from bcoca/moar_docs
Moar docs
10 years ago
Brian Coca 740f15cb0d just remove version_added when to old, not the whole option! 10 years ago
Brian Coca 9de086d16d removed merges from count 10 years ago
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
10 years ago
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
10 years ago
Brian Coca 811b10d132 docs will not mention versions older than 1.5 10 years ago
Brian Coca 1aeb66148b actually now does what it says as it was just sorting by name 10 years ago
Gerard Lynch 2f51f3bbc5 updated to use new loader 10 years ago
Brian Coca 95bf78d0e7 Merge pull request #11618 from halberom/test-module
hacking/test-module, updated to new location and non-classness of module_common
10 years ago
Gerard Lynch 3c7a502c50 updated to new location and non-classness of module_common 10 years ago
Brian Coca f146c7680f Merge pull request #10928 from gimoh/test-module-default-python
Use same interpreter for test-module and module it runs
10 years ago
Marc Abramowitz 3b0524e67d hacking/test-module: Style nit 10 years ago
Marc Abramowitz 5466ff8907 hacking/test-module: Deal with move of parse_kv 10 years ago
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`.
10 years ago
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
10 years ago
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
10 years ago
Edwin Chiu aef76cc701 More complex example of using test-module 10 years ago
Florian Apolloner 3010190592 Fixing up the hacking module_formatter code for v2 10 years ago
Michael Scherer 85aa984340 Fix error in the column name in the doc 10 years ago
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 ...``)
10 years ago
Toshio Kuratomi 4c8d27f7bb Make module formatting into links to the other module docs 10 years ago
Matt Martz 104b2036f7 egg_info is now written directly to lib 10 years ago
Brian Coca b6ec502983 added missing element to make google groups link a actual link 10 years ago
Ján Dzurek cf6155f1c2 rst.j2 template better core module source wording 10 years ago
Brian Coca c3076b8478 added module returnval documentation to web docs 10 years ago
Brian Coca 2cacac4b23 minor adjustments to formatting 10 years ago
Brian Coca 94909bd4a2 Added return values documentation to modules 10 years ago
Toshio Kuratomi caf2a96ef9 Merge pdksh fix to v2 10 years ago
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.
10 years ago
bmoar 1eaa9d4a08 fix path in Test-module example 10 years ago
Brian Coca 68a06e542d Merge pull request #9666 from follower/patch-8
Correct typo of "actively" (Attempt #2)
10 years ago
Brian Coca ee08448b2e now module_formatter handles new expanded return values from the module_docs (still does not thing with new return value docs) 10 years ago
Alexey Shamrin b950a38e30 fix links to ansible-devel in documentation pages 10 years ago
Toshio Kuratomi 7c86db3187 Add KSH compat
cherry picked from https://github.com/ansible/ansible/pull/6899
10 years ago
ZhiFeng Hu e63c03d60f Move update.sh to hacking repository ,see #10081 10 years ago
rpe-github 0a73067153 Use basename -- $0 in case $0 starts with a dash.
For example, pdksh $0 contains '-ksh'.
10 years ago
Marco Ippolito 23da2f6415 Redundant file descriptor specifier 10 years ago
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.
10 years ago
Marco Ippolito bc0f0f838e More elegant output using here-document syntax
POSIX section 2.7.4 defines here-documents.
10 years ago
Marco Ippolito 7eb278e797 Identified two verbosity levels: info, silent
Conflicts:
	hacking/env-setup
10 years ago
Marco Ippolito 9bc1e1a4a0 Reserve capitalised identifiers for system variables
Conflicts:
	hacking/env-setup
10 years ago
Marco Ippolito 53fadd371b No need to prepend `.' to a relative path 10 years ago
Toshio Kuratomi 566a8d1b9d Fix issue with mixing quoting and glo9bbing. 10 years ago
Toshio Kuratomi 365af69c3e More quotes and reimplement without pushd/popd 10 years ago
Toshio Kuratomi dde32a826f Set default values for shell variables that we use
Fixes #9991
10 years ago
Toshio Kuratomi 09e556e9a4 Get rid of bash compound command to make more portable 10 years ago
Toshio Kuratomi 245f934629 Remove shebang and execute perms for env-setup since it must be sourced 10 years ago
Marco Ippolito b688570380 Corrected quoting of parameter expansions in hacking/env-setup
Conflicts:
	hacking/env-setup
10 years ago
Marco Ippolito b8921706f8 Prefer modern-style Bash command substitution in hacking/env-setup
Conflicts:
	hacking/env-setup
10 years ago
Marco Ippolito 31c8523371 Updated shebang from #!/bin/bash to #!/usr/bin/env bash (more flexible) 10 years ago
Brian Coca 88443d6dcf Merge pull request #7306 from abadger/feature/egg-info
Feature/egg info
10 years ago
Veres Lajos bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 10 years ago
follower 8b278fee51 Correct typo of "actively" (Attempt #2) 10 years ago
follower a1c5294882 Fix misspelled "necessarily" 10 years ago
Brian Coca 339d1ccc8b fixed issue with subclasses across the repos clobbering each other, they
now merge
10 years ago
Brian Coca 2ba5c3c66b added blank line before section to avoid sphinx warnings 10 years ago
Michael DeHaan c551fe8b50 Clarify module list footer. 10 years ago
Brian Coca 12393a4b47 subcategories are now Title case and _ gets changed to a space 10 years ago
Brian Coca 5f1ad79cd3 now correctly flags and sorts subcategory modules 10 years ago
Brian Coca 650048f7dd now displays subcategories correctly 10 years ago
Brian Coca 7bd2c945a7 now doc generation does not ignore subdirs of cloud 10 years ago
Brian Coca 80b1365d53 now correctly processes modules when in subdirs of cloud 10 years ago
Brian Coca f6d9aa7a8f corrected text/flag 10 years ago
Brian Coca 023f5fd7e0 Added note explaning the module tagging 10 years ago
Brian Coca 44f0279d0a Now adds flags for non core and deprecated modules in listing 10 years ago
Brian Coca 86de59235f bypass core/extras text when module is deprecated 10 years ago
Brian Coca 8b5b97d066 now docs handle deprecated modules but still ignore aliases 10 years ago
Brian Coca 27d741102c Created Deprecated module category that only appears when there is
something to show
10 years ago
Bryan Hunt e5f651c458 export ANSIBLE_HOME so it can be used in scripts
In order that scripts like this can work 
```
#!/bin/bash
ansible -vvvv tag_instance_type_foo-training -i "${ANSIBLE_HOME}/plugins/inventory/ec2.py" --private-key=~/Downloads/foo-training.pem -u ec2-user -m ping
```
10 years ago
Brian Coca 5ab4467708 module formatter skips modules with leading underscore to avoid
documenting them. Soon will be patched to recognize them as either
deprecated or an alias
10 years ago
Toshio Kuratomi 1e12d3028c Merge pull request #9384 from insaneirish/devel
Change "usuable" to "usable".
10 years ago
insaneirish 3d257bc695 Change "usuable" to "usable". 10 years ago
Igor Vuk e19f3f8a5c Typo: greatful -> grateful 10 years ago
Baptiste Mathus 2845f0c455 Typo: recieve -> receive. 10 years ago
Michael DeHaan 2211ae113c Update rst.j2
typo fix
10 years ago
Martin Ueding dc750e6526 Fix link in reST template
There was a missing trailing underscore (`_`) that would have marked the
content in the backticks as a link. This adds it and fixes the link on
every core module page.
10 years ago
Michael DeHaan ffee9a8fe0 Docsite formatting 10 years ago
Michael DeHaan 7f6ab89b5b hacking/env-setup no longer needs to set library since modules appear as git submodules. 10 years ago
Michael DeHaan e8fe306cef Some various comments about the new repos, more to likely come. 10 years ago
Michael DeHaan bceb0026a5 Updating the module formatter to deal with the new repo structure. 10 years ago
Michael DeHaan b818fbb305 Modules are almost always written now by mutliple authors, so don't show this field on website, since it grows obsolete and does not take into account all contributors.
Contributors are still listed on github module source and in repo, and original authors still in the file for when development questions arise, but want
to funnel support questions to the mailing list versus directly to them.
10 years ago
Michael Salmon e827ec702e Fix issue #8578. Setting envvar in ""'s ensures the PYTHONPATH is set to
include the lib/ directory.

Before - PYTHONPATH is empty.. ansible fails to run

    $ source hacking/env-setup.fish
    Appending PYTHONPATH

    Setting up Ansible to run out of checkout...

    PATH=/Volumes/opt/src/ansible/bin /usr/local/share/python3 /usr/local/bin
    /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/X11/bin /usr/bin /sbin
    /usr/local/bin /Users/ms/bin/
    PYTHONPATH=
    ANSIBLE_LIBRARY=/Volumes/opt/src/ansible/library
    ...

    Traceback (most recent call last):
      File "/Volumes/opt/src/ansible/bin/ansible", line 25, in <module>
          from ansible.runner import Runner
          ImportError: No module named ansible.runner

After change - it's set.. ansible runs.

    source hacking/env-setup.fish
    Appending PYTHONPATH

    Setting up Ansible to run out of checkout...

    PATH=/Volumes/opt/src/ansible/bin /usr/local/share/python3 /usr/local/bin
    /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/X11/bin /usr/bin /sbin
    /usr/local/bin /Users/ms/bin/
    PYTHONPATH=/Volumes/opt/src/ansible/lib:
    ANSIBLE_LIBRARY=/Volumes/opt/src/ansible/library
    ....

    $ ansible
    Usage: ansible <host-pattern> [options]
10 years ago
Hector Acosta b8cbf1370f Add checkmode support for test-module script
Signed-off-by: Hector Acosta <hector.acosta@gmail.com>
11 years ago
Michael DeHaan dfd4f18095 Docsite things. 11 years ago
Toshio Kuratomi 6a6060ac55 Teach env-setup how to create egg-info for ansible so that pkg_resources works 11 years ago
Felix Kaiser 3b06ab84e3 Make test-module interpret --args='{...' as yaml 11 years ago
Max Riveiro 9f7342d46d
Add tesing deps installation into hacking/README
Signed-off-by: Max Riveiro <kavu13@gmail.com>
11 years ago
Cristian Ciupitu 0749112286 Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
11 years ago
Lukáš Lalinský 95d102f5e4 Remove obsolete module development docs 11 years ago
willthames e2d04f7e96 Allow hacking/env-setup module path to use config file library path
hacking/env-setup now adds the configured library path in ANSIBLE_CONFIG
to the ANSIBLE_LIBRARY environment variable in addition to the previous
default of ANSIBLE_HOME/library.

This replaces #5950.
11 years ago
Matt Martz dbed05caec Support for -a to accept a file with test-module
If the CLI value for -a starts with an @, treat it like a file, and dump the contents into complex_args

This supports yaml or json.
11 years ago
jctanner 7fa0d8bdd3 Merge pull request #5461 from sivel/test-module-interpreter
Add -I/--interpreter argument to test-module
11 years ago
Michael DeHaan 3b8fd62ff9 More site rename things. 11 years ago
Michael DeHaan c4a8a6d3c2 Add an "all" category so all modules show up uncategorized there. 11 years ago
Michael DeHaan 2f811c40d7 Basic docsite formatting fixups 11 years ago
Matt Martz e50c2bccb8 Add -I/--interpreter argument to test-module 11 years ago
Mikhail Sobolev 84948292f3 include short_description in the module page's title 11 years ago
Michael DeHaan 83d298accc Add note about how to submit doc changes to generated module docs, limit TOC depth for module category list. 11 years ago
Mikhail Sobolev fce90e0370 use rst formatting for sphinx part 11 years ago
Mikhail Sobolev 1713013dba provide sections and local TOC for module documentation 11 years ago
Mikhail Sobolev 7965d331f3 do not produce too deep toc for category lists 11 years ago
Mikhail Sobolev af1f8db51d remove trailing whitespaces 11 years ago
Michael DeHaan a5e8e10bb0 Removed unused things. 11 years ago
Michael DeHaan f4aa6c53bd Format module requirements as notes in Sphinx 11 years ago
Michael DeHaan eb0509fce7 Update the styling for the module pages slightly. 11 years ago
Michael DeHaan 35ec9f81ae Further modifications to the module formatter to adjust to the new theme, and some misc docs text corrections. 11 years ago
Michael DeHaan fe2d00d9d3 WIP on refactoring the module formatter code that we use to build the doc site with. 11 years ago
Michael DeHaan 31d0060de8 Standardized on yml suffix, so fix this example content filename. 11 years ago
Michael DeHaan 10009b0d3f Starting to refactor module formatter script.
Rename "jpfunc" to something more explanatory
11 years ago
Jens Rantil 2096c669d9 `env-setup` fix for zsh <= 4.3.10
This fixes issue #5026. It used to work. The regression was
introduced in 2b3381de7c.
11 years ago
Michael DeHaan 40429ee64e Code to limit display of version_added attributions in modules for modules that are too old to call out this information.
This does not generically apply to new arguments added to existing modules, just the version_added attribute on the top level modules.
11 years ago
Michael DeHaan 51e6f411f2 Docs: Fix the module formatter code that is intended to remove the 'historical' variable from showing up in version_added information (RST) 11 years ago
phy1729 2b3381de7c Add zsh support for working dir independant sourcing 11 years ago
Michael DeHaan f7c3975f21 Add version_added to all modules missing version_added information, the docs formatter will now
raise errors when omitted, updated changelog with new modules.
11 years ago
jctanner b6c1574f5c Merge pull request #4765 from mvo5/bugfix/fix-man-template
Fixes in the man template
11 years ago
Michael Vogt b8e641136a make comment lines in troff start with .\" and add a .SH EXAMPLES to the PLAINEXAMPLES section 11 years ago
Michael DeHaan d34a26e307 Undo an inadvertant revert from template changes so we still allow pythonic imports in module land. 11 years ago
Alan Fairless af40b19a2d Fix format string typo 11 years ago
James Tanner d154bf8781 Revert templating enhancements from 73dbab70 e6c28658 d409352c 9858b1f2 4587528b 9b1fe455 214b0b05 8d3db803 7f9504d1 5031104c 35cb9dc2 2bd8cb57 1e85c754 11 years ago
Michael DeHaan 9858b1f2f3 Enable imports to work on a snippet based system, allowing for instance a library of common EC2 functions
to be reused between modules.  See library/system/service and library/system/ping for initial examples.  Can
work the old way to just import 'basic', or can import the new way to import multiple pieces of code from
module_utils/.
11 years ago
Jharrod LaFon 996f87d898 Fixed usage comment to fish syntax for sourcing a file 11 years ago
Jharrod LaFon d0fe447fd1 Fixed incorrectly set PYTHONPATH 11 years ago
Jharrod LaFon dbfcd78790 Added an env-setup file for Fish 11 years ago
Michael DeHaan 5f18a53530 Fixup docs formatting. 11 years ago
Michael DeHaan 303a8ff563 Fix module path in readme file. 12 years ago
Michael DeHaan fa9635478b Fixing your YAML Seth :) 12 years ago
Michael DeHaan 955611bda8 Fixes #3294 12 years ago
Michael DeHaan 8b592c9d4b Add some whitespace to script 12 years ago
martin f. krafft 3839dcd56c Remove extra $ character
Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
martin f. krafft bbbc214ffb Remove bashisms, replace with POSIX constructs
This replaces double conditional brackets with single ones and gets ris
of bashisms, so that the tool should be sourcable from any POSIX shell.

Constructs like [ $foo = "$bar"* ] yield filesystem-globbing behaviour
according to POSIX. A compliant way is to use case statements.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
martin f. krafft 9f4988dbfd Quote variables in shell script
In case paths contain spaces, it's better to consistently quote
variables, and to use $() instead of `` for external invocations.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
martin f. krafft 4b9f8fc294 Replace external command with shell construct
dirname/basename do not need an external process, shell variable
expansion can be made to do the same a bit faster.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
martin f. krafft 013cd38929 Remove shebang line
The env-setup script is not intended to be run directly, so it does not
need a shebang line, which might even create the wrong expectations.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
Michael DeHaan 3f8aa8aec5 Fix up some module docs formatting errors. 12 years ago
Michael DeHaan b72109a04b Merge pull request #3273 from jlund/ansiblecc-to-ansibleworkscom
Update all ansible.cc references in the documentation to point to ansibleworks.com
12 years ago
Michael DeHaan 4553b3d0cf Merge branch 'generalise-hacking-dir-path-discovery' of git://github.com/madduck/ansible into envsetup2 12 years ago
Joshua Lund 0f81d1630f * Updated all ansible.cc references in the documentation to point
to ansibleworks.com
* Fixed a few misspelled words
12 years ago
Michael DeHaan af9b510769 Merge pull request #3220 from dsedivec/devel
Improve Markdown (and other) module doc output
12 years ago
trbs a4223e119d fixed x-bits in git 12 years ago
Dale Sedivec 7681b1ce68 Improve Markdown (and other) module doc output
- The html_ify filter now escapes HTML found in module documentation.
  THIS COULD AFFECT MORE THAN JUST MARKDOWN but I didn't see any modules
  expecting to use e.g. HTML entities or HTML tags in their
  documentation.

- The markdown_ify filter (used as jpfunc in markdown.j2) escapes at
  least a few Markdown in-line formatting characters.

- Improvements to markdown.j2:

    - Call jpfunc on the module name heading so that it gets escaped for
      Markdown (e.g. my_module_name becomes my\_module\_name).

    - Added paragraph breaks between paragraphs in the description.

    - Added examples heading, which is consistent with the notes heading
      below it.
12 years ago
martin f. krafft 3b008d6fa6 Expand usage synopsis
'source' is actually a "bashism" and the POSIX-way of sourcing a file
uses the single dot (which is arguably less readable). Both yield the
same result, and since the script may now also be sourced from
within the hacking directory, this commit expands the usage synopsis
accordingly.

Signed-off-by: martin f. krafft <madduck@madduck.net>

Conflicts:
	hacking/env-setup
12 years ago
martin f. krafft 581dea70d1 Generalise determination of hacking directory path
Bash needs a special case to determine the dirname of the sourced path
(the hacking dir), but in all other cases, using $0 allows the script to
be sourced also from within the hacking directory, not only from its
parent.

Signed-off-by: martin f. krafft <madduck@madduck.net>
12 years ago
Michael DeHaan 88102df07c Show 'yes' and 'no' in choices on docs page. 12 years ago
Nicolas Grilly 75ceb80572 Escape args injected in new style modules 12 years ago
Michael DeHaan 9ca0289dee Fixup the module formatter to explain the EXAMPLES string as well. 12 years ago
Jan-Piet Mens eeb80c695f Add Requirements to rst template, ansible-doc
tweak position & look of Requirements in rst
tweak APT's notes as per anhj's wish
12 years ago
Michael DeHaan ce67588dcf Fix module doc organization 12 years ago
Michael DeHaan 627b6a0455 Have 1.2 clear in docs 12 years ago
Michael DeHaan 391fb98ee2 Allow modules to be categorized, and also sort them when generating the documentation. 12 years ago
Michael DeHaan af2fb56a10 Changes to allow WANT_JSON to allow JSON to non-Python modules 12 years ago
Michael DeHaan bac3449db7 Restructure hacking readme. 12 years ago
Michael DeHaan e2d9e1b5c2 Convert 'hacking' instructions to markdown, add more info. 12 years ago
Michael DeHaan 148d8859ba Docs on parameterized roles, make document generation output less noisy 12 years ago
Marco Vito Moscaritolo a53259a797 Fixed option validation error
Fixed error on validation that block javascript documentation generation.
12 years ago
Michael DeHaan b066e9c15c Remove authors file from version control (can still be built from 'make authors') 12 years ago
Cristian Ciupitu 29aaa5e693 module_formatter.return_data: use UTF-8 encoding
The text parameter can contain non-ASCII characters, so we'll encode it
using UTF-8. For example the DOCUMENTATION of the bzr module has such
characters in the name of the author.
12 years ago
Sam Kottler 86d420f481 Use verbose 'source' to make the document easier to read 12 years ago
Michael DeHaan 03db6ef24a Slightly more self-explanatory output for ./hacking/env-setup 12 years ago
Michael DeHaan fa550f3d7e Adding a script to auto-generate an authors file, runnable from 'make authors', which is called from 'make docs/webdocs'. 12 years ago
Michael DeHaan e51707711c Merge pull request #2120 from jpmens/doc_ex1
Add support for additional EXAMPLES string in Ansible modules
12 years ago
Yves Dorfsman dfdc5bda4b Prevents PATH, PYTHONPATH etc... to be re-added. 12 years ago
Jan-Piet Mens 396a07bcc7 Add support for additional EXAMPLES string in Ansible modules
return DOC and EXAMPLES as a list
add moduledev explanation
more
12 years ago
Michael DeHaan b3eb1f32e3 update hacking/test_module script to be aware of complex arguments, though it does not pass them. 12 years ago
Michael DeHaan 0ae7f996f5 Make sure all the lookup plugins are documented. 12 years ago
Les Aker ee274b5816 fixed shebang in hacking test-module 12 years ago
junyoung a2aacaaec8 whitespaces in FULL_PATH cause an error to get ANSIBLE_PATH 12 years ago
Daniel Hokka Zakrisson a117944d0f Make env-setup work on Python 3 12 years ago
Blair Zajac ec5f6ae246 hacking/env-setup: remove unused sys import. 12 years ago
Dag Wieers 66fb7fd9de Make use of yes/no booleans in playbooks
At the moment Ansible prefers yes/no for module booleans, however booleans in playbooks are still using True/False, rather than yes/no. This changes modifies boolean uses in playbooks (and man pages) to favor yes/no rather than True/False.

This change includes:

- Adaptation of documentation and examples to favor yes/no
- Modification to manpage output to favor yes/no (the docsite output already favors yes/no)
12 years ago
Jan-Piet Mens f9755ca36d mail module: add MIME attachments, port and addresses with phrases
Add HTML-escaping to code examples in rST tempate of module-formatter
 Add support for specifying port, addresses with phrases and attaching files
 Add support for custom headers and document version_added for new options
 X-Mailer header added :)
 protect empty address lists & attachment list, and add bcc
12 years ago
Stephen Fromm 6a68d3813f Set LANG in module_common.py
Add constant DEFAULT_MODULE_LANG that defaults to C.  Can be set via
environment variable ANSIBLE_MODULE_LANG or configuration variable
module_lang.  Updated test-module to have same behavior.
12 years ago
Michael DeHaan dd5a8474f8 Have module formatter ignore more types of files. 12 years ago
Jan-Piet Mens 068ef0e979 module_formatter: re-instate code 12 years ago
Jan-Piet Mens caf003c813 DOCUMENTATION strings 12 years ago
Stephen Fromm 06e54c0b97 Add ability to specify syslog facility for modules
Update constants.py so that one can specify environmental variable
ANSIBLE_SYSLOG_FACILITY or syslog_facility in ansible.cfg to define
the syslog facility to use.  Alternatively, you can specify
ansible_syslog_facility in inventory.  Runner now replaces
the syslog facility in the openlog() call with the default or
the injected variables ansible_syslog_facility.

This also updates hacking/test-module to behave similarly.
12 years ago
Jan-Piet Mens e32f4a0564 Move get_docstring from module_formatter into ansible/utils 12 years ago
Michael DeHaan 6a5df97393 Manpage documentation ALSO should be sorted 12 years ago
Michael DeHaan 626203a7c9 Module documentation should have options sorted 12 years ago
Jan-Piet Mens afa467e975 DOCUMENTATION: LaTeX template is back
ongoing work for the Booklet
12 years ago
Michael DeHaan 4104478abd Added 'script', a module that can push and insantly run a remote script. Replaces the need to copy+command.
This is a bit of a rough draft, some error handling still needs to be added.
12 years ago
Michael DeHaan 896be48ac9 Merge pull request #1367 from jpmens/mdtempl
Add support for Github-flavored Markdown to module_formatter
12 years ago
Jan-Piet Mens 575459465e module_formatter: .rst now correctly handles code examples
- fixed template (it was the template), adding indentation with Jinja2
 - added description of code examples to man-page template (was missing)
 - fixed fireball, cron, and debug module examples to confrom
12 years ago
Jan-Piet Mens d4f89122f4 Add support for Github-flavored Markdown to module_formatter
- Uses HTML tables and Github-flavored code blocks (3 backticks)
12 years ago
Stephen Fromm 60f06c36b3 Miscellaneous fixes to module_formatter.py
Try to autodetect MODULEDIR, instead of hardcoded path in jpmens
homedir.
Check if MODULEDIR exists; exit if it doesn't.
Rewrite boilerplate() to use DOCUMENTATION.yaml in examples/.  This
makes use of tbielawa's recent change that added this example file.
This also fixes -G so that it works.  boilerplate() was commented out
before.
12 years ago
Dag Wieers 2786149bdc Moving now from getopt to optparse
Let me know if we can move to another library instead ;-)
12 years ago
Michael DeHaan 6d2f003ceb Update formatter to not include orange blocks all over docsite page 12 years ago
Michael DeHaan 110244d7b4 Merge branch 'remove-argparse' of git://github.com/dagwieers/ansible into devel
Conflicts:
	hacking/module_formatter.py

Don't run webdocs build when building packages
12 years ago
Marco Vito Moscaritolo ee679c0190 Unified document generator and make to generate JSON and JS files 12 years ago
Dag Wieers 2dcd0846ab Use getopt instead of argparse
On RHEL5 and RHEL6 there is not argparse, and 'make rpm' fails because of this.
With this change it works, and I can test and fix my own documentation...
12 years ago
Jan-Piet Mens ba22ca13ba man pages have wrong chapter number 12 years ago
Michael DeHaan c3f443f56c fix sorting 12 years ago
Michael DeHaan 761330b125 Fix module formatter indexing 12 years ago
Tim Bielawa 85fb7c6d4b Library functions and modules should be in the 3 man page section. Also the files should end in '.3' 12 years ago
Michael DeHaan ad5433b166 include version added info for individual fields 12 years ago
Michael DeHaan 31a4fe412f Complain when modules do not have documentation. 12 years ago
Jan-Piet Mens eb8a11237c module_formatter can output lists of files to process (.rst and .tex) 12 years ago
Jan-Piet Mens e4338d0ca3 module_formatter now also uses Jinja2 trim_blocks
- Updated man template accordingly
- seem to have left in illegal char in facter DOCUMENTATION...
12 years ago
Jan-Piet Mens f5e0fbf65b rst output template tweak for 'required' 12 years ago
Michael DeHaan b96da3e5b0 Merge pull request #1158 from jpmens/man01
documentation: man template: support empty options; add Version
12 years ago
Jan-Piet Mens 61ee632d23 documentation: man template: support empty options; add Version to Makefile 12 years ago
Jan-Piet Mens 80a9016636 module docs: fixed rst template
- notes is now supported
- multiline code examples are now supported (HTML rendering was off)
12 years ago
Michael DeHaan ce5dceab0e Merge pull request #1128 from mavimo/devel
Added documentation to APT module
12 years ago
Michael DeHaan 508e6ecf43 Merge pull request #1131 from jpmens/m-docs3
Module DOCUMENTATION for template, wait_for, and yum
12 years ago
Jan-Piet Mens a040807fd0 Module DOCUMENTATION for template, wait_for, and yum 12 years ago
Marco Vito Moscaritolo 94de4db928 Add JSON output format to DOCUMENTS and EXAMPLES parser 12 years ago
Jan-Piet Mens e0fb264a89 Module DOCUMENTATION: assemble, authorized_key, command, copy
plus a small fix in rst.j2 template
  manpages generated & checked
  modules.html generated & checked
12 years ago
Jan-Piet Mens 62d038dca4 module_formatter fixes 12 years ago
Michael DeHaan 0c855a85bc fix module formatter output messages 12 years ago
Michael DeHaan 405c097c43 Various fixes for the module documentation auto-generator 12 years ago
Michael DeHaan 83f277cfe6 Various tweaking to get the module formatter to work for 'make docs' in the docs project. Likely the templates for other module formatting types will have to change
by the time I'm done.
12 years ago
Jan-Piet Mens d47e15a1f2 module_formatter in hacking/ 12 years ago
Michael DeHaan ce01c3f7e7 Allow unicode transfer by not base64 encoding. Also: faster 13 years ago
Will Thames 4d4d0b90c5 readlink -f does not work on OS X. Replaced with a python solution 13 years ago
willthames 6219fc4932 env-setup no longer needs to be run from the ansible directory, it can be run from anywhere
env-setup now takes a -q argument to run in quiet mode
13 years ago
Michael DeHaan 738cea9c93 small tweaks to --help for hacking/test-module 13 years ago
Michael DeHaan fc96b88205 Teach the test-module script about the new way MODULE_ARGS works in new-style modules. 13 years ago
bradobro e8583833a7 test-module uses optparse with --debugger
Refactored hacking/test-module

1. uses optparse

2. has --debugger option

tested only with pdb on Python 2.7
13 years ago
bradobro ade0233d57 Refactoring test-module to be more like ansible. 13 years ago
Michael DeHaan d0f4358730 Port the copy module over to the new "common module" logic. 13 years ago
Michael DeHaan a94ec130d2 Common module code upgrades 13 years ago
Michael DeHaan 9006d4557d Added code to allow insertion of boilerplate into modules to make them able to share lots of code, the result
should be a huge reduction of total ansible source, at a slight cost of difficulty in original module development.

We need to apply this now to all modules, but may need to have some exemptions to things like command, which should
subclass this module.
13 years ago
Michael DeHaan 867b2437cc consolidate output code in callbacks.py, from utils, remove extra functions 13 years ago
Peter Sankauskas f9a14cfec1 Adding a missing '~' to use the user's home directory instead of the root file system for the module arguments 13 years ago
Michael DeHaan 6341361a5b Clarify that stderr WILL crash your module. Can't redirect because if we do we lose tracebacks
from modules remotely when they fail to parse, and this is VERY useful data.
13 years ago
Michael DeHaan 36e454c52f Because paramiko using a pty can't distinguish stderr and stdout, remove handling that
treated -D as a way to show stderr, and make sure modules don't include things on stderr.
Update docs and test module script to come into line.
13 years ago
Michael DeHaan 533c2c6126 Make it possible to use facts from hosts in templates for other hosts.
It works like this:

{{ hostvars['127.0.0.1']['ansible_eth0']['ipv4']['address'] }}
13 years ago
Tim Bielawa e9e8417735 Update hacking with MANPATH. Correct hacking README details. 13 years ago
Michael DeHaan 82bd75c1e0 Update env-setup script to make it work better 13 years ago
Michael DeHaan be55145a1e Initial crack at the file module 13 years ago
Michael DeHaan a735dd2b17 Added the 'test-module' script, useful for testing modules without running them in Ansible. 13 years ago
Michael DeHaan 85e0de5bb2 Move print statements out of playbook.py and back into CLI so we can simplify playbook operations
independent of output, and can also see all the output nicely grouped together if we want
to reformat it or make summaries of statistics.
13 years ago
Tim Bielawa c5f8bc9d79 Don't set ANSIBLE_HOSTS inside the env-setup script 13 years ago
Tim Bielawa f2c2786a14 Update constants.py to pull module path and the hosts file from the
environment (ANSIBLE_{LIBRARY,HOSTS}) if defined.

Update manpages to represent this.

Also update the env-setup script to set ANSIBLE_{LIBRARY,HOSTS}.
13 years ago