Marius Gedminas
33a374edde
Use rich comparisons for Attribute and FieldAttribute
...
Because __cmp__ is not supported on Python 3.
2015-09-02 12:33:42 +03:00
Marius Gedminas
ca908f2e12
Fix indentation to be a multiple of 4
2015-09-02 12:22:18 +03:00
Abhijit Menon-Sen
147b04b682
Remove duplicated function definition (fallout from earlier repeated merge)
2015-09-02 07:47:48 +05:30
James Cammarata
f162990cb3
Properly assign the searchpath for templates to the environment loader
...
dbd755e0
previously assigned the value to self._templar.environment.searchpath,
which is incorrect - it needs to be assigned to the environment.loader.searchpath
value instead.
Fixes #11931
2015-09-01 17:33:14 -04:00
James Cammarata
2761df232e
Small tweak to 7551b75
to correct the ordering of tests
2015-09-01 14:48:59 -04:00
James Cammarata
7551b75e61
Add ispath type for constants and make sure all local paths are ispath=True
...
Fixes #12180
2015-09-01 14:47:45 -04:00
Toshio Kuratomi
aeff960d02
Cleanup combine_vars
...
* Dedupe combine_vars() code (removed from VariableManager)
* Fix merge_hash algorithm to preserve the type
* unittest combine_vars and merge_hash
2015-09-01 11:23:12 -07:00
James Cammarata
7fe495d619
Merge pull request #12187 from caphrim007/add-utf-8-encoding-to-f5-module-utils
...
Adds utf-8 encoding to f5 module_utils
2015-09-01 14:15:42 -04:00
James Cammarata
d00c445d2c
Merge pull request #12188 from amenonsen/easy-debug
...
Show module name and args with -vvv
2015-09-01 14:15:15 -04:00
Abhijit Menon-Sen
d6d523bcae
Show module name and args with -vvv
...
This information was earlier shown only with ANSIBLE_DEBUG, but it's
extremely useful in a user context, especially with module invocations
with deeply nested args like the ec2_vpc/ec2 modules.
Closes #11680
2015-09-01 23:44:13 +05:30
James Cammarata
3e1a774ba5
Don't use iteritems() in templar to avoid (hostvars) dict size change errors
2015-09-01 14:11:23 -04:00
James Cammarata
974b69d236
looped includes need unique references to prevent information bleeding
...
Fixes #12155
2015-09-01 12:32:35 -04:00
James Cammarata
a341a8a093
Make sure tasks from a role see their defaults above all others
...
Fixes #12081
2015-09-01 11:27:35 -04:00
Tim Rupp
6f41a72158
Adds utf-8 encoding to f5 module_utils
...
The contributor's name on line 10 (originally line 7) includes a character
that the default Python encoding (ASCII) raises an error on when interpreting
the file.
Specifying the utf-8 encoding, as is done in other modules, resolves
the error.
The error being raised is
SyntaxError: Non-ASCII character '\xc3' in file /.../lib/ansible/module_utils/f5.py
on line 7, but no encoding declared; see http://www.python.org/peps/pep-0263.html
for details
2015-09-01 08:10:23 -07:00
James Cammarata
a7da25d48b
Submodule update
2015-09-01 11:03:19 -04:00
James Cammarata
3d282cd1b0
Also always post_validate Handler class as well
...
Fixes #12154
2015-09-01 11:02:42 -04:00
Toshio Kuratomi
12edbfeb0b
Merge pull request #12177 from mgedmin/py3k
...
Make combine_vars() compatible with Python 3
2015-09-01 08:00:08 -07:00
Brian Coca
66e2eb2231
removed as it does not fool setup.py to include data and it must be specified in setup.py
2015-09-01 10:58:58 -04:00
Marius Gedminas
54dbfba8f8
Make combine_vars() compatible with Python 3
...
Fixes
TypeError: unsupported operand type(s) for +: 'dict_items' and 'dict_items'
on Python 3.
2015-09-01 09:39:59 +03:00
James Cammarata
5adcd7054b
Allow setup to run when using --start-at-task
...
Fixes #12147
2015-08-31 22:10:34 -04:00
Brian Coca
7458331539
package and service now check that module exists before trying to execute it
2015-08-31 20:34:20 -04:00
Toshio Kuratomi
9d193d8fb4
Merge pull request #12173 from ansible/pr/10204
...
Rebase of 10204 - Add host key for ssh url only.
2015-08-31 13:50:40 -07:00
James Cammarata
fca27c29f4
Properly fail if slurp fails during fetch
2015-08-31 16:45:03 -04:00
Desmond O. Chang
58c3539196
Add host key for ssh url only.
...
Rewrite function `get_fqdn`. It returns fqdn for all kinds of urls now.
`add_git_host_key` determines whether a url is ssh and whether its host
key should be added.
2015-08-31 13:42:32 -07:00
James Cammarata
66a2f2923e
Look for proper values in slurp result during fetch with become enabled
2015-08-31 16:36:07 -04:00
Toshio Kuratomi
7f5080f64a
Fix backslash escaping inside of jinja2 expressions
...
Fixes #11891
2015-08-31 13:17:26 -07:00
Toshio Kuratomi
5ae300a084
Update module refs
2015-08-31 08:05:45 -07:00
Brian Coca
6b73cac35a
corrected skipped_hosts constant usage, thanks @benjixx
2015-08-30 20:21:15 -04:00
Brian Coca
5a65dce6fb
fix issues with csh redirection
2015-08-30 17:49:16 -04:00
Brian Coca
b525eedb8e
less misleading message for when someone looks up vars for a host not in inventory
2015-08-30 12:41:21 -04:00
Brian Coca
6154ed1dda
Merge pull request #12146 from thekarlbrown/patch-1
...
Fixed Spelling Error on Line 67
2015-08-28 20:10:47 -04:00
James Cammarata
f0257683b0
Fixed missing constants import in default callback
...
Fixes #12145
2015-08-28 16:54:56 -04:00
James Cammarata
057712c129
Also move action/connection plugins to shared plugin loader code
...
Fixes #12099
2015-08-28 16:32:09 -04:00
James Cammarata
0859ba7726
Adjust field loading order for vars and tweak post_validate exclusion logic
...
FieldAttributes will now by default not be post_validated unless a flag
is set on them in the class, as a large number of fields are really there
simply to be inherited by Task/PlayContext and shouldn't be templated too
early.
The other (unrelated to the base issue) in #12084 is also fixed here, where
the roles field is loaded before vars/vars_files, meaning there are no vars
yet loaded in the play when the templating occurs.
Fixes #12084
2015-08-28 15:56:42 -04:00
Karl Brown
9aae1d5810
Fixed Spelling Error on Line 67
...
Noticed while running Ansible from Tip.
Throws: NameError: global name 'tself' is not defined
2015-08-28 15:45:49 -04:00
James Cammarata
4c65306e73
Merge branch 'hostrange' of https://github.com/amenonsen/ansible into amenonsen-hostrange
2015-08-28 13:48:25 -04:00
Toshio Kuratomi
120243d36d
Fix python3.4 syntax
2015-08-28 10:30:27 -07:00
James Cammarata
2043fcd5db
Merge pull request #12083 from resmo/for-ansible
...
cloudstack: implement general api_region support, update docs
2015-08-28 13:14:50 -04:00
Brian Coca
b6c6ed91fe
implemented not showing skipped hosts config
2015-08-28 12:32:50 -04:00
Brian Coca
514fa73fcd
galaxy fixes
2015-08-28 12:32:50 -04:00
James Cammarata
66ed397360
Fix redis fact_caching_timeout=0 bug
...
Fixes #12018
2015-08-28 11:47:06 -04:00
James Cammarata
5a5b9f211b
Validate variable names when loading 'vars:' blocks
...
TODO: add this to VariableManager to validate vars loaded from files too
Fixes #12022
2015-08-28 11:36:31 -04:00
James Cammarata
266a069a73
Merge pull request #12107 from TravisPaul/devel
...
Update "smart" transport to handle Sun_SSH_1.5 on SmartOS
2015-08-28 10:43:48 -04:00
Brian Coca
48aa0dd1c7
now acknowledges ask_pass setting from ansible.cfg
...
fixes #12111
2015-08-27 18:22:36 -04:00
James Cammarata
399d215f5a
Merge pull request #12122 from maty0609/devel
...
Adding support for Archlinux and Slackware in fallback
2015-08-27 16:55:43 -04:00
Marius Gedminas
eb99aa8c68
Fix to_bytes(None) on Python 3
...
You cannot call bytes(obj) to get a simple representation of obj on
Python 3! E.g. bytes(42) returns a byte string with 42 NUL characters
instead of b'42'.
2015-08-27 22:15:56 +03:00
Marius Gedminas
df1b41d3d3
Avoid types.NoneType
...
types.NoneType was removed in Python 3.
None is a singleton in Python, so 'x is None' is equivalent to
'isinstance(x, NoneType)'.
2015-08-27 22:15:56 +03:00
Marius Gedminas
da1e611b26
Support print as a function
...
I neglected the __future__ import because
print(one_thing)
works the same way even when print is a statement.
2015-08-27 22:15:56 +03:00
Marius Gedminas
39196ec91e
Drop the L suffix on numerical constants
...
Python has had automatic int-to-long promotion for a long long time now.
Even Python 2.4 does that automatically.
Python 3 drops support for the L suffix altogether.
2015-08-27 22:15:04 +03:00
Marius Gedminas
0eb538df03
Use 0oNNN octal syntax
...
This syntax is valid in Python 2.6+ and 3.x.
2015-08-27 22:15:04 +03:00
Marius Gedminas
47b088504d
Don't mix tabs and spaces
...
It's not allowed in Python 3 and merely a bad idea in Python 2.
2015-08-27 22:15:04 +03:00
Marius Gedminas
0c6ce31f76
Use 'except ... as' syntax
...
This syntax works on Python 2.6 through 3.x. lib/ansible/module_utils
(and lib/ansible/modules) need to support Python 2.4, so I didn't touch
those.
2015-08-27 22:15:04 +03:00
Brian Coca
2ac931d6c9
ported module_docs to use display
2015-08-27 14:57:50 -04:00
Brian Coca
2b28cdc0dd
be more tolerant with non list descriptions
2015-08-27 14:57:50 -04:00
Toshio Kuratomi
86b2982005
Merge pull request #12112 from amenonsen/vault-stdio
...
Implement cat-like filtering behaviour for encrypt/decrypt
2015-08-27 11:26:48 -07:00
Toshio Kuratomi
db4a96a8d6
Merge pull request #12078 from amenonsen/hash_merge
...
Add hash_merge and hash_merge_recursive filters with documentation
2015-08-27 11:12:49 -07:00
Abhijit Menon-Sen
b328bc023d
Add a combine filter with documentation
...
This is based on some code from (closed) PR #7872 , but reworked based on
suggestions by @abadger and the other core team members.
Closes #7872 by @darkk (hash_merge/hash_replace filters)
Closes #11153 by @telbizov (merged_dicts lookup plugin)
2015-08-27 23:29:12 +05:30
James Cammarata
2df6513f8d
Version bump for v2.0.0-0.1.alpha1 and submodule updates
2015-08-27 13:43:37 -04:00
Brian Coca
6c9dc78d8c
Merge pull request #12126 from amenonsen/vault-aes-deprecate
...
Remove deprecated and unused VaultAES encryption code
2015-08-27 13:09:28 -04:00
James Cammarata
1170a453c8
Merge pull request #12114 from ilya-epifanov/devel
...
fixed hostvars access in conjunction with --limit usage
2015-08-27 12:54:23 -04:00
Abhijit Menon-Sen
090cfc9e03
More helpful prompts from ansible-vault encrypt/decrypt
...
Now we issue a "Reading … from stdin" prompt if our input isatty(), as
gpg does. We also suppress the "x successful" confirmation message at
the end if we're part of a pipeline.
(The latter requires that we not close sys.stdout in VaultEditor, and
for symmetry we do the same for sys.stdin, though it doesn't matter in
that case.)
2015-08-27 22:04:18 +05:30
Abhijit Menon-Sen
b6de6e69a6
Also support output to stdout with no arguments
...
This allows "cat plaintext|ansible-vault encrypt > ciphertext".
2015-08-27 22:04:18 +05:30
Abhijit Menon-Sen
e7eebb6954
Implement cat-like filtering behaviour for encrypt/decrypt
...
This allows the following invocations:
# Interactive use, like gpg
ansible-vault encrypt --output x
# Non-interactive, for scripting
echo plaintext|ansible-vault encrypt --output x
# Separate input and output files
ansible-vault encrypt input.yml --output output.yml
# Existing usage (in-place encryption) unchanged
ansible-vault encrypt inout.yml
…and the analogous cases for ansible-vault decrypt as well.
In all cases, the input and output files can be '-' to read from stdin
or write to stdout. This permits sensitive data to be encrypted and
decrypted without ever hitting disk.
2015-08-27 22:04:18 +05:30
Abhijit Menon-Sen
32b38d4e29
Fix add_option indentation for consistency before adding another option
2015-08-27 22:04:18 +05:30
Abhijit Menon-Sen
8fc8bf9439
Simplify VaultEditor methods
...
We don't need to keep creating VaultLibs everywhere, and we don't need
to keep checking for errors because VaultLib does it already.
2015-08-27 22:04:18 +05:30
Abhijit Menon-Sen
e99395f0c0
Don't create a VaultLib in each method; do it in __init__ instead
2015-08-27 22:04:18 +05:30
Abhijit Menon-Sen
159887a6c9
Remove deprecated and unused VaultAES encryption code
...
Now that VaultLib always decides to use AES256 to encrypt, we don't need
this broken code any more. We need to be able to decrypt this format for
a while longer, but encryption support can be safely dropped.
2015-08-27 16:54:39 +05:30
maty0609
52e94468c9
Merge remote-tracking branch 'ansible/devel' into devel
2015-08-27 10:29:48 +01:00
maty0609
6f24e6f994
Adding support for Archlinux and Slackware in fallback
...
In some cases Archlinux and Slackware is not detected by
platform.dist(). This should solve the issue.
2015-08-27 10:22:02 +01:00
Brian Coca
b2bfe3502b
make sure delimiter is basestring for cvsfile
...
fixes #12062
2015-08-26 18:38:39 -04:00
Ilya Epifanov
81bf88b6e0
fixed hostvars access in conjunction with --limit usage
2015-08-27 00:15:26 +03:00
James Cammarata
0441a7a217
Finishing off porting of chroot connection plugin
2015-08-26 16:43:06 -04:00
Toshio Kuratomi
017bd7b1cd
Fix synchronize lookup of localhost info
2015-08-26 13:36:50 -07:00
James Cammarata
50448d68e1
Implement max_fail_percentage and any_errors_fatal support
...
Fixes #11997
2015-08-26 12:03:47 -04:00
James Cammarata
af41ba929c
Add float and percent types for FieldAttributes
...
Also sets the max_fail_percentage value to the percent type.
2015-08-26 12:03:47 -04:00
Brian Coca
b2ae6945c4
always load vars plugins
...
fixes #12104
2015-08-26 11:40:53 -04:00
Travis Paul
604f825a8e
Update "smart" transport to handle Sun_SSH_1.5 on SmartOS
2015-08-26 15:00:45 +00:00
Toshio Kuratomi
111c0cc204
Merge pull request #12106 from amenonsen/vault-cleanups
...
Vault cleanups, pass #1
2015-08-26 07:30:13 -07:00
Abhijit Menon-Sen
b84053019a
Make the filename the first argument to rekey_file
2015-08-26 19:54:59 +05:30
Toshio Kuratomi
5df5a14edc
Merge pull request #12101 from tquenolle/devel
...
Synchronize fix error
2015-08-26 07:03:13 -07:00
Abhijit Menon-Sen
20fd9224bb
Pass the filename to the individual VaultEditor methods, not __init__
...
Now we don't have to recreate VaultEditor objects for each file, and so
on. It also paves the way towards specifying separate input and output
files later.
2015-08-26 19:17:37 +05:30
Brian Coca
82603bb2a0
avoids running abspath on None
2015-08-26 09:28:23 -04:00
Abhijit Menon-Sen
a27c5741a1
Remove inaccurate outdated comment
2015-08-26 18:31:45 +05:30
Abhijit Menon-Sen
f91ad3dabe
Don't pass the cipher around so much
...
It's unused and unnecessary; VaultLib can decide for itself what cipher
to use when encrypting. There's no need (and no provision) for the user
to override the cipher via options, so there's no need for code to see
if that has been done either.
2015-08-26 18:31:45 +05:30
Abhijit Menon-Sen
017566a2d9
Use AES256 if the cipher is not write-whitelisted
2015-08-26 18:09:21 +05:30
Abhijit Menon-Sen
47bcdf5952
Remove incorrect copy-pasted comment
2015-08-26 18:09:21 +05:30
Thomas Quenolle
c948af3b1e
Synchronize fix error
...
Fix the error:
"RuntimeError: dictionary changed size during iteration"
2015-08-26 11:01:00 +02:00
James Cammarata
601a1cc6d9
Multiple fixes for include statements and blocks in general
...
Fixes #11981
Fixes #11995
Fixes #12039
Fixes #12077
2015-08-26 02:23:22 -04:00
Brian Coca
154754ae50
pushed module_loader to task_queue_manager so all cli's can benefit from it
...
also normalized -M option across all cli
fixes #12016
2015-08-25 18:14:03 -04:00
Toshio Kuratomi
d2c948dd6a
Remove decrypted vault temp_file mistakenly left from patch making vault edit idempotent
...
This bug was introduced in commit f8bf2ba
on July 27. Hasn't gone out
in a release yet.
2015-08-25 14:51:32 -07:00
Toshio Kuratomi
56ae3a032f
Merge pull request #12075 from ansible/fix-vault-unicode
...
Unicode and other fixes for vault
2015-08-25 14:49:15 -07:00
Toshio Kuratomi
a3fd4817ef
Unicode and other fixes for vault
2015-08-25 12:43:09 -07:00
Toshio Kuratomi
16e8a7dd67
Merge pull request #11767 from amenonsen/vault-new-password-file
...
add option to ansible-vault to read new password from file for rekey
2015-08-25 10:15:27 -07:00
Toshio Kuratomi
156feec264
Merge pull request #11650 from objectified/feature-docker-connection
...
allow ansible to connect to docker containers (without using ssh)
2015-08-25 09:28:25 -07:00
Abhijit Menon-Sen
8bf0dbb7a9
Use [x:y] host ranges instead of [x-y]
...
This commit deprecates the earlier groupname[x-y] syntax in favour of
the inclusive groupname[x:y] syntax. It also makes the subscripting
code simpler and adds explanatory comments.
One problem addressed by the cleanup is that _enumeration_info used to
be called twice, and its results discarded the first time because of the
convoluted control flow.
2015-08-25 21:17:24 +05:30
Abhijit Menon-Sen
73f10de386
Document the behaviour of _match_one_pattern in some detail
...
The possibilities are complicated enough that I didn't want to make
changes without having a complete description of what it actually
accepts/matches. Note that this text documents current behaviour, not
necessarily the behaviour we want. Some of this is undocumented and may
not be intended.
2015-08-25 21:17:24 +05:30
Abhijit Menon-Sen
fa6ffa1dbd
Remove & and ! pattern prefixes as early as possible
...
Now everything under _match_one_pattern can ignore them. This also means
that we can use the cache to return the same results for 'foo' and '!foo'.
2015-08-25 21:17:24 +05:30
Abhijit Menon-Sen
704c3815d3
Reorder functions into a logical sequence based on usage
...
There are no code changes; this is committed separately so as to make
the subsequent "real" diffs easier to read.
2015-08-25 21:17:24 +05:30
Richard Poole
3090a45891
add option to ansible-vault to read new password from file for rekey
...
The --new-vault-password-file option works the same as
--vault-password-file but applies only to rekeying (when
--vault-password-file sets the old password). Also update the manpage
to document these options more fully.
2015-08-25 21:14:49 +05:30
Brian Coca
ae91cdfc98
fixed environment inheritance
2015-08-25 10:15:32 -04:00