Commit graph

553 commits

Author SHA1 Message Date
Toshio Kuratomi
e27c2860e7 Move metadata extraction into a library function ()
* Move metadata extraction into a library function
* fix the string cases to throw NotImplementedError
* Some python3 fixes
2017-06-28 18:10:26 -07:00
Michael De La Rue
56d33a2967 Fix hacking/test-module to allow running modules with pdb ()
* Fix hacking/test-module to allow running modules with pdb

* add emacs autosave files to gitignore
2017-06-28 10:58:22 -07:00
Yujun Zhang
1f3755f86b Include error message when ansiballz_setup fails ()
It is quite difficult to pinpoint what is wrong without it
2017-06-28 12:45:38 -04:00
Toshio Kuratomi
e238ae999b Cyptography pr 20566 rebase ()
Make pyca/cryptography the preferred backend for cryptographic needs (mainly vault) falling back to pycrypto

pyca/cryptography is already implicitly a dependency in many cases
through paramiko (2.0+) as well as the new openssl_publickey module,
which requires pyOpenSSL 16.0+. Additionally, pyca/cryptography is
an optional dep for better performance with vault already.

This commit leverages cryptography's padding, constant time comparisons,
and CBC/CTR modes to reduce the amount of code ansible needs to
maintain.

* Handle wrong password given for VaultAES format

* Do not display deprecation warning for cryptography on python-2.6

* Namespace all of the pycrypto imports and always import them

  Makes unittests better and the code less likely to get stupid mistakes
  (like using HMAC from cryptogrpahy when the one from pycrypto is needed)

* Add back in atfork since we need pycrypto to reinitialize its RNG just in case we're being used with old paramiko

* contrib/inventory/gce: Remove spurious require on pycrypto

(cherry picked from commit 9e16b9db275263b3ea8d1b124966fdebfc9ab271)

* Add cryptography to ec2_win_password module requirements
  * Fix python3 bug which would pass text strings to a function which
    requires byte strings.

* Attempt to add pycrypto version to setup deps

* Change hacking README for dual pycrypto/cryptography

* update dependencies for various CI scripts

* additional CI dockerfile/script updates

* add paramiko to the windows and sanity requirement set

  This is needed because ansible lists it as a requirement. Previously
  the missing dep wasn't enforced, but cryptography imports pkg_resources
  so you can't ignore a requirement any more

* Add integration test cases for old vault and for wrong passwords

* helper script for manual testing of pycrypto/cryptography

* Skip the pycrypto tests so that users without it installed can still run the unittests

* Run unittests for vault with both cryptography and pycrypto backend
2017-06-27 06:00:15 -07:00
Brian Coca
74842adc07 1st part of ansible config, adds ansible-config to view/manage configs ()
* Start of ansible config project

moved configuration definitions to external yaml file vs hardcoded
 * updated constants to be a data strcutures that are looped over and also return origin of setting
changed to manager/data scheme for base classes
new cli ansible-config to view/manage ansible configuration settings
 * prints green for default/unchanged and yellow for those that have been overriden
 * added list action to show all configurable settings and their associated ini and env var names
 * allows specifying config file to see what result would look like
 * TBD update, edit and view options

removed test for functions that have been removed

env_Vars are now list of dicts
allows for version_added and deprecation in future
added a couple of descriptions for future doc autogeneration
ensure test does not fail if delete_me exists
normalized 'path expansion'
added yaml config to setup packaging
removed unused imports
better encoding handling

updated as per feedback

* pep8
2017-06-14 11:08:34 -04:00
Abhijeet Kasurde
b89cb95609 Fix spelling mistakes (comments only) ()
Original Author : klemens <ka7@github.com>

Taking over previous PR as per
https://github.com/ansible/ansible/pull/23644#issuecomment-307334525

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-12 07:55:19 +01:00
Brian Coca
d03b16e88b start of 'profiling utils' 2017-05-31 14:00:12 -04:00
Martyn Ranyard
014f33655c Allows for testing binary modules () 2017-05-22 14:00:06 -04:00
Michael De La Rue
e9e661ebbb aws integration tests - provide an IAM policy for running ()
* aws integration tests - provide an IAM policy that can be used for running them

