Commit graph

228 commits

Author SHA1 Message Date
Toshio Kuratomi
77731440f3 Optimize the plugin loader.
We have been caching the paths to the plugins but before we would only
cache the specific plugin that we were looking for.  This meant that we
might search through all of the plugin directories before finding the
specific module we were interested in.  The next plugin we needed we
might again search through all the plugin directories before finding the
plugin we wanted.

This new code will cache all the potential plugins in each directory
searched.  For a play that only uses one plugin we'll only search
through directories until we encounter the directory that has the proper
plugin.  For a large playbook with many plugins used we'll search
through each directory at most once each.

From v1: 68e86de26f
         730c2ba403
2015-02-18 08:12:01 -08:00
Toshio Kuratomi
55e26db290 Support nested modules with ANSIBLE_LIBRARY env var
From v1: 4c2d06d2fe
2015-02-18 08:07:57 -08:00
Alexey Shamrin
b950a38e30 fix links to ansible-devel in documentation pages 2015-02-17 14:30:31 +03:00
Toshio Kuratomi
9d605171a7 Didn't port isbasestring/isunicodestring from kitchen so switch to isinstance 2015-02-12 13:55:27 -08:00
Toshio Kuratomi
740bd8fbde Update to fix logentries issues 2015-02-12 12:58:36 -08:00
Toshio Kuratomi
dd484e8211 Update modules 2015-02-12 12:16:31 -08:00
James Cammarata
995aa8e24b Making task includes dynamic and fixing many other bugs
Dynamic task includes still need some work, this is a rough first version.
* doesn't work with handler sections of playbooks yet
* when using include + with*, the insertion order is backwards
* fix potential for task lists to be unsynchronized when using the linear
  strategy, as the include conditional could be predicated on an inventory
  variable
2015-02-12 18:17:16 +00:00
Paul Geraghty
0d82b846cc Correct typos 2015-02-11 02:24:12 +00:00
Toshio Kuratomi
c31831f028 Move from using inspect to __file__ in order to find the path to the
module snippets
2015-02-10 14:41:15 -08:00
Toshio Kuratomi
01a6081b49 First swing at making module_common.py more v2-ish 2015-02-10 12:36:23 -08:00
James Cammarata
0e834509c8 Fix in v2 for bare variable conversion 2015-02-10 11:28:04 -06:00
Toshio Kuratomi
7c86db3187 Add KSH compat
cherry picked from https://github.com/ansible/ansible/pull/6899
2015-02-09 15:37:35 -08:00
James Cammarata
31dd75de59 Fixing many bugs in v2
* delegate_to rudimentary support (still needs much more work)
* lots of other things
2015-02-09 16:56:38 -06:00
Toshio Kuratomi
402a6d0533 Explicitly close files opened by facts
Fixes #10157
2015-02-09 14:30:06 -08:00
Toshio Kuratomi
9db17afc85 Update modules 2015-02-09 11:00:57 -08:00
Toshio Kuratomi
4902c06304 Obfuscate passwords in more places where it is displayed 2015-02-09 10:13:13 -08:00
Toshio Kuratomi
8f06ba2bc1 Port https://github.com/ansible/ansible/pull/10162 (py-2.4 compat fix) to v2 tree 2015-02-04 09:46:25 -08:00
Toshio Kuratomi
019f74dced Update modules 2015-02-03 09:02:46 -08:00
Toshio Kuratomi
cea2f2a7cf remove broken nad commented unicode conversion -- in v2, this is done when the data first enters ansible. 2015-02-02 19:08:10 -08:00
Toshio Kuratomi
d50089ca9f Add a function to change output from a str to unicode 2015-02-02 18:28:47 -08:00
Toshio Kuratomi
c655e91436 For now throw an exception if decoding a non-utf8 extra var 2015-02-02 14:14:18 -08:00
Toshio Kuratomi
1ed1af6cb4 Make extra_vars into unicode string type early
Fixes v2 for #10106
2015-02-02 13:58:21 -08:00
Toshio Kuratomi
97438f0039 Update the modules 2015-02-02 10:25:59 -08:00
Toshio Kuratomi
b2c7b911bc v2/plugins/filter is now a symlink as it does not differ between v1 and v2 2015-02-02 10:25:09 -08:00
Toshio Kuratomi
03e213a272 Change the v2 filter plugins into a symlink to v1 as the plugins are the same for both 2015-02-02 10:25:09 -08:00
Toshio Kuratomi
e702a28496 Comment for why we have checksum and checksum_s 2015-02-02 10:25:09 -08:00
Toshio Kuratomi
4b89eb293f port fix for https://github.com/ansible/ansible/pull/10129 to v2 2015-01-30 07:51:19 -08:00
Toshio Kuratomi
ca35d138f1 Update modules 2015-01-30 07:46:36 -08:00
Toshio Kuratomi
747cc26ae1 Update modules 2015-01-29 18:31:15 -08:00
James Cammarata
c978c77796 Fixing more v2 bugs 2015-01-29 16:44:01 -06:00
Brian Coca
c73254543a made env var also consistent 2015-01-29 13:32:00 -05:00
Brian Coca
4fd760467b made inventory consistent in config file, deprecated old config hostfile 2015-01-29 13:28:33 -05:00
James Cammarata
171a67cfef Tweaking role path searching in v2 to be a bit more like v1 2015-01-29 10:56:04 -06:00
Toshio Kuratomi
556d4f0025 Update core modules 2015-01-28 16:31:08 -08:00
Toshio Kuratomi
b3d5f82d29 copy to_bytes and to_unicode functions from kitchen for use in v2 2015-01-28 14:51:33 -08:00
James Cammarata
181dd058eb Fix roles_path loading in v2 2015-01-28 16:08:41 -06:00
James Cammarata
ed05db52ba Fixing playbook includes in v2 where included paths are relative 2015-01-28 15:03:06 -06:00
James Cammarata
b07ab41994 Fix directory loading of host/group vars in v2 2015-01-28 14:06:10 -06:00
James Cammarata
4d9bf37afa Fixing some v2 inventory bugs 2015-01-28 13:21:52 -06:00
James Cammarata
b6a34518ad Fixing checkmode support and some other things in v2 2015-01-28 13:21:52 -06:00
Toshio Kuratomi
0aac6360e4 Update core modules 2015-01-28 10:38:36 -08:00
Brian Coca
2fa9a0958a v2: added draft url lookup 2015-01-27 18:29:16 -05:00
Toshio Kuratomi
418e24cc6c Merge changes from v1 env-setup into v2/env-setup 2015-01-27 11:54:35 -08:00
Toshio Kuratomi
975b547aaa Update core modules 2015-01-27 09:47:20 -08:00
Toshio Kuratomi
a63e4c595f Another place that needs to be json_dict_bytes_to_unicode 2015-01-26 22:04:51 -08:00
Toshio Kuratomi
0f6b87d33e Revert "Fix import statements" -- those impotrt statements were right
before... something else is fishy

