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