* move documentation of aws policies into main integration testing documentation + some updates there

* Update testing_integration.rst

Edits
2017-05-19 14:37:39 -07:00
Dag Wieers
9a5a61bdca hacking/: PEP8 compliancy ()
- Make PEP8 compliant
2017-05-16 18:52:07 +01:00
Matt Martz
8e523089ef Speed up env-setup () 2017-05-01 09:54:50 -05:00
Brian Coca
424e1946f4 moved docs generation and templates to docs/ 2017-03-24 15:52:36 -04:00
Brian Coca
7839f70e36 Enable documentation in plugins
Made ansible-doc more plugin agnostic
We can have docs in lookup, callback, connectionm strategy, etc
Use first docstring and make pepizis happy
generalized module_docs to plugin_docs
documented cartesian, ssh, default, jsonfile, etc as examples
changed lack of docs to warning when listing
made smarter about bad docstrings
better blacklisting
added handling of options/config/envs/etc
move blacklist to find_plugins, only need once
2017-03-23 01:27:19 -04:00
Brian Coca
18cbc3b16b minor doc gen fixes 2017-03-20 15:47:24 -04:00
Brian Coca
b606bcec04 Doc directives ()
* draft docs for directives

* updated to document directives
2017-03-15 11:29:58 -04:00
Toshio Kuratomi
eb1214baad New metadata 1.0 ()
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
John R Barker
04e816e13b Stricter module documentation validation ()
Raise the bar for module `DOCUMENTAION`
This validator update was used to find the issues in https://github.com/ansible/ansible/pull/22297/files

