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
Brian Coca
8aa732e0a4
allow for lists, sets and dicts to default to None, now return empty type in post processing
...
remove defaults from inhertiable fieldattributes to allow for proper detection and override
2015-08-25 10:14:28 -04:00
Marius Gedminas
44c94328c8
Speed up execution
...
`if method in dir(self):` is very inefficient:
- it must construct a list object listing all the object attributes & methods
- it must then perform a O(N) linear scan of that list
Replace it with the idiomatic `if hasattr(self, method):`, which is a
O(1) expected time hash lookup.
Should fix #11981 .
2015-08-25 16:07:21 +03:00
Rene Moser
3db4039ad1
cloudstack: implement general api_region support, update docs
2015-08-25 13:54:21 +02:00
objectified
b1785a0361
replace compare_versions() with distutils.version
2015-08-25 02:18:37 -04:00
objectified
c39fb43ad9
added Maintainer comment header
2015-08-25 02:06:01 -04:00
Toshio Kuratomi
1f7b0fee0a
Fixes #12076
2015-08-24 19:07:04 -07:00
Brian Coca
17060f9849
remove +1 from size that was cutting off first char of copied files when a recursive dir
...
fixes #12055
2015-08-24 21:10:03 -04:00
Toshio Kuratomi
6e107d2f22
Comments pointing the way towards substituting cryptography for pycrypto
2015-08-24 15:50:37 -07:00
Brian Coca
16f3f8e244
now does not error out when notes are not included in module
2015-08-24 13:24:58 -04:00
objectified
d9723069c5
align exec_command() definition with local.py
2015-08-24 12:32:11 -04:00
objectified
3a5522a22c
fake being connected for logging purposes
2015-08-24 12:32:11 -04:00
objectified
8f2a6a9fae
use docker cp when docker >=1.8.0
2015-08-24 12:32:11 -04:00
objectified
2de773477f
allow ansible to connect to docker containers
2015-08-24 12:32:11 -04:00
James Cammarata
21e421ce53
Validate required list items are not None or empty strings
...
Fixes #12011
2015-08-24 11:44:28 -04:00
James Cammarata
db65503778
Revert "Add PowerShell exception handling and turn on strict mode."
2015-08-23 21:09:16 -04:00
Abhijit Menon-Sen
3aedc0bca9
Don't insist on ansible-vault taking only one filename parameter
...
Apart from ansible-vault create, every vault subcommand is happy to deal
with multiple filenames, so we can check that there's at least one, and
make create check separately that there aren't any extra.
2015-08-23 17:52:51 -04:00
Brian Coca
f1b8323b62
fixed host/group var loading when inventory is a directory
2015-08-23 17:51:47 -04:00
Brian Coca
af06a97f17
kept vars as alias to hostvars[inventory_hostname] and avoid subtrees into themselves
2015-08-23 17:51:47 -04:00
Brian Coca
3ccfebc9f7
Merge pull request #12047 from cchurch/powershell_common_cleanup
...
Add PowerShell exception handling and turn on strict mode.
2015-08-23 14:08:18 -04:00
Brian Coca
a4ffa09414
Merge pull request #11880 from bcoca/configurable_squash
...
made squashable with_ plugin list configurable
2015-08-23 13:32:15 -04:00
Abhijit Menon-Sen
09e4eac2e5
Use rsplit(':',1) for clarity; no functional changes
2015-08-23 22:52:35 +05:30
Ryan Petrello
1886307845
Fix a parsing bug that prevents IPv6 addresses from being used with add_host
...
Closes #8682
2015-08-23 22:50:47 +05:30
Chris Church
4b2cdadc98
Add PowerShell exception handling and turn on strict mode.
...
* Add exception handling when running PowerShell modules to provide exception message and stack trace.
* Enable strict mode for all PowerShell modules and internal commands.
* Update common PowerShell code to fix strict mode errors.
* Fix an issue with Set-Attr where it would not replace an existing property if already set.
* Add tests for exception handling using modified win_ping modules.
2015-08-22 18:28:07 -04:00
Brian Coca
47d9e7ca93
Merge pull request #11984 from Alphadelta14/devel
...
Support any Mapping for with_dict lookup.
2015-08-22 12:39:42 -04:00
James Cammarata
0958edfc7c
Submodule pointer update
2015-08-22 12:39:04 -04:00
Brian Coca
e8157eab19
now output works for both search and info
2015-08-22 02:42:21 -04:00
Brian Coca
a6c0661d21
made src more prominent
2015-08-22 02:33:17 -04:00
Brian Coca
6ffd9c3025
draft galaxy cli search
...
TODO: paging results
2015-08-22 02:28:27 -04:00
James Cammarata
e282309f6d
Make sure the inventory restriction is not None
2015-08-21 16:08:21 -04:00
James Cammarata
635fa0757b
Several var fixes
...
* Fixes hostvar serialization issue (#12005 )
* Fixes regression in include_vars from within a role (#9498 ), where
we had the precedence order for vars_cache (include_vars, set_fact)
incorrectly before role vars.
* Fixes another bug in which vars loaded from files in the format of
a list instead of dictionary would cause a failure.
Fixes #9498
Fixes #12005
2015-08-21 12:02:23 -04:00
Brian Coca
144da7e7d1
Merge pull request #11765 from ldx/vault_pbkdf2hmac
...
Use PBKDF2HMAC() from cryptography for vault keys.
2015-08-21 11:06:00 -04:00
Brian Coca
f150fe2c23
moved mandatory back to filters as it does not always return a boolean, it does an exception on failure
2015-08-21 09:54:56 -04:00
Brian Coca
2787b3acac
ported consul_kv lookup from v1
2015-08-21 00:22:20 -04:00
Brian Coca
74079db8d2
ported dig lookup from v1
2015-08-21 00:22:01 -04:00
Brian Coca
9bb95b5235
Merge pull request #12031 from amenonsen/deadcode
...
Remove unused (copied) _before_comment method
2015-08-20 23:36:56 -04:00
Brian Coca
f6b6ed530b
added file tests
2015-08-20 22:04:21 -04:00
Brian Coca
cd4a0c70b0
isnotanumber is not needed as jinja2 has builtin number test
2015-08-20 22:04:20 -04:00
Brian Coca
fe06577ac2
fixed mandatory test
2015-08-20 22:04:20 -04:00
Abhijit Menon-Sen
599ad9cb51
Remove unused (copied) _before_comment method
...
This was copied from inventory/ini.py, but the rewritten version doesn't
use it, and shows that it isn't needed.
2015-08-21 06:58:23 +05:30
Toshio Kuratomi
b5a078a385
update submodule refs
2015-08-20 15:41:05 -07:00
Abhijit Menon-Sen
745ecd4845
Sanitize IPv6 hostname/port handling
...
Now we accept IPv6 addresses _with port numbers_ only in the standard
[xxx]:NN notation (though bare IPv6 addresses may be given, as before,
and non-IPv6 addresses may also be placed in square brackets), and any
other host identifiers (IPv4/hostname/host pattern) as before, with an
optional :NN suffix.
2015-08-20 22:06:44 +05:30
Abhijit Menon-Sen
74aab6f726
Use a self._raise_error helper and avoid passing the lineno around
...
Based on a patch by @Richard2ndQuadrant.
2015-08-20 22:05:17 +05:30
Abhijit Menon-Sen
9133cd409c
Make _parse take an array of input lines as an argument
...
(There's no compelling reason to do this right now, but should be parser
need to be called multiple times in future, this makes it easier.)
2015-08-20 22:05:17 +05:30
Abhijit Menon-Sen
98a1905796
Rename 'section' to 'groupname' to better reflect its purpose
2015-08-20 22:05:17 +05:30
Abhijit Menon-Sen
1284c49bd7
Rewrite the INI InventoryParser
...
The new code parses INI-format inventory files in a single pass using a
well-documented state machine that reports precise errors and eliminates
the duplications and inconsistencies and outright errors in the earlier
three-phase parsing code (e.g. three ways to skip comments). It is also
much easier now to follow what decisions are being taken on the basis of
the parsed data. The comments point out various potential improvements,
particularly in the area of consistent IPv6 handling.
On the ornate marble tombstone of the old code, the following
inscription is one last baffling memento from a bygone age:
- def _before_comment(self, msg):
- ''' what's the part of a string before a comment? '''
- msg = msg.replace("\#","**NOT_A_COMMENT**")
- msg = msg.split("#")[0]
- msg = msg.replace("**NOT_A_COMMENT**","#")
- return msg
2015-08-20 22:05:17 +05:30
Jon Hawkesworth
a46b500851
Add win_splitdrive filter for windows users
2015-08-20 13:54:54 +01:00
Toshio Kuratomi
4f32a61504
Merge pull request #10957 from feanil/feanil/retain_nonetypes
...
Don't convert nulls to strings.
2015-08-19 19:43:27 -07:00
Brian Coca
e8b86f448d
fix issue with improper connection override in delegation
2015-08-19 20:36:08 -04:00
Feanil Patel
892e230514
Don't convert nulls to strings.
...
This change is similar to https://github.com/ansible/ansible/pull/10465
It extends the logic there to also support none types. Right now if you have
a '!!null' in yaml, and that var gets passed around, it will get converted to
a string.
eg. defaults/main.yml
```
ENABLE_AWESOME_FEATURE: !!null # Yaml Null
OTHER_CONFIG:
secret1: "so_secret"
secret2: "even_more_secret"
CONFIG:
hostname: "some_hostname"
features:
awesame_feature: "{{ ENABLE_AWESOME_FEATURE}}"
secrets: "{{ OTHER_CONFIG }}"
```
If you output `CONFIG` to json or yaml, the feature flag would get represented in the output
as a string instead of as a null, but secrets would get represented as a dictionary. This is
a mis-match in behaviour where some "types" are retained and others are not. This change
should fix the issue.
I also updated the template test to test for this and made the changes to v2.
Added a changelog entry specifically for the change from empty string to null as the default.
Made the null representation configurable.
It still defaults to the python NoneType but can be overriden to be an emptystring by updating
the DEFAULT_NULL_REPRESENTATION config.
2015-08-19 18:35:07 -04:00
Brian Coca
22a69e2498
fixes to delegation code
2015-08-19 15:49:37 -04:00
Brian Coca
36cbd771a4
changed fixme to deprecated
2015-08-19 15:49:37 -04:00
Brian Coca
961bee00d5
centralized the definition of 'localhost'
2015-08-19 15:49:37 -04:00
Rene Moser
d16429b59c
cloudstack: rename returns for consistency
2015-08-19 21:25:19 +02:00
Abhijit Menon-Sen
2641f70e47
Reset self._groups_cache in refresh_inventory
2015-08-19 11:35:27 +05:30
Harald Laabs
73d6da757f
Make get_group run in O(n*log(n)) instead of O(n^2) by using a cache
2015-08-19 11:35:27 +05:30
Brian Coca
1b810e3101
Merge pull request #12000 from bcoca/local_action_connect
...
changed local_action to alias to connection=local vs delegate_to=locahost
2015-08-19 00:34:03 -04:00
Will West
b8865314ec
improve ansible start up time for very large inventory
...
first off, we add an oddly slow basic test of 10k item inventory
Before:
```
Ran 229 tests in 13.214s
OK
real 0m13.403s
user 0m12.106s
sys 0m1.155s
```
After:
```
Ran 230 tests in 21.328s
OK
real 0m21.516s
user 0m20.099s
sys 0m1.275s
```
since that seems like a bit long for the test to add to runtime, lets profile
`python -m cProfile -s time ./bin/ansible all -i test/units/inventory_test_data/huge_range --list-hosts`
Before:
```
1272607 function calls (1259689 primitive calls) in 8.497 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
10000 4.393 0.000 4.396 0.000 __init__.py:395(_get_host)
20000 2.695 0.000 2.697 0.000 __init__.py:341(__append_host_to_results)
40369 0.113 0.000 0.113 0.000 {posix.lstat}
50006 0.102 0.000 0.153 0.000 __init__.py:1490(combine_vars)
40008 0.089 0.000 0.202 0.000 __init__.py:1546(_load_vars_from_path)
20195 0.088 0.000 0.088 0.000 {posix.stat}
10011 0.087 0.000 0.087 0.000 {posix.getcwd}
```
The top two lines are promising optimization targets
- populate Inventory's host cache more in _get_host, as we are looping
over all the groups anyways.
- eliminate duplicate check of whether we've already included a host
in the construction around __append_host_to_results we can infer
presence of a host in the results list implies the presence of its
name in the hostnames set, allowing us to only to the less expensive
of the two checks
After:
```
1252610 function calls (1239692 primitive calls) in 1.320 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
40369 0.105 0.000 0.105 0.000 {posix.lstat}
50006 0.094 0.000 0.141 0.000 __init__.py:1490(combine_vars)
40008 0.081 0.000 0.184 0.000 __init__.py:1546(_load_vars_from_path)
10011 0.080 0.000 0.080 0.000 {posix.getcwd}
20195 0.074 0.000 0.074 0.000 {posix.stat}
10002 0.069 0.000 0.261 0.000 __init__.py:1517(load_vars)
```
2015-08-19 09:45:02 +05:30
Brian Coca
7a4a156d91
changed local_action to alias to connection=local vs delegate_to=localhost
...
fixes #11998 , but still leaves issue of delegate_to: localhost not working
2015-08-18 18:31:29 -04:00
Brian Coca
f2c6785897
Merge pull request #11989 from bcoca/osx_queue_fix
...
changed check to avoid OS X broken sem_getvalue()
2015-08-18 09:58:21 -04:00
Brian Coca
26ed50ecdf
fixed indent
2015-08-18 09:58:25 -04:00
Brian Coca
2198f48f54
changed check to avoid OS X broken sem_getvalue()
...
fixes #11988
2015-08-18 03:46:20 -04:00
Brian Coca
e081a73aa1
make new inventory config take precedence over old hostfile config
...
fixes #11907
2015-08-18 03:29:14 -04:00
Brian Coca
17b4b1f85c
added ability to limit in ansilbe pull
...
refactored the options a bit, new inventory_opts made sense to always group
fixes #7917
2015-08-18 03:17:58 -04:00
Brian Coca
1acb29ff9b
sequence will now run once for start=end, added test to suite
...
fixes #11979
2015-08-18 02:33:23 -04:00
Brian Coca
ee21ebaffc
Merge pull request #11975 from mutemule/become_doas
...
Add become support for OpenBSD doas
2015-08-17 21:36:03 -04:00
Damian Gerow
1c5611100e
Add become support for OpenBSD doas
2015-08-17 21:31:18 -04:00
Alphadelta14
77b60a1a67
Support any Mapping for with_dict lookup.
...
This resolves 3939348286
breaking `with_dict: hostvars`.
2015-08-17 20:11:24 -04:00
Brian Coca
c419cacb04
check if host task is none before continuing
...
fixes #11982
2015-08-17 18:56:04 -04:00
James Cammarata
e7b2308b66
Performance improvements
...
* Speed up serialization of hostvars by simply using the internal
dictionary used for cached lookups
* Use blocking gets/puts on queues instead of spin locking
* Merge sequential implicitly created blocks
2015-08-17 13:46:57 -04:00
Brian Coca
4068598c15
Merge pull request #11977 from resmo/for-ansible
...
cloudstack: add more common returns
2015-08-17 12:32:44 -04:00
Rene Moser
2913d2b44d
cloudstack: add more common returns
2015-08-17 08:21:37 +02:00
Brian Coca
6058eaa92f
removed unused poller
2015-08-16 20:12:06 -04:00
Brian Coca
9b61cf5840
implemented async tasks in adhoc v2
2015-08-16 20:05:10 -04:00
Brian Coca
ee2e31b37a
now passes the test of skipping list when dict attribute is undefined, added deprecation warning as this seems like bad behaviour
2015-08-16 10:16:02 -04:00
Brian Coca
950622cebd
made sure they all look in files/vars/template dirs also when executed in play and not only from task
2015-08-16 02:37:21 -04:00
Brian Coca
861fdfc5ba
updated callbacks to properly test diff no matter if dict or list
2015-08-16 02:37:21 -04:00
Brian Coca
79ea6d3a1e
copy now passes a list of diffs
2015-08-16 02:37:21 -04:00
Brian Coca
c3372936aa
diff can now be a list
2015-08-16 02:37:21 -04:00
Brian Coca
13c91ef9d4
actually use the read source contents for the diff
2015-08-16 02:37:21 -04:00
Brian Coca
45cebd283f
added remote_src to copy, now allows copying to be done on the target server
2015-08-16 02:37:21 -04:00
Brian Coca
1b7369cc8d
added diff to assemble for remote_src=false
2015-08-16 02:37:21 -04:00
Brian Coca
f048aca5f6
runas placeholder
2015-08-16 02:37:21 -04:00
Brian Coca
49eb95e2d1
some fixes to become/sudo
...
* now it uses -n to get immediate error if no password is supplied and one is needed,
this should fix the issue with sudo hanging waiting for input.
* made -k configurable, this can break changing become_users in play if left out,
but opens up the possiblity of OTP support.
2015-08-15 12:17:40 -04:00
James Cammarata
4836641683
Use ansible_python_interpreter value for remote checksums
...
Fixes #11968
Fixes #11969
2015-08-15 12:00:55 -04:00
Brian Coca
7a51836530
check for failure in fact gathering
2015-08-15 11:29:10 -04:00
Brian Coca
1edae51e05
added generic service module, step #1 to separating services to their own modules
...
falls back to current service module and requries service mgr facts and new service modules
2015-08-15 11:00:26 -04:00
Brian Coca
172e0c328c
fixed adhoc fact gathering
2015-08-15 11:00:10 -04:00
Brian Coca
0381923333
fixed call to setup module
2015-08-15 10:50:22 -04:00
Brian Coca
92e2f54228
fixed issues with utf-8 encoding in docs, moved pager to use display class instad of bare prints
2015-08-14 22:00:48 -04:00
Brian Coca
245e0dd4b7
made returns from next task consistent to avoid typeerrors, also linear now checks for none
...
fixes #11965
2015-08-14 18:07:14 -04:00
Brian Coca
9f5e4c0ef6
lookup plugin that does no flattening
2015-08-14 17:05:41 -04:00
Abhijit Menon-Sen
8f231ec469
Tweak deprecation warning, and apply it to --limit also
2015-08-14 10:55:13 +05:30
James Cammarata
4714cbeec8
Override post validation of environment to allow bare variables
...
Also prints a deprecated warning if a bare variable is detected, so
that we can remove this in a future version.
Fixes #11912
2015-08-14 00:33:36 -04:00
James Cammarata
4dba30ccd0
Cleanup missed merge conflict sections
2015-08-13 15:05:58 -04:00
Abhijit Menon-Sen
d41db8edd6
Don't accept undocumented "p1;p2" patterns; note in changelog
...
The correct (and now only) way to say p1 OR p2 is "p1:p2".
2015-08-13 14:54:12 -04:00
Abhijit Menon-Sen
1437b8e120
Introduce _split_pattern to parse an "x:y:z" pattern
...
This function takes a string like 'foo:bar[1:2]:baz[x:y]-quux' and
returns a list of patterns ['foo', 'bar[1:2]', 'baz[x:y]-quux'], i.e.
splits the string on colons that are not part of a range specification.
2015-08-13 14:54:12 -04:00
James Cammarata
32034feec5
Add deprecation warning regarding host patterns
2015-08-13 14:51:08 -04:00
Abhijit Menon-Sen
6bf6b9fdbb
Rename some internal functions, clarify what they do
...
get_hosts → used externally, not changed
_get_hosts → _evaluate_patterns (takes a list, evaluates ! and &)
__get_hosts → _match_one_pattern (takes one pattern only, ignores !&)
2015-08-13 14:51:08 -04:00
Abhijit Menon-Sen
eff33bac49
Don't accept undocumented "p1;p2" patterns; note in changelog
...
The correct (and now only) way to say p1 OR p2 is "p1:p2".
2015-08-13 14:51:08 -04:00
Abhijit Menon-Sen
8aaa06dd50
Introduce _split_pattern to parse an "x:y:z" pattern
...
This function takes a string like 'foo:bar[1:2]:baz[x:y]-quux' and
returns a list of patterns ['foo', 'bar[1:2]', 'baz[x:y]-quux'], i.e.
splits the string on colons that are not part of a range specification.
2015-08-13 14:51:08 -04:00
Abhijit Menon-Sen
baf637b9ae
Remove dead code: Inventory.also_restrict_to/lift_also_restriction
...
This was used earlier to implement serial, but that's now done using
restrict_to_hosts() (whose docstring is also suitably adjusted here)
and there are no more callers.
2015-08-13 14:51:08 -04:00
James Cammarata
6c036c3633
Template parent include file paths
...
Fixes #11955
2015-08-13 13:01:45 -04:00
Brian Coca
b905f51341
fixed typo
2015-08-13 11:05:20 -04:00
Brian Coca
8af0ff4a58
Merge pull request #11567 from lekum/shelvefile_lookup
...
Add shelvefile lookup plugin
2015-08-13 10:47:44 -04:00
Brian Coca
fbc7224066
Merge pull request #11643 from bcoca/meta_inventory_and_fixes
...
Meta inventory and fixes
2015-08-13 10:36:57 -04:00
James Cammarata
eb381bd522
Add one more search path to path_dwim_relative
2015-08-13 09:53:09 -04:00
Brian Coca
c6733cc1a7
Merge pull request #9225 from qvicksilver/aix_unprivileged
...
AIX unprivileged facts collection
2015-08-12 23:48:44 -04:00
Brian Coca
5027f66562
Merge pull request #11864 from jhawkesworth/win_path_filters
...
add win_basename and win_dirname filters
2015-08-12 23:46:15 -04:00
James Cammarata
a498876bec
Make sure playbook includes use unique var dictionaries before modification
2015-08-12 23:38:47 -04:00
Brian Coca
5fec11f513
capture parsing exceptions and give nice error and location
2015-08-12 23:27:00 -04:00
Brian Coca
621b18c6ef
fixed source path discovery for unarchive in roles
...
fixes #11943
2015-08-12 22:50:30 -04:00
Brian Coca
70d024ffce
show errors when missing vars file or when there is syntax issue in the file
...
fixes #11945
2015-08-12 22:39:06 -04:00
Brian Coca
3d9875773b
Merge pull request #11947 from resmo/for-ansible
...
cloudstack: refactor get_result()
2015-08-12 17:46:18 -04:00
Brian Coca
2c34a5bdbd
pass list correctly to lookup
2015-08-12 17:42:06 -04:00
James Cammarata
dd67b1e4d6
Adjust relative include searches when roles are involved
...
Fixes #11895
2015-08-12 17:15:52 -04:00
Rene Moser
4f3c863b42
cloudstack: refactor get_result()
...
* A commen dict of keys has been defined, which we look in results returned from the API.
* self.returns dict can be use in subclass to extend this dict.
* Optionally the key name can be replaced with a new key name, often used to make the return keys identical to the arguments passed.
* Use new style class
2015-08-12 23:14:17 +02:00
James Cammarata
d9833f227f
Make sure cached data from file loads isn't impacted by modifications
...
Fixes #11893
2015-08-12 14:30:43 -04:00
Brian Coca
6bceee9a93
now lvs/vg facts are only attempted if binary found
2015-08-12 10:53:13 -04:00
James Cammarata
c7dde72aa0
Default listify to converting bare variables again
...
Since we explicitly set convert_bare=False in the template lookup
code, but still want individual looks that call listify directly to
convert bare variables if needed.
2015-08-12 10:49:46 -04:00
James Cammarata
ac66e4001c
Fix for variable precedence with tasks/includes
...
Fixes #11881
2015-08-12 10:49:45 -04:00
Brian Coca
2688edb32b
Merge pull request #11940 from alxgu/fix_lvm_facts
...
bugfix: missing path for lvm facts
2015-08-12 10:49:14 -04:00
Brian Coca
39f81a8fa5
removed unused imports
2015-08-12 10:35:49 -04:00
Brian Coca
c27978fa93
minor fixes to pull
2015-08-12 10:35:49 -04:00
Brian Coca
9f29e39dea
give more matching options for ansible-pull
2015-08-12 10:35:49 -04:00
Brian Coca
e46b1e8d2b
adjusted tree to work more like v1, also now skips when dir not supplied
2015-08-12 10:35:49 -04:00
Alexander Gubin
1ea1b9fb13
bugfix: missing path for lvm facts
2015-08-12 16:35:31 +02:00
Brian Coca
49d88cef9c
meta: refresh_inventory and several inventory fixes
2015-08-12 10:35:12 -04:00
Brian Coca
8e30e3791e
Merge pull request #11811 from amenonsen/fixme-range
...
FIXME in host range parsing
2015-08-12 09:06:39 -04:00
Brian Coca
ae9d264b86
Merge pull request #11762 from amenonsen/9795-rebase
...
Add LVM facts to setup module
2015-08-12 08:55:08 -04:00
James Cammarata
829a88b906
Disable undefined error failures during conditional templating
...
This allows us to properly catch the 'is defined' and 'is undefined'
checks and return the correct boolean result.
Fixes #11892
2015-08-12 07:37:03 -04:00
James Cammarata
e0b074000e
Merge pull request #11764 from lpirl/devel_v2
...
fixes remote code execution for su/sudo with strict remote umasks
2015-08-11 22:30:44 -04:00
James Cammarata
38eb53de1d
Fix bug in vars using correct temp value for vars
...
Fixes #11877
2015-08-11 21:23:37 -04:00
Brian Coca
4d853a5d3c
implemented for v2, missing --tree option for adhoc
2015-08-11 19:18:10 -04:00
Brian Coca
79a1bca010
avoid circular import
2015-08-11 17:20:48 -04:00
Brian Coca
a83b8220ef
added import back
2015-08-11 16:42:51 -04:00
Brian Coca
6e825e8c22
fixed listify for lookups, made sure convert_bare is only on with_
2015-08-11 16:42:09 -04:00
James Cammarata
adb9d7e461
Track role execution per-host, not overall in the role
...
Fixes #11863
Fixes #11878
2015-08-11 16:34:58 -04:00
Rene Moser
e62fbf5fba
cloudstack: add get_result() in utils to return common results
2015-08-11 18:03:50 +02:00
James Cammarata
f904acbd14
Fixing bug related to listify changes
2015-08-11 01:33:43 -04:00
James Cammarata
169d316704
Fixing bugs in include + loops
...
Fixes #11872
2015-08-11 01:33:43 -04:00
Brian Coca
7666bde666
updated hashi_vault to new listify, added to changelog
2015-08-10 21:10:00 -04:00
Brian Coca
4399ddc7da
Merge pull request #11674 from defionscode/hashi_vault_lookup
...
Hashicorp Vault lookup Plugin
2015-08-10 21:07:22 -04:00
Jonathan Davila
175068fdae
Hashicorp Vault lookup Plugin
2015-08-10 19:35:28 -04:00
Brian Coca
7e7b546c34
reinstated listify
2015-08-10 17:38:20 -04:00
Brian Coca
3e5dbd045f
fixed ref to removed var
2015-08-10 14:02:42 -04:00
Brian Coca
5c1d850fbb
now fixed to actually work
2015-08-10 13:51:56 -04:00
Brian Coca
ee365c881f
fixed typo
2015-08-10 13:44:52 -04:00
Brian Coca
c08305a31f
set script command itself to be sudable and not use the chmod sudoable settings as it can
...
ignore sudo settings for script when become_user is not root
fixes #11902
2015-08-10 13:19:37 -04:00
Toshio Kuratomi
d35b956900
listify lookup plugin terms when they're specified as "{{ lookup(terms) }}"
...
Before this, they were not listified there but they were listified when
specified like this:
with_lookup: terms
2015-08-10 09:07:37 -07:00
Brian Coca
dbab703265
fine tuned password handling as we were getting false positives, probably caused by other changes up the stack that now call these functions in more cases.
2015-08-07 16:27:25 -04:00
Brian Coca
6fcfebd21d
made sure we need becoem before we format the command, added debug entry also
2015-08-07 16:27:25 -04:00
Brian Coca
df768e0db4
fixed debug statement
2015-08-07 16:27:25 -04:00
Brian Coca
177499476b
fixed warning
2015-08-07 16:27:25 -04:00
Toshio Kuratomi
3ef49844db
Update core submodule ref
2015-08-07 12:28:56 -07:00
Brian Coca
8f106c9a58
Merge pull request #11078 from Yannig/devel
...
New lookup plugin : ini
2015-08-07 09:46:54 -04:00
Yannig Perré
07fcb50b9b
Porting ini lookup plugin against ansible v2.
2015-08-07 09:40:24 +02:00
Toshio Kuratomi
f1144752c4
Pull in docs fix from core modules
2015-08-06 21:11:49 -07:00
James Cammarata
e7d0c9f820
Re-add vars to Base and standardize var processing
...
Fixes #11779
2015-08-07 00:06:30 -04:00
Brian Coca
dbe7a9fe2f
Merge pull request #11857 from quinot/bug/playbook-init-comment
...
Minor comment fix
2015-08-06 23:39:08 -04:00
Brian Coca
3c57018a10
Merge pull request #11778 from Ensighten/add_credstash_plugin
...
add credstash lookup plugin
2015-08-06 23:27:18 -04:00
Brian Coca
d47d0b1d7f
now continue/abort mode allows ignoring other input
2015-08-06 22:16:30 -04:00
Brian Coca
a555a0652e
allow for vars_prompt and pause prompt to be skipped in non interactive settings
...
ansible-pull users rejoice
2015-08-06 19:20:45 -04:00
Toshio Kuratomi
ce52fdebe8
Pull in get_url checksum change
2015-08-06 15:45:23 -07:00
Brian Coca
29cd72b7d8
even simpler condition tree for pause
2015-08-06 18:40:15 -04:00
Brian Coca
dc80bc8929
now pause behaves like v1 pause
2015-08-06 18:09:59 -04:00
Brian Coca
f7707d8850
brought user_input back to pause
2015-08-06 17:49:14 -04:00
Toshio Kuratomi
00b1a2c865
Restore ValueError in md5 method and change finding the available hash algorithms so we only have to do it once
2015-08-06 14:40:28 -07:00
Brian Coca
15a20e814b
added tags back to ansible-pull
2015-08-06 17:37:05 -04:00
Brian Coca
5f0359c119
keep banners at 79
2015-08-06 17:37:05 -04:00
Brian Coca
25e67bb716
text wrap now adapts to terminal
2015-08-06 17:37:05 -04:00
Toshio Kuratomi
80cb69214b
Merge pull request #11840 from muffl0n/module_utils_hash_algorithms
...
Add get_available_hash_algorithms()
2015-08-06 14:29:31 -07:00
James Cammarata
d44daf53cc
Allow wrapped text in deprecated messages
2015-08-06 17:21:02 -04:00
James Cammarata
5eb092b331
Handle top-level vars for include tasks to match v1 syntax
...
The "streamlined" syntax will be deprecated at some point in the future.
Fixes #11882
2015-08-06 17:21:02 -04:00
Toshio Kuratomi
e16b24c01e
Update submodule ref
2015-08-06 08:45:09 -07:00
Toshio Kuratomi
e8452c864e
Restore the relative path handling portion of #11865
2015-08-06 07:28:22 -07:00
James Cammarata
26d5a17b59
Make sure inventory loads files with non-relative paths
...
This is a slightly different fix than we originally committed, but fixes
the problem in a less invasive way (and I believe it's generally better
that we don't deal with relative paths internally past this point)
Fixes #11789
2015-08-06 10:18:58 -04:00
Brian Coca
b9433650d1
Revert "Path of group_vars and host_vars were getting the basedir added twice."
...
in view of simpler solution incomming from james
This reverts commit bae7a02be5
.
2015-08-06 10:09:43 -04:00
Brian Coca
9f156e5550
updated submodule refs
2015-08-06 09:42:35 -04:00
Brian Coca
7bea04141b
Merge pull request #11865 from ansible/fix-group_vars_path
...
Path of group_vars and host_vars were getting the basedir added twice.
2015-08-06 09:40:13 -04:00
Brian Coca
08e6c1d82b
avoid possible errors with new broadcast handling in linux
2015-08-06 09:00:52 -04:00
Brian Coca
cb2cfaebda
started porting chroot to v2
2015-08-06 08:55:22 -04:00
Brian Coca
262c75c253
Merge pull request #10971 from mightydok/debbraoadcastfix
...
Add missed broadcast address to linux network facts.
2015-08-06 08:52:55 -04:00
Scott Cunningham
87ef53c962
credstash lookup plugin: python 2.6-compatible string.format()
2015-08-05 23:40:43 -07:00
Scott Cunningham
c4629b72e0
credstash lookup plugin: error out in run function when credstash not installed, not at module scope
2015-08-05 23:37:10 -07:00
Toshio Kuratomi
bae7a02be5
Path of group_vars and host_vars were getting the basedir added twice.
...
Fix inventory so this won't happen and fix DataLoader so that it will
test relative paths relative to self._basedir
Fixes #11789
2015-08-05 17:41:17 -07:00
Toshio Kuratomi
e7b5cb8782
Fix synchronize source path with roles and local connection
...
Fixes #8261
2015-08-05 13:32:12 -07:00
Toshio Kuratomi
dd7fa07038
Update submodule refs so synchronize plugin works
2015-08-05 13:19:28 -07:00
Toshio Kuratomi
308bf80055
Cleanups to synchronize including:
...
* Better comments
* Reorganize code so related settings are close to each other
* Add ::1 to the "localhost" patterns we look for
* Make the dest_port parameter override the ansible_ssh_port setting
* Fix dest_port (wasn't being set)
* more complete detection of delegate_to
* Fix set_remote_user (wasn't being looked for in parameters)
* Instead of removing mode here, have the ansible module accept it
(better documents the parameters doing it htat way)
2015-08-05 13:16:08 -07:00
James Cammarata
37e38924de
Allow field attributes to have priorities
...
So that roles are loaded ahead of all other play fields, meaning any
plugins contained within the roles are loaded first before tasks.
Fixes #11858
2015-08-05 13:54:00 -04:00
Jon Hawkesworth
f69da544f7
add win_basename and win_dirname filters
2015-08-05 18:38:15 +01:00
James Cammarata
fad44862a5
Implementing includes in the free strategy
2015-08-05 11:53:04 -04:00
Brian Coca
2b9b3a08a1
make sure you only update pci data if there is a match
2015-08-05 09:44:37 -04:00
Yannig Perré
09d257e637
Porting ini lookup plugin against ansible v2.
2015-08-05 12:07:16 +02:00
Thomas Quinot
5d3cb636ad
Minor comment fix
2015-08-05 11:30:26 +02:00
Yannig Perré
47db352725
Merge remote-tracking branch 'ansible/devel' into devel
2015-08-05 11:20:41 +02:00
Yannig Perré
733d40a77c
When value does not exist, return default value instead of stopping ansible with an exception.
2015-08-05 10:54:24 +02:00
James Cammarata
faf4c3bb6c
Merge pull request #11816 from amenonsen/ssh-ipv6
...
Fix ssh connections to IPv6 addresses
2015-08-05 00:10:34 -04:00
James Cammarata
dbd755e0f4
Fix jinja2 template search pathing
...
Fixes #9933
2015-08-04 22:50:16 -04:00
Scott Cunningham
934ce86d35
update credstash lookup plugin to use Python 2.4-compatible exception catching
2015-08-04 18:29:37 -07:00
James Cammarata
61e76fd707
Allow conditionals on PlaybookInclude statements
...
Fixes #11852
2015-08-04 15:24:28 -04:00
James Cammarata
b6c3e5d797
Validate variable names given in set_fact
...
Fixes #11851
2015-08-04 13:30:47 -04:00
James Cammarata
5266679964
Use templar all the way down
...
Fixes bugs related to creating Templar() objects on the fly, where
the shared loader objects (serialized to TaskExecutor) aren't used
so information loaded into plugin loaders after forking is lost.
Fixes #11815
2015-08-04 12:25:53 -04:00
muffl0n
8d6d711a5c
move get_available_hash_algorithms() from get_url
2015-08-04 08:57:36 +02:00
James Cammarata
c3ce140dd2
Exclude loop_args from post_validation for tasks
...
This field is templated specially during the TaskExecutor's loop
calculation, so there's no need to post validate it again.
Fixes #11481
2015-08-04 01:12:27 -04:00
Brian Coca
015b922c1f
fix quoting for become commands
...
fixes #11808
2015-08-03 18:49:23 -04:00
Toshio Kuratomi
ca941ec632
style cleanup because -ECANNOTUNDERSTAND without it
2015-08-03 15:05:26 -07:00
Toshio Kuratomi
f86245dcb0
Add a warning about python3 in the synchronize plugin
2015-08-03 15:05:26 -07:00
Toshio Kuratomi
f0431eaea9
Make ansible_python_interpreter work with synchronize
...
Fixes #11836
2015-08-03 13:32:24 -07:00
James Cammarata
8279557e8f
Allow role names to be templated
...
Fixes #10858
2015-08-03 16:26:13 -04:00
James Cammarata
ed603f7030
Fix free strategy only running first play in a multi-play playbook
...
Fixes #11839
2015-08-03 14:40:16 -04:00
James Cammarata
c2435fab7e
Inject the play context vars into the variables used for loop item templating
2015-08-03 12:12:45 -04:00
James Cammarata
bcbcfc79be
Fix relative paths for included files
...
Also modifies the Play class to not include become* fields in the
post-validation step.
Fixes #11353
2015-08-03 12:04:31 -04:00
James Cammarata
2673eb0afb
Add option to fail on undefined variables to listify
...
And use it in the call to get the loop items for a task.
2015-08-03 12:04:31 -04:00
James Cammarata
a586c74967
Merge pull request #11838 from cchurch/stringify_powershell_unquote_value
...
Fix for PowerShell unquote method when passed None.
2015-08-02 22:57:27 -04:00
James Cammarata
f6d1b5e233
Merge pull request #11835 from cchurch/raw_is_not_raw_enough
...
Raw is not raw enough
2015-08-02 22:56:45 -04:00
James Cammarata
7b9aee7077
Merge pull request #11832 from amenonsen/zeroforks
...
Disallow --forks 0
2015-08-02 22:39:21 -04:00
Chris Church
cafc35fd5b
Fix for PowerShell unquote method when passed None.
2015-08-02 18:38:29 -04:00
Abhijit Menon-Sen
7d9689c1c5
Slice ascii_letters directly instead of using 'for x in range()'
2015-08-02 23:47:18 +05:30
Abhijit Menon-Sen
bfe708a189
Make host range parsing errors issue better messages
...
Now we always say "host range must …specific thing…"
2015-08-02 23:47:18 +05:30
Abhijit Menon-Sen
1413496292
Implement step for alphabetic ranges: [a:e:2] => a,c,e
2015-08-02 23:47:18 +05:30
Abhijit Menon-Sen
72715c6add
Fix ssh connections to IPv6 addresses
...
We can unconditionally wrap remote_addr in square brackets for scp and
sftp (both of which require them for IPv6 addresses), but not wrap them
at all for ssh (which doesn't accept them). This way, we don't have to
detect and treat IPv6 addresses specially. This works for hostnames,
IPv4 addresses, and IPv6 addresses.
The earlier code seemed to intend to wrap all IPv6 addresses in square
brackets, which would have broken ssh, but it actually made no attempt
to detect IPv6 addresses at all (so it broke only with IPv6 addresses
for scp and sftp).
Based on a review of PR #11677 by @JuiceBoxSingularity
2015-08-02 23:46:01 +05:30
Chris Church
6969b5ac8b
Make sure raw doesn't eat key=value arguments.
2015-08-02 11:57:32 -04:00
Abhijit Menon-Sen
861da614cc
Make 'pause: prompt=…' print the prompt
...
In stable-1.9, the prompt string is passed to raw_input(), which prints
it without an extra \n. Here we're just print()ing it, so the \n would
be doubled.
2015-08-02 20:08:28 +05:30
James Cammarata
9936c5f9f6
Fixing the pause module for devel
2015-08-02 09:29:13 -04:00
Abhijit Menon-Sen
8de70fa657
Disallow --forks 0
...
Without at least one worker process, things break:
Traceback (most recent call last):
File "/home/ams/extern/ansible/ansible/lib/ansible/executor/process/result.py", line 103, in run
result = self._read_worker_result()
File "/home/ams/extern/ansible/ansible/lib/ansible/executor/process/result.py", line 69, in _read_worker_result
(worker_prc, main_q, rslt_q) = self._workers[self._cur_worker]
IndexError: list index out of range
2015-08-02 14:10:45 +05:30
Toshio Kuratomi
cf35bdbdf9
Merge pull request #11827 from amenonsen/trivial-fixmes
...
Remove TODO: the play already overrides options
2015-08-01 07:40:15 -07:00
Abhijit Menon-Sen
a9b020d6de
Remove TODO: the play already overrides options
2015-08-01 20:09:02 +05:30
Abhijit Menon-Sen
1f2adb5e14
Show a better message when ansible.cfg is not found
...
Earlier we would say «Using as config file» if we didn't find one.
2015-08-01 19:44:20 +05:30
Abhijit Menon-Sen
2cb7cd8379
Remove outdated FIXME; _compute_delegate is called below
2015-08-01 09:35:32 +05:30
Abhijit Menon-Sen
7b3cb2126c
Remove outdated FIXME; ROLE_CACHE is already implemented below
2015-08-01 09:34:32 +05:30
Toshio Kuratomi
91a77b8603
Fix potential bug in parameter passing
2015-07-31 20:35:01 -07:00
James Cammarata
13b8a57d3d
Undo previous travis/tox fixes and fix underlying issue
2015-07-31 23:01:43 -04:00
Toshio Kuratomi
0d72be3953
become protection for local connections no longer needed
2015-07-31 18:26:30 -07:00
Toshio Kuratomi
d1933accc3
Fixes for synchronize with delegate_to
2015-07-31 17:41:41 -07:00
Toshio Kuratomi
3939348286
Fix HostVars to support containment tests
2015-07-31 13:58:09 -07:00
Chris Church
74df17de29
Add an option for PowerShell modules to indicate support for check mode, skip running module if check mode is not supported.
2015-07-31 14:48:51 -04:00
Chris Church
e87cf4a3cc
Fixes for WinRM/PowerShell support in v2.
...
- Add support for inserting module args into PowerShell modules. Fixes #11661 .
- Support Windows paths containing spaces. Applies changes from #10727 to v2. Fixes #9999 . Should also fix ansible/ansible-modules-core#944 and ansible/ansible-modules-core#1007 .
- Change how execution policy is set for running remote scripts. Applies changes from #11092 to v2. Also fixes ansible/ansible-modules-core#1776 .
- Use codepage 65001 (UTF-8) for WinRM connection instead of default (CP437), convert command to UTF-8 and results from UTF-8. Replaces changes from #10024 . Fixes #11198 .
- Close WinRM connection when task completes.
- Use win_stat, win_file and win_copy modules instead of stat, file and copy when called from within other action plugins (only when using WinRM+PowerShell).
- Unquote Windows path arguments before passing to win_stat, win_file, win_copy and slurp modules (only when using WinRM/PowerShell).
- Check for win_ping module to determine if core modules are missing (only when using WinRM/PowerShell).
- Add stdout_lines to result from running low level commands (so stdout_lines is available when using raw/script).
- Update copy action plugin to use shell functions for joining paths and checking for trailing slash.
- Update fetch action plugin to unquote source path when using Windows paths.
- Add win_copy and win_template action plugins that inherit from copy and template.
- Support running .bat and .cmd scripts using default system encoding instead of UTF-8.
- Always send PowerShell commands as base64-encoded blobs to allow for running simple PowerShell commands via raw.
- Support running modules on Windows with interpreters other than PowerShell.
- Update integration tests to support above changes and test unicode fixes.
- Add test for win_user error from ansible/ansible-modules-core#1241 (fixed by ansible/ansible-modules-core#1774 ).
- Add test for additional win_stat output values (implemented by ansible/ansible-modules-core#1473 ).
- Add test for OS architecture and name from setup.ps1 (implemented by ansible/ansible-modules-core#1100 ).
All WinRM integration tests pass for me with these changes.
2015-07-31 14:38:31 -04:00
Brian Coca
fa8043c0ba
corrected typo
2015-07-31 13:49:48 -04:00
Brian Coca
f16b745f17
now properly uses default port if defined
2015-07-31 12:01:58 -04:00
Brian Coca
496186f5de
makes ssh plugin resilient against invalid entries in hosts file
...
fixes #10238
2015-07-31 12:01:58 -04:00
Mark Chance
437d4deffc
change ec2 util to create only requested objects
2015-07-31 09:47:24 -06:00
Toshio Kuratomi
e349004325
Update submodule ref to pull in apt_repo fixes
2015-07-31 08:22:48 -07:00
Jonathan Süssemilch Poulain
02294c52ce
Typo
2015-07-31 13:25:42 +02:00
Jonathan Süssemilch Poulain
4614a574ea
Allows network network interface facts collection as an unprivileged user and adds more facts
2015-07-31 10:39:02 +02:00
Jonathan Süssemilch Poulain
e181bcf62b
Allows to fetch machine architecture as an unprivileged user
2015-07-31 10:35:10 +02:00
Brian Coca
9aa4214417
fixed delegate_to ref in syncronize
2015-07-30 20:53:18 -04:00
Brian Coca
8a00dff989
updated submodule refs
2015-07-30 18:37:41 -04:00
Brian Coca
07e5e98cbf
removed jinaj2 override restrictions
2015-07-30 16:53:39 -04:00
Brian Coca
113f709eac
brought up to date with default
2015-07-30 16:53:38 -04:00
Brian Coca
51de207197
Merge pull request #11805 from amenonsen/trivial-fixmes
...
A series of trivial FIXMEs for devel
2015-07-30 16:40:17 -04:00
Scott Cunningham
193e857bc4
credstash lookup plugin: raise AnsibleError when credstash library not installed
2015-07-30 21:04:26 +01:00
James Cammarata
222f04e387
Submodule pointer update
2015-07-30 14:50:53 -04:00
Abhijit Menon-Sen
807079ec2f
Remove outdated FIXME; HostVars is imported and used below
2015-07-31 00:09:49 +05:30
Brian Coca
d05c4b82aa
Merge pull request #11803 from amenonsen/prompt_encrypt
...
Uncomment encrypt handling for vars_prompt
2015-07-30 14:21:32 -04:00
Abhijit Menon-Sen
845784b572
Remove outdated FIXMEs; all use combine_vars already
2015-07-30 23:47:41 +05:30
James Cammarata
efcad3aa6d
Re-allow vars on tasks, specifically for includes
2015-07-30 14:14:49 -04:00
James Cammarata
0ad52a403f
Merge pull request #11804 from amenonsen/fixme
...
Easy FIXMEs
2015-07-30 13:58:40 -04:00
Abhijit Menon-Sen
1541e331c9
Also fix UTF-8 handling in vars_prompt
2015-07-30 23:27:39 +05:30
James Cammarata
549c204051
Submodule pointer update
2015-07-30 13:48:09 -04:00
Abhijit Menon-Sen
694d2103b1
Remove outdated FIXME code
...
This is already handled in PlayContext.set_options.
2015-07-30 23:12:06 +05:30
Abhijit Menon-Sen
ff2d160fff
Correct invalid reference to global display
2015-07-30 22:52:47 +05:30
Abhijit Menon-Sen
10def3aa54
Uncomment encrypt handling for vars_prompt
2015-07-30 22:42:21 +05:30
Brian Coca
b2dc66c7ea
now check stderr also on become for ssh plugin for the cases where sudo or su do not want to prompt/echo on stdin
...
fixes #11796
2015-07-30 13:11:41 -04:00
Brian Coca
17f659a143
added some debug to galaxy
2015-07-30 12:35:27 -04:00
Brian Coca
29bc8f51d7
made tags display closer to v1
2015-07-30 12:35:27 -04:00
Brian Coca
b37be236d9
Merge pull request #11475 from nibalizer/cfacter_support
...
Use cfacter instead of facter if possible
2015-07-29 22:46:21 -04:00
Abhijit Menon-Sen
3d581e5306
Don't stat None
...
Fixes #11794 , regression introduced by #11010
2015-07-30 08:02:27 +05:30
Brian Coca
527ae360b0
Merge pull request #10652 from vodik/nspawn
...
Support querying systemd container information
2015-07-29 21:51:58 -04:00
Brian Coca
4b8e368039
Merge pull request #11010 from sillydong/devel
...
Add judgment to to fix path0 if ANSIBLE_CONFIG is set to a dir
2015-07-29 21:36:07 -04:00
Brian Coca
0e77871426
fixed non ignore errors path to actually interrupt
...
fixed cases where missing/inaccessible file gave exception, now you get nice error
2015-07-29 20:13:17 -04:00
Brian Coca
8153c34abf
now returns false on bad role_data
2015-07-29 19:48:21 -04:00
Brian Coca
e81ec32719
made galaxy more resilient with bad yaml files and comments/spaces in non yaml files
...
fixes #10641
2015-07-29 19:28:29 -04:00
Joseph Callen
2f5ced8856
Moving VMware Utilites module
...
Moved `vmware.py` from v1 to `lib/ansible/module_utils/vmware.py`.
No other changes has been made since these two PRs:
https://github.com/ansible/ansible/pull/10812
https://github.com/ansible/ansible/pull/10760
2015-07-29 17:16:15 -04:00
Brian Coca
ced93d35ca
adjusted list hosts across adhoc and playbook cli
2015-07-29 15:46:13 -04:00
James Cammarata
3a50c08c01
Merge branch 'pluggable_jinja_tests' of https://github.com/quixoten/ansible into quixoten-pluggable_jinja_tests
2015-07-29 15:16:27 -04:00
James Cammarata
782c2f75df
Make sure role deps inherit conditionals/tags specified via params
...
Fixes #7353
2015-07-29 14:49:08 -04:00
Brian Coca
bedfe00de8
Merge pull request #11336 from saada/patch-1
...
Update Vault rekey() in vault.py to validate files passed before input
2015-07-29 12:52:14 -04:00
Toshio Kuratomi
4f1d365a25
Merge pull request #11783 from ansible/synchronize-fix
...
Synchronize in wasn't running on localhost in the default case which …
2015-07-29 09:33:01 -07:00
Toshio Kuratomi
088682f518
Synchronize in wasn't running on localhost in the default case which meant that rsync was run on the wrong host.
...
Fixes #11649
2015-07-29 09:10:24 -07:00
Mahmoud Saada
ddd46f6599
Update rekey() in vault.py to validate files passed exist before prompting for password
2015-07-29 09:03:15 -07:00
Brian Coca
0784fa1765
removed import q
2015-07-29 11:00:04 -04:00
Brian Coca
96bcf50a94
implemented requirements file in v2
...
fixes #11179
2015-07-29 10:59:33 -04:00
James Cammarata
71867f9480
Remove vars attribute from base
...
Fixes #11779
2015-07-29 09:45:30 -04:00
Scott Cunningham
695e456cb0
add credstash lookup plugin
2015-07-29 11:18:13 +01:00
Brian Coca
132c14eb57
indented hosts
2015-07-28 22:31:40 -04:00
Brian Coca
c0c094c413
now all --list options are working!
2015-07-28 22:30:59 -04:00
Brian Coca
884435a1aa
minor cosmetic changes to list options
2015-07-28 22:14:41 -04:00
Brian Coca
056602c424
rearranged --list- options, now they are consolidated when used toghether, less loops, more concise output
...
list-hosts works
list-tasks works, but needs better task naming (missing role info)
list-tags only shows play tags
2015-07-28 22:05:49 -04:00
Brian Coca
cc85473c1e
show role search path when not finding a role
...
fixes #9770
2015-07-28 19:07:47 -04:00
James Cammarata
42cfacf83b
Switch up the task/host overrides for PlayContext to use the compiled vars dict
...
Fixes #11436
2015-07-28 16:25:44 -04:00
Brian Coca
a8b2b5b0c9
avoids printing blank diffs
...
fixes #10147 fixes #9471
2015-07-28 15:47:52 -04:00
James Cammarata
5cf2781528
A little more cleanup regarding _compute_environment_string
2015-07-28 15:34:10 -04:00
James Cammarata
467432bef5
Fix incorrect module path for AnsibleError in action plugin base
2015-07-28 15:25:25 -04:00
Brian Coca
f4a997db49
added back but stderr, which was the original itnention
2015-07-28 14:36:06 -04:00
Brian Coca
3b9282fb90
fixed dupe output in raw/command cases
2015-07-28 14:31:49 -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
Brian Coca
17103dd4cc
update submodule refs
2015-07-28 13:08:05 -04:00
Brian Coca
6cdee94c33
added missing skipped item function to base
2015-07-28 11:02:25 -04:00
Brian Coca
6f93d228f6
made item output closer to v1
2015-07-28 10:59:39 -04:00
Brian Coca
4f9d719b14
removed debug
2015-07-28 10:43:11 -04:00
Brian Coca
d78c2fc212
now reports per task item
2015-07-28 10:41:40 -04:00
James Cammarata
2d90cbf78b
Properly fail results with rc != 0
...
Fixes #11769
2015-07-28 10:15:14 -04:00
Brian Coca
787a0c4e04
fixed indent issues
2015-07-28 10:10:21 -04:00
Vilmos Nebehaj
58cccce384
Use PBKDF2HMAC() from cryptography for vault keys.
...
When stretching the key for vault files, use PBKDF2HMAC() from the
cryptography package instead of pycrypto. This will speed up the opening
of vault files by ~10x.
The problem is here in lib/ansible/utils/vault.py:
hash_function = SHA256
# make two keys and one iv
pbkdf2_prf = lambda p, s: HMAC.new(p, s, hash_function).digest()
derivedkey = PBKDF2(password, salt, dkLen=(2 * keylength) + ivlength,
count=10000, prf=pbkdf2_prf)
`PBKDF2()` calls a Python callback function (`pbkdf2_pr()`) 10000 times.
If one has several vault files, this will cause excessive start times
with `ansible` or `ansible-playbook` (we experience ~15 second startup
times).
Testing the original implementation in 1.9.2 with a vault file:
In [2]: %timeit v.decrypt(encrypted_data)
1 loops, best of 3: 265 ms per loop
Having a recent OpenSSL version and using the vault.py changes in this commit:
In [2]: %timeit v.decrypt(encrypted_data)
10 loops, best of 3: 23.2 ms per loop
2015-07-28 14:51:36 +02:00
Brian Coca
77fc3ce759
removed unused import
2015-07-28 08:28:52 -04:00
Lukas Pirl
d9aa14feea
fixes remote code execution for su/sudo and strict remote umasks
...
* temporarily changes umask for creating temporary directories
* otherwise parent directories may not get chmod'ed and end up
unreadable
refs #9902
2015-07-28 19:24:23 +12:00
Brian Coca
80ecab5317
Merge pull request #11761 from amenonsen/9843-rebase
...
Add pciid to LinuxNetwork interface fact
2015-07-27 22:20:04 -04:00
Hugh Saunders
f344ec463f
Add LVM facts to setup module
...
This commit adds LinuxHardware.get_device_facts() and calls that from
.populate().
LVM facts are only gathered if the setup module is running as root and
the lvm utilities are available (tested by searching for 'vgs').
If the conditions are met, facts are set for each volume group and
logical volume.
Example:
Test LVM Data:
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
test 1 2 0 wz--n- 5.00g 2.00g
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
testlv test -wi-a---- 1.00g
testlv2 test -wi-a---- 2.00g
Facts Returned:
$ ansible localhost -i /tmp/inv -m setup -a 'filter=ansible_lvm'
localhost | success >> {
"ansible_facts": {
"ansible_lvm": {
"lvs": {
"testlv": {
"size_g": "1.00",
"vg": "test"
},
"testlv2": {
"size_g": "2.00",
"vg": "test"
}
},
"vgs": {
"test": {
"free_g": "2.00",
"num_lvs": "2",
"num_pvs": "1",
"size_g": "5.00"
}
}
}
},
"changed": false
}
Test as non-root:
$ ansible localhost -i /tmp/inv-user -m setup -a 'filter=ansible_lvm'
localhost | success >> {
"ansible_facts": {},
"changed": false
}
Test without lvm utilities available
$ sudo mv /sbin/vgs{,.bk}
$ ansible localhost -i /tmp/inv -m setup -a 'filter=ansible_lvm'
localhost | success >> {
"ansible_facts": {},
"changed": false
}
2015-07-28 07:46:01 +05:30
Brian Coca
5f8db9cd4b
changed verbose_override to the new _ansible_verbose_override to keep in line with previous changes
...
output now defaults back to having indent=4
2015-07-27 22:15:44 -04:00
Trapier Marshall
250620f2ab
Add pciid to LinuxNetwork interface fact
...
This commit adds pciid to the LinuxNetwork fact object.
pciid is gathered if the symlink /sys/class/net/*/device exists.
Example [>>>> emphasis <<<<]:
$ readlink /sys/class/net/eth0/device
../../../0000:01:00.0
$ ansible localhost --ask-pass -i /tmp/hosts -m setup -a "filter=ansible_eth0"
SSH password:
localhost | success >> {
"ansible_facts": {
"ansible_eth0": {
"active": false,
"device": "eth0",
"macaddress": "0c:d2:92:5d:6e:8e",
"module": "alx",
"mtu": 1500,
>>>> "pciid": "0000:01:00.0", <<<<
"promisc": true,
"type": "ether"
}
},
"changed": false
}
2015-07-28 07:30:03 +05:30
Brian Coca
8746e692c1
changed check to allow for powerpc
...
fixes #11528
2015-07-27 21:44:17 -04:00
Brian Coca
0c21196633
moved openvz inventory script to new home
2015-07-27 20:53:53 -04:00
Brian Coca
164092a835
optimized module docs
2015-07-27 20:52:53 -04:00
Brian Coca
2575e1540a
Merge pull request #11740 from amenonsen/8602-rebase
...
Encrypt the vault file after editing only if the contents changed
2015-07-27 20:45:03 -04:00
Toshio Kuratomi
d2346fd2e2
Python2.4 compat fix
2015-07-27 15:34:51 -07:00
James Cammarata
d6cafff2f9
Additional changes to fix fileglob relative path lookups
2015-07-27 16:35:57 -04:00
Toshio Kuratomi
6a68be4e28
Handle quoting of values in dict parameters
2015-07-27 12:31:05 -07:00
James Cammarata
cb262449c7
Reworking internal result flags and making sure include_vars hides vault data
...
Fixes #10194
2015-07-27 14:04:31 -04:00
James Cammarata
eebf437d87
Submodule pointer update
2015-07-27 12:51:58 -04:00
Brian Coca
b2b19a1dc4
Merge pull request #11751 from amenonsen/playwithoutbook
...
A better error message for «ansible playbook.yml»
2015-07-27 12:42:56 -04:00
James Cammarata
49a6601856
Further cleanup of internal use of ansible_ssh_host
2015-07-27 10:42:39 -04:00
James Cammarata
ee835ff7ad
Add a base-level get_basedir method for lookup plugins and fix relative lookups
...
Fixes #11746
2015-07-27 10:41:28 -04:00
Abhijit Menon-Sen
65d62090c2
A better error message for «ansible playbook.yml»
...
This is a very conservative change: we add the hint only if we're
definitely going to die already.
2015-07-27 12:43:21 +05:30
James Cammarata
3a4dd523d3
Fix bug where we calculated the relative path of recurisive copies wrong
...
Fixes #11470
2015-07-27 02:29:38 -04:00
James Cammarata
a1a8997e89
Merge pull request #11663 from whereismyjetpack/fix_ansible_ssh_host
...
only set ansible_ssh_host if not already set
2015-07-26 23:46:21 -04:00
Brian Coca
a56ff7ae54
now it really is oneline
2015-07-26 23:14:07 -04:00
Brian Coca
5d1d9f1505
fixed diff output to be as it was in 1.x, copy and template now use the same
...
functions to do difs.
2015-07-26 22:29:56 -04:00
James Cammarata
c56a304ad9
Merge pull request #9195 from reedloden/add-dns-facts
...
Add several DNS-related facts by parsing /etc/resolv.conf
2015-07-26 14:59:55 -04:00
James Cammarata
ccb7fb3b4c
Submodule pointer update
2015-07-26 14:41:49 -04:00
James Cammarata
034c766439
Fixing logic in template.py to not assume 'changed' is in the result
2015-07-26 13:57:25 -04:00
James Cammarata
a78ed39f93
Merge pull request #11743 from renard/regex_escape-filter
...
Regex escape filter
2015-07-26 13:52:01 -04:00
James Cammarata
db4b3544d7
Fix syntax error in action plugin template.py
2015-07-26 13:49:27 -04:00
Reed Loden
eb1fb41576
Add several DNS-related facts by parsing /etc/resolv.conf
...
Facts include nameservers, domain, search path, sortlist, and options.
2015-07-26 10:46:59 -07:00
Sébastien Gross
36534668f0
Change name from re_escape to regex_escape to fit existing function names.
2015-07-26 19:03:56 +02:00
Sébastien Gross
c1e4085251
Add regular expression escaping filter.
2015-07-26 19:03:27 +02:00
Brian Coca
0b6fadaad7
started implementing diff
...
diff now works with template
also fixed check mode for template and copy
2015-07-26 12:22:22 -04:00
Pablo Figue
f8bf2ba1bd
Encrypt the vault file after editing only if the contents changed
2015-07-26 14:41:34 +05:30
James Cammarata
73aa5686cc
Remove octal escapes from unicode escape handling
...
Fixes #11673
2015-07-25 16:30:11 -04:00
Brian Coca
5be384bab0
Merge pull request #11733 from amenonsen/csvfile
...
v2 breakage: lookupfile should lookup the given file=xxx
2015-07-25 11:53:22 -04:00
Brian Coca
b19eb0f4dc
minor improvements to display
2015-07-25 09:15:33 -04:00
Abhijit Menon-Sen
8737061a8f
lookupfile should lookup the given file=xxx
...
(Earlier it used to lookup the pre-split term.)
2015-07-25 15:38:26 +05:30
James Cammarata
eca88d4253
Merge pull request #11732 from amenonsen/9212-rebase
...
Forbid copy: content="" with a directory destination
2015-07-25 02:47:19 -04:00
Mario de Frutos
4ed664f4d0
Forbid copy: content="" with a directory destination
...
Fixes #9107 , closes PR #9212
2015-07-25 11:21:14 +05:30
Brian Coca
b9710b4a34
wrapped new system ssh key lookup in case file does not exist
2015-07-24 23:54:13 -04:00
Patrick Michaud
e4df8c3d36
Have paramiko use /etc/ssh_known_hosts
...
Fixes an issue with a confusing error: "paramiko: The authenticity of host '[host]' can't be established" when ssh on the command line doesn't complain
Closes PR #7730
2015-07-25 09:09:28 +05:30
Brian Coca
0858d97c44
also captures typeerrors for when not getting a proper string in output
2015-07-24 18:43:40 -04:00
Toshio Kuratomi
8ee3b7384d
Guard the PROTOCOL setting so that we work on older pythons
2015-07-24 15:07:02 -07:00
Toshio Kuratomi
36382face9
Add a warning about mode being octal
2015-07-24 14:52:21 -07:00
James Cammarata
eccfb7e0b5
Adding initial support for includes in handlers
...
Fixes #11694
2015-07-24 16:22:02 -04:00
Brian Coca
7215470c6f
implemented galaxy list in v2
2015-07-24 16:18:55 -04:00
Will Thames
9abd9a8f57
Make ansible-galaxy work with galaxy.ansible.com
...
Now works with role files that use Ansible Galaxy roles
Still work to do on making this work with internal roles
2015-07-24 16:04:10 -04:00
Brian Coca
cff77de917
added todo for future of feature
2015-07-24 12:00:38 -04:00
Brian Coca
0089eb8102
reimplemented logging based on log_path var
2015-07-24 12:00:38 -04:00
James Cammarata
ff49c5adac
Make sure we're actually looping before looking at 'results' in TaskResult
...
Fixes #11696
2015-07-24 11:55:22 -04:00
James Cammarata
0fcd53e887
Make sure the command is sudoable before checking for the become password
...
Fixes #11714
2015-07-24 11:37:26 -04:00
James Cammarata
e526743b4f
Allowing args: "{{some_var}}"
for task params again
...
This is unsafe and we debated re-adding it to the v2/2.0 codebase,
however it is a common-enough feature that we will simply mark it
as deprecated for now and remove it at some point in the future.
Fixes #11718
2015-07-24 10:33:12 -04:00
Brian Coca
681eab1158
fix adhoc that broke with assuming step is always in options
2015-07-24 10:03:43 -04:00
Brian Coca
88e1ef8c9b
implemented --step in v2
2015-07-23 20:47:40 -04:00
Brian Coca
3bf1edfd96
Merge pull request #11591 from defionscode/boto3
...
Connection function for boto3
2015-07-23 15:54:28 -04:00
James Cammarata
7bc789ba64
Properly template task names
...
Also fixes in the correct way the bug in which the role name was
incorrectly showing up twice in the task name.
Fixes #10347
2015-07-23 15:45:36 -04:00
James Cammarata
698479a623
Add config file info to --version output
...
Fixes #10348
2015-07-23 15:32:39 -04:00
James Cammarata
37ed756d66
Make sure role names are strings
...
Fixes #10497
2015-07-23 15:26:31 -04:00
Toshio Kuratomi
f8e4aff4c1
Cleanups:
...
* Don't reference __class__ when we can use the instance itself
* use isdisjoint() as it can stop once a match is found
* Remove a condtional that was taken care of in the conditonal just above
2015-07-23 12:13:45 -07:00
Brian Coca
4e3f5e3be6
Merge pull request #11708 from bcoca/display_me
...
adding display to plugins and start moving debug to display
2015-07-23 14:32:18 -04:00
Brian Coca
78df37db8a
updated submodule refs
2015-07-23 13:44:47 -04:00
Brian Coca
a6ba149c49
implemented simplified output for adhoc adn command modules as in v1
2015-07-23 13:42:20 -04:00
James Cammarata
65ae9780fa
Merge pull request #11079 from amegianeg/fix_broad_except_in_inventory
...
Avoid too broad except in Inventory
2015-07-23 13:36:02 -04:00
Toshio Kuratomi
e7733a7d3a
Update submodule refs
2015-07-23 07:32:54 -07:00
Brian Coca
851ed45bbf
adding display to plugins and start moving debug to display
2015-07-23 10:26:12 -04:00
Toshio Kuratomi
b06353791c
Don't pass mode from synchronize action plugin to the ansible module
...
Fixes https://github.com/ansible/ansible-modules-core/issues/1783
2015-07-23 00:42:27 -07:00
Brian Coca
b678b9828c
simplified and normalized lookup search path behaviour
2015-07-22 22:32:37 -04:00
James Cammarata
857f584ebf
Merge pull request #11699 from ahamilton55/ah/delegate_variable
...
v2: Fixing delegate_to when using a variable
2015-07-22 22:15:54 -04:00
Brian Coca
b9050ecf18
fixed file lookup pathing in dwim functinos, now does specific paths and priorities and is commented
...
fixes #11672 as cwd is now not part of thos paths:
if full path is supplied, used that
2015-07-22 20:58:24 -04:00
Andrew Hamilton
7254b22bf4
Fixing delegate_to when using a variable
2015-07-22 17:12:00 -07:00
James Cammarata
d412bc72ef
Fall back to paramiko if the smart detection fails to run ssh
...
Fixes #11695
2015-07-22 16:14:17 -04:00
James Cammarata
dfcf6a2016
Skip hosts with no state while iterating tasks in the linear strategy
...
Fixes #11693
2015-07-22 15:55:11 -04:00
James Cammarata
206ef27268
Add flag to template() so data is not converted to a datastructure
...
Fixes #11641
2015-07-22 15:05:51 -04:00
James Cammarata
7a9916422a
Fixing up error handling for fetch_file ops in connection plugins
...
* enable batch mode (configurable with a config option, on by default)
for sftp transfers, so we can catch errors more easily
* general cleanup in the local connection plugin and fetch action plugin
Fixes #11612
2015-07-22 14:25:47 -04:00
James Cammarata
4b6525fb58
Fix handler flushing to match how v1 worked
...
Also adds meta tasks to the list of tasks excluded from tag filtering
Fixes #11574
2015-07-22 11:21:38 -04:00
Toshio Kuratomi
d0dcf73716
Update module refs
2015-07-22 07:24:13 -07:00
James Cammarata
135404738e
Fix a couple start-at-task issues
...
* added pattern matching to match v1 functionality
* check the task name, not the task+role name for matches
* make sure the input is unicode
Fixes #11692
2015-07-22 07:45:03 -04:00
James Cammarata
975172c1ef
Make sure role name doesn't end up in task name more than once
...
Fixes #11691
2015-07-22 07:28:25 -04:00
James Cammarata
b09f1f8e0b
Account for filters in bare variable conversion
...
Fixes #11530
2015-07-22 00:08:55 -04:00
Jeff Widman
52716c4dc7
Remove mention of 'apache example'
...
Removed explicit mention of 'apache'
2015-07-21 18:03:55 -07:00
ZviRackover
628925a77d
Fix: add missing import 'locale'
2015-07-22 01:09:31 +03:00
James Cammarata
4c733fe4b7
Fix issues with vars_prompt and vars_files
...
* Prompt had to be moved up, as it needed to be done before the first
templating of the play occurs, otherwise vars_files won't be templated
properly
* Fixed a bug related to an earlier fix of vars_files incorporating
extra vars to do the templating of the file name
Fixes #11404
2015-07-21 14:52:57 -04:00
Toshio Kuratomi
491a4f2a25
Update extras module pointer for docs fix
2015-07-21 11:21:58 -07:00