This reverts commit 8ab536fbf2.
2015-01-26 22:01:52 -08:00
Toshio Kuratomi
8ab536fbf2 Fix import statements 2015-01-26 21:49:09 -08:00
Toshio Kuratomi
d3666f3265 Make py2.4 remote checksum large-file-enabled as well 2015-01-26 21:44:42 -08:00
James Cammarata
bbd08cd0e2 Fixing more v2 issues with integration tests 2015-01-26 23:41:19 -06:00
Toshio Kuratomi
6f5d18a20e Merge pull request #10087 from axos88/devel
fix checksum calculation for large files
2015-01-26 21:40:09 -08:00
Toshio Kuratomi
335cf2f05f Update module repos 2015-01-26 20:39:53 -08:00
Toshio Kuratomi
915d232d5f jinja2 cannot handle byte strs with non-ascii. So we need to transform potential byte str into unicode type. This fix is for dynamic inventory.
Fixes #10007
2015-01-26 20:39:09 -08:00
James Cammarata
455423aafb Updating submodule reference for v2 2015-01-26 11:34:33 -06:00
James Cammarata
71e774e8bf Implementing playbook-level includes and getting includes integration test working 2015-01-26 11:30:30 -06:00
Akos Vandra
03fa421f3f do not use with, it is not supported all the way down to 2.4 2015-01-25 18:42:59 +01:00
Akos Vandra
e8144b3b90 fixes #10086 2015-01-25 14:51:01 +01:00
Toshio Kuratomi
53a3644ecd Update the modules 2015-01-22 23:17:58 -08:00
James Cammarata
45212394ca Adding in hostvars to v2 and getting more integration tests working 2015-01-22 22:50:21 -05:00
James Cammarata
f9d451eb9c Adding post-validation method to connection info object 2015-01-22 22:49:04 -05:00
Toshio Kuratomi
364f772cc5 Fix quoting of shell parameters used in remote_checksum and add integration test to detect the error
Fixes #682
2015-01-22 12:33:06 -08:00
Toshio Kuratomi
f2b1a289ed Update modules to pull in fixes 2015-01-22 10:27:50 -08:00
Toshio Kuratomi
2a04663255 Port forward lmacken's fix for 9886 to v2 2015-01-20 12:41:02 -08:00
James Cammarata
115684d235 Minor tweak to stub code for v2 ansible-playbook 2015-01-20 01:21:17 -06:00
James Cammarata
eae9a406ad Fixing v2 code for test_yum and added capability to squash items 2015-01-20 01:16:19 -06:00
James Cammarata
5addbe7956 V2 submodule update 2015-01-19 21:18:24 -06:00
James Cammarata
c60c295ada Adding more fixes for integration testing under v2 2015-01-19 16:18:46 -06:00
Toshio Kuratomi
2e0472e03b Allow ansible-playbook to determine if an invalid limit is specified 2015-01-19 13:39:45 -08:00
Brian Coca
23783a5228 Merge pull request #10014 from bcoca/inventory_script_errorhandle
ansible now captures returncode errors on inventory scripts
2015-01-19 15:17:56 -05:00
Brian Coca
976f51e5f5 Merge pull request #9968 from bcoca/v2_play_env
V2: added environment to play
2015-01-19 15:17:15 -05:00
Toshio Kuratomi
46e486ba41 Update modules to fix docs build and unittests 2015-01-19 09:43:30 -08:00
Toshio Kuratomi
01be9f4399 Update modules to latest 2015-01-19 09:07:49 -08:00
Brian Coca
78e1a7ed93 Revert "Fix: Add support for SSL protocol version configuration option" 2015-01-19 08:36:17 -05:00
Toshio Kuratomi
365af69c3e More quotes and reimplement without pushd/popd 2015-01-18 08:17:37 -08:00
Brian Coca
832b3ebea2 adds to v2 the ability to run with empty inventory (implicit localhost),
which is now a warning and not an error.
2015-01-16 18:31:58 -05:00
Brian Coca
9ccabbb95e Merge pull request #9808 from swimlappy/sslconfig
Fix: Add support for SSL protocol version configuration option
2015-01-16 10:25:48 -05:00
James Cammarata
a7615c4a6f Updating v2 submodule pointer again, after updating from devel 2015-01-15 17:00:32 -06:00
James Cammarata
6e5fb3de59 Updating submodule pointer for v2 core modules 2015-01-15 16:58:18 -06:00
James Cammarata
a6d6a89ad1 More work on v2, fixing bugs and getting integration tests running 2015-01-15 16:57:19 -06:00
Toshio Kuratomi
dde32a826f Set default values for shell variables that we use
Fixes #9991
2015-01-15 11:08:00 -08:00
Brian Coca
6b3d0f4788 now captures returncode errors on inventory scripts 2015-01-15 13:38:25 -05:00
James Cammarata
02bc014bcd More work on getting integration tests running for v2 2015-01-15 01:14:22 -06:00
Toshio Kuratomi
6326daa34e Update modules for unarchive handling user,group,mode and add integration test for the same 2015-01-14 19:23:12 -08:00
Toshio Kuratomi
6e6d291f59 Disable egg generation in a way that works on bash 2015-01-14 12:55:25 -08:00
Toshio Kuratomi
67c988411b Comment out egg generation for now as we don't yet have a setup.py for v2 2015-01-14 09:29:35 -08:00
Toshio Kuratomi
5f8d63dd57 Sync changes to v2 env-setup 2015-01-14 09:28:19 -08:00
Toshio Kuratomi
4add30c96e Optimize away a string replacement :-) 2015-01-14 09:16:09 -08:00
James Cammarata
4010f79441 Updating v2 submodule sha 2015-01-14 10:07:22 -06:00
James Cammarata
2aeb79f45f Starting work on getting integration tests working on v2
This is incomplete work, and requires some minor tweeks to the integration
tests which are not included in this commit.
2015-01-12 16:07:01 -06:00
James Cammarata
b0486f7a20 Updating submodule pointer for v2 2015-01-09 14:28:02 -06:00
Brian Coca
b250e138d3 added environment to play and made both it and no_log inhertiable by
task
2015-01-09 12:39:49 -05:00
James Cammarata
1544dde932 Moving over all lookup plugins to v2 2015-01-09 09:37:45 -06:00
James Cammarata
63c2d616e7 Starting to move over lookups and fixing some bugs related to that 2015-01-08 10:52:14 -06:00
James Cammarata
0823fb2cd9 fixing bug with role paths 2015-01-07 13:54:09 -06:00
James Cammarata
fd67a20787 Fixed "until" loop support, and cleaned up the async_wrapper/polling a bit 2015-01-07 11:44:52 -06:00
James Cammarata
065733ad93 Moving more action plugins over and fixing some bugs with role loading 2015-01-07 10:48:33 -06:00
James Cammarata
7f7e9914aa Changing tag evaluation method to match when conditional method 2014-12-29 23:30:37 -06:00
James Cammarata
62d79568be Creating playbook executor and dependent classes 2014-12-29 10:46:47 -06:00
Jason Holland
eedc51f213 Add support for SSL protocol version configuration option. Also fix 2 places where the SSL version was not being set properly. 2014-12-13 21:20:33 -06:00
Toshio Kuratomi
b6c3670f8a Mark some inventory methods that I'm thinking should go away (and their
replacements)
2014-12-09 13:52:47 -06:00
Toshio Kuratomi
b4dfcc2d28 Start laying out how the pieces of code that parse inventory information into ansible will work 2014-12-09 13:52:42 -06:00