**Validation**
* Updated Validation and docs to enforce more (items fixed in https://github.com/ansible/ansible/pull/22297/files)
* Use `suboptions` to document complex options 
* Validate module name
* Validate deprecated modules have correct ANSIBLE_METADATA

**Module Documentation Generation**
* Document `suboptions:` Example https://gist.github.com/gundalow/4bdc3669d696268328ccc18528cc6718
* Tidy up HTML generation (valid HTML, no empty lists, etc)
 
**Documentation**
* Clarify the steps for deprecating a module
* Use correct RST headings
* Document `suboptions:` (options)
* Document `contains:` (returns)


**Details**
The aim is to get this (and corresponding module updates) complete by the time `devel` becomes `2.4`, as this allows us to raise the bar for new modules

Example `suboptions` https://gist.github.com/gundalow/4bdc3669d696268328ccc18528cc6718

The aim is to get this PR integrated into `devel` *before* we branch `stable-2.3`, this will allows us to:
* Raise the bar for new modules in 2.4
* Ensure the generated module documentation for 2.3 and higher is improved, important as we will be doing versioned docs moving forward.
2017-03-13 19:49:27 +00:00
Matt Clay
48e82b4ca8 Add test/runner to $PATH in hacking/env-setup. () 2017-03-07 16:31:53 -08:00
Brian Coca
b714f1fc4b made module notes render nicer on docsite 2017-02-24 15:15:18 -05:00
Matt Martz
5942de603d Legacy pep8 clean fixes for contrib and hacking () 2017-02-07 09:49:55 -06:00
Allan
ba39d1158c Update test-module ()
* Update test-module

Ensuring invoke is assigned

Traceback (most recent call last):
  File "ansible/hacking/test-module", line 267, in <module>
    main()
  File "ansible/hacking/test-module", line 263, in main
    runtest(modfile, argspath, modname, module_style, interpreters)
  File "ansible/hacking/test-module", line 207, in runtest
    invoke = "%s%s" % (invoke, modfile)
UnboundLocalError: local variable 'invoke' referenced before assignment

* Update test-module

Made the change to only require a single if, making the function more 'DRY'.
2017-01-31 20:05:53 -08:00
Matt Clay
10d9318de7 PEP 8 indent cleanup. ()
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay
d0d1158c5e PEP 8 cleanup. ()
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Matt Clay
95789f3949 PEP 8 whitespace cleanup. ()
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Matt Clay
63b1e0c277 Fix infrequent PEP 8 issues. 2017-01-27 14:06:21 -08:00
Brian Coca
bcdfdc0cc3 minor cleanups
removed redundant print/exits
removed unused import and var
2017-01-19 19:37:36 -05:00
Adam Johnson
fbfe66967d Doc module meta grammar fixes ()
* Remove unnecessary 'the'
* End sentences with a period
2017-01-19 12:01:55 -08:00
Will Thames
082082857d Use the python used with test-module to run modules ()
* Use ansible_python_interpreter to run modules

Use ansible_python_interpreter to run modules if
`-I ansible_python_interpreter` is set.

Remove unused default from `-I` help text.

* Update test-module to pep8 standards
2017-01-17 17:25:56 -08:00
Matt Clay
cd3fdca540 Switch tests to pytest and ansible-test.
- Replace nose usage with pytest.
- Remove legacy Shippable integration.sh.
- Update Makefile to use pytest and ansible-test.
- Convert most yield unit tests to pytest parametrize.
2017-01-11 12:34:59 -08:00
Brian Coca
3c4afd0470 Doc module meta ()
* updated module docs to reflect unification/meta

* new doc page

* also remove module refs to old core/extra

* Update modules_support.rst

Light edit.
2017-01-10 12:58:22 -08:00
Brian Coca
d138132bc2 show status/support in toc 2017-01-10 12:26:46 -05:00
Toshio Kuratomi
08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
Brian Coca
f5c1aefca9 added symbol conversion to deprecated
fixes 
2017-01-05 17:38:30 -05:00
Toshio Kuratomi
d001d250f0 Whitelist the hacking/cherrypick script's use of python3 2017-01-05 10:20:58 -08:00
Toshio Kuratomi
8f6009de0f Add initial script to aid in cherrypicking from devel to stable-2.2 2017-01-05 10:01:22 -08:00
Lujeni
021756a691 Update the module path from the hacking documentation ()
- New path since the modules merge
2016-12-26 18:24:01 +00:00
Brian Coca
0f4ca877ac many doc fixes
removed a bunch of warnings
made nicer formatting of new module info
2016-12-22 12:27:18 -05:00
Sam Doran
73fc4e42f1 Correct type-o on support statement 2016-12-15 11:32:55 -05:00
Matt Clay
bea8a3201d Remove obsolete files and instructions. ()
* Remove obsolete `unify_repos.sh` script.
* Remove submodule update after checkout reference.
2016-12-09 12:42:29 -05:00
Matt Clay
c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
Matt Davis
0b47c908eb quick and dirty module doc updates ()
clean up core/extras, plumb in basic metadata display
2016-12-08 11:35:20 -05:00
Matt Davis
cb1888125d add metadata to doc support ()
fix broken module docs
change doc AST id extraction to use == instead of in
2016-12-08 11:35:20 -05:00
Matt Clay
75c281debc Fix compile errors in scripts. 2016-12-08 11:35:20 -05:00
Toshio Kuratomi
ab43a26915 Additional reports ()
* Additional reports
* Fix default status to be a list
2016-12-08 11:35:19 -05:00
Adrian Likins
b5a63a556d fix docs on related to remove of core/extras 2016-12-08 11:35:19 -05:00
Toshio Kuratomi
c53b73228f Update the metadata tool ()
* Latest spreadsheet version uses different fields for support.
* Format the metadata to be a little nicer (multiple lines)
2016-12-06 06:27:10 -08:00
Toshio Kuratomi
d3dd11b21c Update for latest spreadsheet fields 2016-12-05 06:44:37 -08:00
Toshio Kuratomi
39c2249e49 Update metadata for the rename of curated to committer 2016-12-05 04:27:41 -08:00
Brian Coca
bfb43ed0b1 yes, im using bashisms 2016-12-01 09:20:20 -05:00
Brian Coca
2b13ad0ae8 dont skip github modules... 2016-11-30 22:21:29 -05:00
Brian Coca
eef7b8b5a5 now also unifies plugins in same dir structure 2016-11-30 22:18:35 -05:00
Toshio Kuratomi
c22dde615d Add a tool to work with module metadata ()
* Add a tool to work with module metadata

* Don't hardcode async_wrapper
2016-11-14 15:31:02 -08:00
Toshio Kuratomi
b8321c74c8 Fix indentation of multiline descriptions 2016-11-02 17:55:21 -07:00
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.
2016-11-02 17:00:27 -07:00
Brian Coca
c16a88cac4 keep list as list in synopsis 2016-11-01 16:00:05 -04:00
Sam Doran
cf8639ff62 Fish hacking setup fix ()
* 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.
2016-10-24 10:35:00 -07:00
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.
2016-10-23 16:34:53 -07:00
Brian Coca
72e6ffad47 added script to unify repos
in case i forget how to do this, can be deleted afterwards
2016-10-03 22:55:38 -04:00
cinerama70
db276373e5 gen_distribution_version_testcase.py should fail if ansible run fails ()
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.
2016-09-26 15:35:36 -07:00
cinerama70
02cec7dca9 Add os_family to test_distribution_version ()
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.
2016-09-17 23:27:35 +02:00
Toshio Kuratomi
4ed88512e4 Move uses of to_bytes, to_text, to_native to use the module_utils version ()
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.
2016-09-06 22:54:17 -07:00
Michael Scherer
619f3d13ef Add detection of python3 to hacking/env-setup ()
People can still override the detection using PYTHON_BIN
2016-09-02 12:11:38 -07:00
scottb
235eab6609 Merge pull request from alikins/alikins_docsite_make
Fewer deps for 'make webdocs' from top level
2016-08-19 12:06:56 -07:00
Josh Smift
81d7e132f9 force deletion of .pyc files () 2016-08-17 00:43:10 +02:00
Matt Davis
525c0469d2 tweak hacking/env-setup to work under ash () 2016-08-11 16:58:08 -07:00
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 () 2016-07-21 10:58:24 -07:00
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.
2016-06-28 11:01:42 -04:00
André Pinto
fa4011c6c3 Do not corrupt $MANPATH when it's not present ()
Fixes 
2016-06-15 11:41:14 -04:00
Matt Davis
ec2cb07988 Make 'required' optional in module docs ()
Updated module dev docs, doc build, ansible-doc to match
2016-05-18 16:57:36 -07:00
Brian Coca
71a707fba5 quick yaml syntax checker 2016-05-18 18:15:12 -04:00
Brian Coca
478674cc57 typo fix 2016-05-05 17:05:46 -04:00
Brian Coca
b7c874f81a enforce required 'required' in docs 2016-05-05 16:55:18 -04:00
Robin Roth
1d6608e84f Dist version fix for Red Hat and more tests ()
* 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
2016-04-29 13:18:50 -07:00
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.
2016-04-27 11:34:51 -07:00
Toshio Kuratomi
2762f12f7f Remove the duplicate modstyle parameter 2016-04-27 10:04:16 -07:00
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
2016-04-24 20:44:42 -07:00
Toshio Kuratomi
7833b5bec4 Merge pull request from robinro/distribution_version_tests
Distribution version tests
2016-04-18 10:05:55 -07:00
Robin Roth
692bf51fde move gen_testcase to hacking/tests
* also use json instead of pprint
2016-04-15 17:14:43 +02:00
Toshio Kuratomi
669f3dc3a8 Cleanup. Since we no longer pass a lock, we no longer need to create it 2016-04-14 11:59:06 -07:00
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 ()
* 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 
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 
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 
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 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 
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 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 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 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 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 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 from follower/patch-8
Correct typo of "actively" (Attempt )
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 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 
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 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 ) 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
Brian Coca
7bd2c945a7 now doc generation does not ignore subdirs of cloud 2014-11-03 08:15:26 -05:00
Brian Coca
80b1365d53 now correctly processes modules when in subdirs of cloud 2014-11-01 23:19:25 -04:00
Brian Coca
f6d9aa7a8f corrected text/flag 2014-10-31 16:05:22 -04:00
Brian Coca
023f5fd7e0 Added note explaning the module tagging 2014-10-31 15:06:00 -04:00
Brian Coca
44f0279d0a Now adds flags for non core and deprecated modules in listing 2014-10-31 14:20:26 -04:00
Brian Coca
86de59235f bypass core/extras text when module is deprecated 2014-10-31 14:18:18 -04:00
Brian Coca
8b5b97d066 now docs handle deprecated modules but still ignore aliases 2014-10-30 13:29:54 -04:00
Brian Coca
27d741102c Created Deprecated module category that only appears when there is
something to show
2014-10-30 11:26:43 -04:00
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
```
2014-10-28 20:19:15 +00:00
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
2014-10-28 08:36:31 -07:00
Toshio Kuratomi
1e12d3028c Merge pull request from insaneirish/devel
Change "usuable" to "usable".
2014-10-20 22:08:52 -04:00
insaneirish
3d257bc695 Change "usuable" to "usable". 2014-10-20 10:12:51 -04:00
Igor Vuk
e19f3f8a5c Typo: greatful -> grateful 2014-10-15 21:08:38 +02:00
Baptiste Mathus
2845f0c455 Typo: recieve -> receive. 2014-10-13 22:10:39 +02:00
Michael DeHaan
2211ae113c Update rst.j2
typo fix
2014-09-29 18:01:16 -04:00
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.
2014-09-28 15:27:08 +02:00
Michael DeHaan
ffee9a8fe0 Docsite formatting 2014-09-26 18:23:57 -04:00
Michael DeHaan
7f6ab89b5b hacking/env-setup no longer needs to set library since modules appear as git submodules. 2014-09-26 17:59:46 -04:00
Michael DeHaan
e8fe306cef Some various comments about the new repos, more to likely come. 2014-09-26 17:52:50 -04:00
Michael DeHaan
bceb0026a5 Updating the module formatter to deal with the new repo structure. 2014-09-26 17:10:13 -04:00
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.
2014-09-10 09:42:24 -04:00
Michael Salmon
e827ec702e Fix issue . 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]
2014-08-12 12:09:20 -07:00
Hector Acosta
b8cbf1370f Add checkmode support for test-module script
Signed-off-by: Hector Acosta <hector.acosta@gmail.com>
2014-07-20 13:54:30 -05:00
Michael DeHaan
dfd4f18095 Docsite things. 2014-06-19 14:25:28 -05:00
Toshio Kuratomi
6a6060ac55 Teach env-setup how to create egg-info for ansible so that pkg_resources works 2014-05-06 11:19:41 -07:00
Felix Kaiser
3b06ab84e3 Make test-module interpret --args='{...' as yaml 2014-04-10 21:14:42 +02:00
Max Riveiro
9f7342d46d
Add tesing deps installation into hacking/README
Signed-off-by: Max Riveiro <kavu13@gmail.com>
2014-03-23 00:42:51 +04:00
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.
2014-03-16 13:10:28 -04:00
Lukáš Lalinský
95d102f5e4 Remove obsolete module development docs 2014-02-22 15:51:59 +01:00
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 .
2014-02-12 12:06:57 +10:00
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.
2014-02-07 13:09:47 -06:00
jctanner
7fa0d8bdd3 Merge pull request from sivel/test-module-interpreter
Add -I/--interpreter argument to test-module
2014-01-29 16:24:37 -08:00
Michael DeHaan
3b8fd62ff9 More site rename things. 2014-01-28 20:29:42 -05:00
Michael DeHaan
c4a8a6d3c2 Add an "all" category so all modules show up uncategorized there. 2014-01-02 17:42:18 -05:00
Michael DeHaan
2f811c40d7 Basic docsite formatting fixups 2014-01-02 17:36:52 -05:00
Matt Martz
e50c2bccb8 Add -I/--interpreter argument to test-module 2013-12-30 14:53:32 -06:00
Mikhail Sobolev
84948292f3 include short_description in the module page's title 2013-12-26 14:35:57 -05:00
Michael DeHaan
83d298accc Add note about how to submit doc changes to generated module docs, limit TOC depth for module category list. 2013-12-25 21:29:54 -05:00
Mikhail Sobolev
fce90e0370 use rst formatting for sphinx part 2013-12-25 21:20:11 +02:00
Mikhail Sobolev
1713013dba provide sections and local TOC for module documentation 2013-12-25 21:19:00 +02:00
Mikhail Sobolev
7965d331f3 do not produce too deep toc for category lists 2013-12-25 21:19:00 +02:00
Mikhail Sobolev
af1f8db51d remove trailing whitespaces 2013-12-25 21:19:00 +02:00
Michael DeHaan
a5e8e10bb0 Removed unused things. 2013-12-25 14:17:47 -05:00
Michael DeHaan
f4aa6c53bd Format module requirements as notes in Sphinx 2013-12-25 14:12:00 -05:00
Michael DeHaan
eb0509fce7 Update the styling for the module pages slightly. 2013-12-25 14:06:55 -05:00
Michael DeHaan
35ec9f81ae Further modifications to the module formatter to adjust to the new theme, and some misc docs text corrections. 2013-12-25 13:24:29 -05:00
Michael DeHaan
fe2d00d9d3 WIP on refactoring the module formatter code that we use to build the doc site with. 2013-12-25 13:24:29 -05:00
Michael DeHaan
31d0060de8 Standardized on yml suffix, so fix this example content filename. 2013-12-25 13:24:29 -05:00
Michael DeHaan
10009b0d3f Starting to refactor module formatter script.
Rename "jpfunc" to something more explanatory
2013-12-25 13:24:29 -05:00
Jens Rantil
2096c669d9 env-setup fix for zsh <= 4.3.10
This fixes issue . It used to work. The regression was
introduced in 2b3381de7c.
2013-12-04 14:36:47 +01:00
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.
2013-11-27 21:34:00 -05:00
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) 2013-11-27 21:14:38 -05:00
phy1729
2b3381de7c Add zsh support for working dir independant sourcing 2013-11-19 13:35:01 -06:00
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.
2013-11-18 18:55:49 -05:00
jctanner
b6c1574f5c Merge pull request from mvo5/bugfix/fix-man-template
Fixes in the man template
2013-11-06 08:20:27 -08:00
Michael Vogt
b8e641136a make comment lines in troff start with .\" and add a .SH EXAMPLES to the PLAINEXAMPLES section 2013-11-01 09:20:05 +01:00
Michael DeHaan
d34a26e307 Undo an inadvertant revert from template changes so we still allow pythonic imports in module land. 2013-10-31 16:53:05 -04:00
Alan Fairless
af40b19a2d Fix format string typo 2013-10-31 12:34:51 -05:00
James Tanner
d154bf8781 Revert templating enhancements from 73dbab70 e6c28658 d409352c 9858b1f2 4587528b 9b1fe455 214b0b05 8d3db803 7f9504d1 5031104c 35cb9dc2 2bd8cb57 1e85c754 2013-10-30 10:50:16 -04:00
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/.
2013-10-26 11:09:30 -04:00
Jharrod LaFon
996f87d898 Fixed usage comment to fish syntax for sourcing a file 2013-08-14 15:52:37 -06:00
Jharrod LaFon
d0fe447fd1 Fixed incorrectly set PYTHONPATH 2013-08-14 10:46:58 -06:00
Jharrod LaFon
dbfcd78790 Added an env-setup file for Fish 2013-08-13 15:14:01 -06:00
Michael DeHaan
5f18a53530 Fixup docs formatting. 2013-08-06 10:53:56 -04:00
Michael DeHaan
303a8ff563 Fix module path in readme file. 2013-07-19 09:34:43 -04:00
Michael DeHaan
fa9635478b Fixing your YAML Seth :) 2013-07-15 13:16:37 -04:00
Michael DeHaan
955611bda8 Fixes 2013-06-30 19:59:48 -04:00
Michael DeHaan
8b592c9d4b Add some whitespace to script 2013-06-30 19:21:28 -04:00
martin f. krafft
3839dcd56c Remove extra $ character
Signed-off-by: martin f. krafft <madduck@madduck.net>
2013-06-23 14:58:09 +02:00
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>
2013-06-20 08:18:37 +02:00
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>
2013-06-20 08:18:37 +02:00