Commit Graph

291 Commits (460dc5e4db95bd3bb8bf3c116b923759df98183c)

Author SHA1 Message Date
Toshio Kuratomi bc69ad8147 Rename munge methods to preprocess_data.
Remove the call to preprocess_loop data from playbook_include as
includes can't be used with loops.
2015-03-23 18:42:28 -07:00
Toshio Kuratomi 6ba24e9fa1 Remove comment on changing Base.munge => it's used by become.py 2015-03-23 17:41:02 -07:00
Toshio Kuratomi 63c54035de Get rid of iteritems usage when we only care about the keys 2015-03-23 16:38:51 -07:00
Toshio Kuratomi fdf51e9a96 Use class.mro() instead of custom base_class finder code 2015-03-23 16:14:34 -07:00
Toshio Kuratomi 095990b4d8 Moving from getattr to properties for the v2 base class 2015-03-23 15:19:13 -05:00
Toshio Kuratomi 7115d37933 Merge pull request #10518 from pilou-/file_mode_v2
Port #10258 to v2
2015-03-22 19:56:03 -07:00
Pierre-Louis Bonicoli 5942144868 Port #10258 to v2 2015-03-23 01:25:18 +01:00
James Cammarata bda83fdf84 Fixing bug in v2 dynamic include code, pointed out by apollo13 2015-03-22 19:17:25 -05:00
Brian Coca c5d5ed17ea added tag resolution mirroring updated v1 2015-03-22 02:05:27 -04:00
Brian Coca edb1bd25dd added password prompting and become/sudo/su collapsing 2015-03-21 01:19:07 -04:00
Brian Coca 9d3a63945d moved pipeline check to class var that was previouslly added 2015-03-21 00:48:38 -04:00
Brian Coca b370728439 several fixes to cli tools
- fixed issue with previous commit with bad constants vs C ref on become
- added list-tags
- rearranged common options to utils/cli.py
- added generic validate for both vault and become conflicts
- removed dupes and conflicting options
2015-03-21 00:40:24 -04:00
James Cammarata 93c9803818 Removing some leftover debug prints and cleaning up test sample 2015-03-20 23:25:21 -05:00
Brian Coca cf96c7719e added become_method list and pipeline support to connection class methods
added generic method to check supported become methods for the connection plugin
2015-03-20 23:48:52 -04:00
Brian Coca c7c8425856 fixed command line PE options to be the same as in 1.9 2015-03-20 23:12:16 -04:00
James Cammarata 393246fdd3 Make v2 playbook class attributes inheritable
Also fixing some other become-related things
2015-03-20 14:15:12 -05:00
Toshio Kuratomi b186676e38 Clean up jsonify and make json_dict_*to* more flexible at the same time. 2015-03-20 11:35:19 -07:00
James Cammarata 3473a3bbec Changes to become cmd formatting, per a47c132 2015-03-17 10:50:41 -05:00
James Cammarata 316284c56b Making blocks support become, and cleaning up sudo/su references 2015-03-17 10:35:46 -05:00
James Cammarata 22304afd1d More fixing of become stuff in v2 2015-03-13 15:31:20 -05:00
Toshio Kuratomi 70f56c135c Port #10357 to v2 2015-03-13 11:44:58 -07:00
James Cammarata 070c7c319f Started implementing become in v2 2015-03-13 11:58:00 -05:00
James Cammarata b1d78a61fc Initial support for vault in v2
TODO:
* password prompting needs to be implemented, but is being worked on
  as part of the become privilege escalation changes
2015-03-12 12:14:57 -05:00
Toshio Kuratomi ee831e1071 Fix v2 for #10426
Note: In v1 we fix this by transforming into unicode just before we use
it (when we send it to jinja2) because jinja2 cannot handle non-ascii
characters in str.

In v2 our model is that all text values need to be stored as unicode
type internally.  So we transform this to unicode when we read it from
the inventory file and save it into the internal dict instead.
2015-03-11 21:28:45 -07:00
Brian Coca 5f6db0e164 preliminary privlege escalation unification + pbrun
- become constants inherit existing sudo/su ones
- become command line options, marked sudo/su as deprecated and moved sudo/su passwords to runas group
- changed method signatures as privlege escalation is collapsed to become
- added tests for su and become, diabled su for lack of support in local.py
- updated playbook,play and task objects to become
- added become to runner
- added whoami test for become/sudo/su
- added home override dir for plugins
- removed useless method from ask pass
- forced become pass to always be string also uses to_bytes
- fixed fakerunner for tests
- corrected reference in synchronize action plugin
- added pfexec (needs testing)
- removed unused sudo/su in runner init
- removed deprecated info
- updated pe tests to allow to run under sudo and not need root
- normalized become options into a funciton to avoid duplication and inconsistencies
- pushed suppored list to connection classs property
- updated all connection plugins to latest 'become' pe

- includes fixes from feedback (including typos)
- added draft docs
- stub of become_exe, leaving for future v2 fixes
2015-03-10 18:42:36 -04:00
Monty Taylor 8758ba08bd Update common OpenStack requests-related parameters
Also, update docs related to earlier changes in this stack.
2015-03-06 18:20:45 -05:00
Toshio Kuratomi 983b617fb7 Update the modules 2015-03-04 18:56:50 -08:00
James Cammarata ca4c5a14bb Fixing bug related to dynamic includes + with* loops 2015-03-04 13:52:32 -06:00
James Cammarata d0cfcdbc4d Getting dynamic includes working a bit better on v2 2015-03-04 13:52:31 -06:00
James Cammarata f12695f287 Add run_once/BYPASS_HOST_LOOP feature in v2 2015-03-04 13:52:31 -06:00
James Cammarata 4af2d0a907 Reworking v2 play iterator and fixing some other bugs
Still not working quite right:
* dynamic includes are not adding the included tasks yet
* running roles with tags not quite working right
2015-03-04 13:52:31 -06:00
Toshio Kuratomi 07a7353a2c Port changes from #10372 fixing checksumming on csh and backslashes in filenames to v2 2015-03-02 16:08:08 -08:00
Brian Coca 893f1326fc Merge pull request #10114 from bcoca/v2_url_lookup
v2: added draft url lookup
2015-02-26 23:53:07 -05:00
Brian Coca 5a64b2e269 Merge pull request #10305 from bcoca/cartesian
Cartesian
2015-02-26 23:25:33 -05:00
Toshio Kuratomi 825dd25d43 Update module pointers 2015-02-26 13:52:10 -08:00
Monty Taylor 0b8773fc99 Remove state from central argument list
There is an old PR that shows a great use case for having a different
set of states for the server module. Before the other modules start
being in real use, pull this out so that we don't get ourselves into a
pickle.
2015-02-26 11:35:29 -05:00
Toshio Kuratomi affb66416f Port fix for #10300 to v2 2015-02-25 11:26:43 -08:00
Alvaro Lopez Ortega 2dc910bd14 Fixes bug #10225 - Runtime error
Prevents an exception from raising in some corner cases where SSH might
be misconfigured. It seems not to fix a specific problem, although it
makes the method a little bit more solid.
2015-02-21 22:36:03 +01:00
Brian Coca 5d946ec4f2 adds cartesian product lookup 2015-02-20 09:04:00 -05:00
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
Monty Taylor d06a277b50 Port openstack module_utils changes to v2 branch 2015-02-13 10:42:21 -05: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
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
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 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 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 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
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
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
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 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
Toshio Kuratomi bdf42104cd Add some more comments from jimi-c and mpdehaan 2014-12-09 13:52:39 -06:00
Toshio Kuratomi 74f48ed79d Inventory with docstrings and notes on how to change 2014-12-09 13:52:35 -06:00
Veres Lajos bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 2014-12-04 22:23:35 +00:00
James Cammarata a1d990a673 Minor tweaks to v2 playbook iterator to support executor testing 2014-11-14 10:25:37 -06:00
James Cammarata 24bebd85b4 Adding v2 task/block iterator and some reorganizing 2014-11-08 01:44:21 -06:00
Toshio Kuratomi f1267c0b05 Move from md5 to sha1 to work on fips-140 enabled systems 2014-11-06 21:28:04 -08:00
James Cammarata 229d49fe36 Adding new playbook objects for v2
* Playbook
* TaskInclude
2014-11-05 21:13:47 -06:00
James Cammarata 0ed9746db3 Adding Play class for v2 2014-11-04 15:16:53 -06:00
James Cammarata 11822f0d57 Adding VariableManager class for v2 2014-11-03 13:51:18 -06:00
James Cammarata 7cd5b13e34 Make sure v2 playbook classes validate attributes
Also removing cruft code from earlier iteration on task.py and fixing
a bug where 'shell' was not removed from the task ds after munge()
cleaned things up
2014-10-30 16:04:34 -05:00
James Cammarata 3b0e64127d Refactoring role spec stuff into a dedicated parsing class
Also reworking tests to cut down on the number of patches required
by sub-classing the DataLoader() class and reworking the base object's
structure a bit to allow its use
2014-10-30 12:42:06 -05:00
James Cammarata bd203a44be Adding more unittests for the v2 role class 2014-10-30 12:42:06 -05:00
Toshio Kuratomi 7055505227 Add python3 compat header 2014-10-28 20:44:21 -04:00
Toshio Kuratomi 67ff4428d5 Fix up all python3 issues that do not have to do with text/bytes 2014-10-28 20:27:14 -04:00
James Cammarata 58defa5cce Adding role deps to v2 Role class and fixing some bugs 2014-10-28 00:15:02 -05:00
James Cammarata 7ea84d7499 More v2 roles class work
* added ability to set parents (will be used when the deps are loaded)
* added role caching, so roles are not reloaded needlessly (and for
  use in detecting when roles have already been run)
* reworked the way metadata was stored - now individual attribute fields
  instead of a dictionary blob
2014-10-27 13:27:25 -05:00
James Cammarata 44afa7facc Updating Role class for new DataLoader stuff 2014-10-25 23:42:35 -05:00
James Cammarata 7cb489eca3 Adding a data parsing class for v2 2014-10-24 14:06:43 -05:00
James Cammarata be972225a5 Removing unnecessary import from v2 parsing init 2014-10-22 11:00:24 -05:00
Toshio Kuratomi c1b290a311 Fix logic that prevents multiple action, local_action, and modules to be specified. 2014-10-21 17:04:49 -04:00
Toshio Kuratomi b3452de8a7 Hook up the general parsing unittests and get them passing 2014-10-21 16:06:40 -04:00
James Cammarata 0a8c91a812 Fixing up tests, removing some of the yaml error stuff from parsing
* moved old unittests for vault over to the new codebase
* reverted YAML error helpers and reverted the load() function
  in parsing/__init__.py, pending a rewrite of a new YAML loader
  class of some kind to encapsulate all of that
* fixed an error in in the module args parser regarding the shell/
  command argument parsing, where some additional arguments were
  being lost
2014-10-21 13:28:01 -05:00
James Cammarata 0ed97e4d11 Updating v2 Role class code 2014-10-21 10:12:45 -05:00
Toshio Kuratomi 4c86bd3ca6 Merge the vault tempfile fix to the v2 tree 2014-10-21 10:33:33 -04:00