Commit Graph

448 Commits (b0448d9cf4c743a3d7d5c31d88009745c6a3e3ca)

Author SHA1 Message Date
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
10 years ago
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.
10 years ago
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
10 years ago
Monty Taylor 8758ba08bd Update common OpenStack requests-related parameters
Also, update docs related to earlier changes in this stack.
10 years ago
Toshio Kuratomi 983b617fb7 Update the modules 10 years ago
James Cammarata ca4c5a14bb Fixing bug related to dynamic includes + with* loops 10 years ago
James Cammarata d0cfcdbc4d Getting dynamic includes working a bit better on v2 10 years ago
James Cammarata f12695f287 Add run_once/BYPASS_HOST_LOOP feature in v2 10 years ago
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
10 years ago
Brian Coca 618722ddee fixed function call to proper number of params 10 years ago
Toshio Kuratomi 07a7353a2c Port changes from #10372 fixing checksumming on csh and backslashes in filenames to v2 10 years ago
Brian Coca 893f1326fc Merge pull request #10114 from bcoca/v2_url_lookup
v2: added draft url lookup
10 years ago
Brian Coca 5a64b2e269 Merge pull request #10305 from bcoca/cartesian
Cartesian
10 years ago
Toshio Kuratomi 825dd25d43 Update module pointers 10 years ago
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.
10 years ago
Toshio Kuratomi affb66416f Port fix for #10300 to v2 10 years ago
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.
10 years ago
Brian Coca 5d946ec4f2 adds cartesian product lookup 10 years ago
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
10 years ago
Toshio Kuratomi 55e26db290 Support nested modules with ANSIBLE_LIBRARY env var
From v1: 4c2d06d2fe
10 years ago
Alexey Shamrin b950a38e30 fix links to ansible-devel in documentation pages 10 years ago
Monty Taylor d06a277b50 Port openstack module_utils changes to v2 branch 10 years ago
Toshio Kuratomi 9d605171a7 Didn't port isbasestring/isunicodestring from kitchen so switch to isinstance 10 years ago
Toshio Kuratomi 740bd8fbde Update to fix logentries issues 10 years ago
Toshio Kuratomi dd484e8211 Update modules 10 years ago
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
10 years ago
Paul Geraghty 0d82b846cc Correct typos 10 years ago
Toshio Kuratomi c31831f028 Move from using inspect to __file__ in order to find the path to the
module snippets
10 years ago
Toshio Kuratomi 01a6081b49 First swing at making module_common.py more v2-ish 10 years ago
James Cammarata 0e834509c8 Fix in v2 for bare variable conversion 10 years ago
Toshio Kuratomi 7c86db3187 Add KSH compat
cherry picked from https://github.com/ansible/ansible/pull/6899
10 years ago
James Cammarata 31dd75de59 Fixing many bugs in v2
* delegate_to rudimentary support (still needs much more work)
* lots of other things
10 years ago
Toshio Kuratomi 402a6d0533 Explicitly close files opened by facts
Fixes #10157
10 years ago
Toshio Kuratomi 9db17afc85 Update modules 10 years ago
Toshio Kuratomi 4902c06304 Obfuscate passwords in more places where it is displayed 10 years ago
Toshio Kuratomi 8f06ba2bc1 Port https://github.com/ansible/ansible/pull/10162 (py-2.4 compat fix) to v2 tree 10 years ago
Toshio Kuratomi 019f74dced Update modules 10 years ago
Toshio Kuratomi cea2f2a7cf remove broken nad commented unicode conversion -- in v2, this is done when the data first enters ansible. 10 years ago
Toshio Kuratomi d50089ca9f Add a function to change output from a str to unicode 10 years ago
Toshio Kuratomi c655e91436 For now throw an exception if decoding a non-utf8 extra var 10 years ago
Toshio Kuratomi 1ed1af6cb4 Make extra_vars into unicode string type early
Fixes v2 for #10106
10 years ago
Toshio Kuratomi 97438f0039 Update the modules 10 years ago
Toshio Kuratomi b2c7b911bc v2/plugins/filter is now a symlink as it does not differ between v1 and v2 10 years ago
Toshio Kuratomi 03e213a272 Change the v2 filter plugins into a symlink to v1 as the plugins are the same for both 10 years ago
Toshio Kuratomi e702a28496 Comment for why we have checksum and checksum_s 10 years ago
Brian Coca 440df12f2c added retry configs to v2, pending is actual functionality 10 years ago
Toshio Kuratomi 4b89eb293f port fix for https://github.com/ansible/ansible/pull/10129 to v2 10 years ago
Toshio Kuratomi ca35d138f1 Update modules 10 years ago
Toshio Kuratomi 747cc26ae1 Update modules 10 years ago
James Cammarata c978c77796 Fixing more v2 bugs 10 years ago
Brian Coca c73254543a made env var also consistent 10 years ago
Brian Coca 4fd760467b made inventory consistent in config file, deprecated old config hostfile 10 years ago
James Cammarata 171a67cfef Tweaking role path searching in v2 to be a bit more like v1 10 years ago
Toshio Kuratomi 556d4f0025 Update core modules 10 years ago
Toshio Kuratomi b3d5f82d29 copy to_bytes and to_unicode functions from kitchen for use in v2 10 years ago
James Cammarata 181dd058eb Fix roles_path loading in v2 10 years ago
James Cammarata ed05db52ba Fixing playbook includes in v2 where included paths are relative 10 years ago
James Cammarata b07ab41994 Fix directory loading of host/group vars in v2 10 years ago
James Cammarata 4d9bf37afa Fixing some v2 inventory bugs 10 years ago
James Cammarata b6a34518ad Fixing checkmode support and some other things in v2 10 years ago
Toshio Kuratomi 0aac6360e4 Update core modules 10 years ago
Brian Coca 2fa9a0958a v2: added draft url lookup 10 years ago
Toshio Kuratomi 418e24cc6c Merge changes from v1 env-setup into v2/env-setup 10 years ago
Toshio Kuratomi 975b547aaa Update core modules 10 years ago
Toshio Kuratomi a63e4c595f Another place that needs to be json_dict_bytes_to_unicode 10 years ago
Toshio Kuratomi 0f6b87d33e Revert "Fix import statements" -- those impotrt statements were right
before... something else is fishy

This reverts commit 8ab536fbf2.
10 years ago
Toshio Kuratomi 8ab536fbf2 Fix import statements 10 years ago
Toshio Kuratomi d3666f3265 Make py2.4 remote checksum large-file-enabled as well 10 years ago
James Cammarata bbd08cd0e2 Fixing more v2 issues with integration tests 10 years ago
Toshio Kuratomi 6f5d18a20e Merge pull request #10087 from axos88/devel
fix checksum calculation for large files
10 years ago
Toshio Kuratomi 335cf2f05f Update module repos 10 years ago
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
10 years ago
James Cammarata 455423aafb Updating submodule reference for v2 10 years ago
James Cammarata 71e774e8bf Implementing playbook-level includes and getting includes integration test working 10 years ago
Akos Vandra 03fa421f3f do not use with, it is not supported all the way down to 2.4 10 years ago
Akos Vandra e8144b3b90 fixes #10086 10 years ago
Toshio Kuratomi 53a3644ecd Update the modules 10 years ago
James Cammarata 45212394ca Adding in hostvars to v2 and getting more integration tests working 10 years ago
James Cammarata f9d451eb9c Adding post-validation method to connection info object 10 years ago
Toshio Kuratomi 364f772cc5 Fix quoting of shell parameters used in remote_checksum and add integration test to detect the error
Fixes #682
10 years ago
Toshio Kuratomi f2b1a289ed Update modules to pull in fixes 10 years ago
Toshio Kuratomi 2a04663255 Port forward lmacken's fix for 9886 to v2 10 years ago
James Cammarata 115684d235 Minor tweak to stub code for v2 ansible-playbook 10 years ago
James Cammarata eae9a406ad Fixing v2 code for test_yum and added capability to squash items 10 years ago
James Cammarata 5addbe7956 V2 submodule update 10 years ago
James Cammarata c60c295ada Adding more fixes for integration testing under v2 10 years ago
Toshio Kuratomi 2e0472e03b Allow ansible-playbook to determine if an invalid limit is specified 10 years ago
Brian Coca 23783a5228 Merge pull request #10014 from bcoca/inventory_script_errorhandle
ansible now captures returncode errors on inventory scripts
10 years ago
Brian Coca 976f51e5f5 Merge pull request #9968 from bcoca/v2_play_env
V2: added environment to play
10 years ago
Toshio Kuratomi 46e486ba41 Update modules to fix docs build and unittests 10 years ago
Toshio Kuratomi 01be9f4399 Update modules to latest 10 years ago
Brian Coca 78e1a7ed93 Revert "Fix: Add support for SSL protocol version configuration option" 10 years ago
Toshio Kuratomi 365af69c3e More quotes and reimplement without pushd/popd 10 years ago
Brian Coca 832b3ebea2 adds to v2 the ability to run with empty inventory (implicit localhost),
which is now a warning and not an error.
10 years ago
Brian Coca 9ccabbb95e Merge pull request #9808 from swimlappy/sslconfig
Fix: Add support for SSL protocol version configuration option
10 years ago
James Cammarata a7615c4a6f Updating v2 submodule pointer again, after updating from devel 10 years ago
James Cammarata 6e5fb3de59 Updating submodule pointer for v2 core modules 10 years ago
James Cammarata a6d6a89ad1 More work on v2, fixing bugs and getting integration tests running 10 years ago
Toshio Kuratomi dde32a826f Set default values for shell variables that we use
Fixes #9991
10 years ago
Brian Coca 6b3d0f4788 now captures returncode errors on inventory scripts 10 years ago
James Cammarata 02bc014bcd More work on getting integration tests running for v2 10 years ago
Toshio Kuratomi 6326daa34e Update modules for unarchive handling user,group,mode and add integration test for the same 10 years ago
Toshio Kuratomi 6e6d291f59 Disable egg generation in a way that works on bash 10 years ago
Toshio Kuratomi 67c988411b Comment out egg generation for now as we don't yet have a setup.py for v2 10 years ago
Toshio Kuratomi 5f8d63dd57 Sync changes to v2 env-setup 10 years ago
Toshio Kuratomi 4add30c96e Optimize away a string replacement :-) 10 years ago
James Cammarata 4010f79441 Updating v2 submodule sha 10 years ago
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.
10 years ago
James Cammarata b0486f7a20 Updating submodule pointer for v2 10 years ago
Brian Coca b250e138d3 added environment to play and made both it and no_log inhertiable by
task
10 years ago
James Cammarata 1544dde932 Moving over all lookup plugins to v2 10 years ago
James Cammarata 63c2d616e7 Starting to move over lookups and fixing some bugs related to that 10 years ago
James Cammarata 0823fb2cd9 fixing bug with role paths 10 years ago
James Cammarata fd67a20787 Fixed "until" loop support, and cleaned up the async_wrapper/polling a bit 10 years ago
James Cammarata 065733ad93 Moving more action plugins over and fixing some bugs with role loading 10 years ago
James Cammarata 7f7e9914aa Changing tag evaluation method to match when conditional method 10 years ago
James Cammarata 62d79568be Creating playbook executor and dependent classes 10 years ago
Jason Holland eedc51f213 Add support for SSL protocol version configuration option. Also fix 2 places where the SSL version was not being set properly. 10 years ago
Toshio Kuratomi b6c3670f8a Mark some inventory methods that I'm thinking should go away (and their
replacements)
10 years ago
Toshio Kuratomi b4dfcc2d28 Start laying out how the pieces of code that parse inventory information into ansible will work 10 years ago
Toshio Kuratomi bdf42104cd Add some more comments from jimi-c and mpdehaan 10 years ago
Toshio Kuratomi 74f48ed79d Inventory with docstrings and notes on how to change 10 years ago
Veres Lajos bf5d8ee678 typofixes - https://github.com/vlajos/misspell_fixer 10 years ago
James Cammarata a1d990a673 Minor tweaks to v2 playbook iterator to support executor testing 10 years ago
James Cammarata 24bebd85b4 Adding v2 task/block iterator and some reorganizing 10 years ago
Toshio Kuratomi f1267c0b05 Move from md5 to sha1 to work on fips-140 enabled systems 10 years ago
James Cammarata 229d49fe36 Adding new playbook objects for v2
* Playbook
* TaskInclude
10 years ago
James Cammarata 0ed9746db3 Adding Play class for v2 10 years ago
James Cammarata 11822f0d57 Adding VariableManager class for v2 10 years ago
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
10 years ago
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
10 years ago
James Cammarata bd203a44be Adding more unittests for the v2 role class 10 years ago
Toshio Kuratomi 7055505227 Add python3 compat header 10 years ago
Toshio Kuratomi e7ee9ddc0a Add the python3 compat header 10 years ago
Toshio Kuratomi e99dc5a57c Add copyright and py3 compat header 10 years ago
Toshio Kuratomi 67ff4428d5 Fix up all python3 issues that do not have to do with text/bytes 10 years ago
James Cammarata 58defa5cce Adding role deps to v2 Role class and fixing some bugs 10 years ago
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
10 years ago
James Cammarata 44afa7facc Updating Role class for new DataLoader stuff 10 years ago
James Cammarata 7cb489eca3 Adding a data parsing class for v2 10 years ago
James Cammarata be972225a5 Removing unnecessary import from v2 parsing init 10 years ago
James Cammarata 2ff17ebd93 Adding in VaultEditor tests from old unittests 10 years ago
Toshio Kuratomi c1b290a311 Fix logic that prevents multiple action, local_action, and modules to be specified. 10 years ago
Toshio Kuratomi b3452de8a7 Hook up the general parsing unittests and get them passing 10 years ago
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
10 years ago
James Cammarata 0ed97e4d11 Updating v2 Role class code 10 years ago
Toshio Kuratomi 4c86bd3ca6 Merge the vault tempfile fix to the v2 tree 10 years ago
Toshio Kuratomi e78c5f925b Python3 fixes 10 years ago
Toshio Kuratomi a954220957 Migrate the v2/tests to use the ansible.compat module 10 years ago
Toshio Kuratomi 3f27e5e080 Compat tree for code dealing with compatibility between python versions 10 years ago
James Cammarata b0069a338e Overhauls to v2 code
* using inspect module instead of iteritems(self.__class__.__dict__, due
  to the fact that the later does not include attributes from parent
  classes
* added tags/when attributes to Base() class for use by all subclasses
* removed value/callable code from Attribute, as they are not used
* started moving some limited code from utils to new places in v2 tree
  (vault, yaml-parsing related defs)
* re-added ability of Block.load() to create implicit blocks from tasks
* started overhaul of Role class and role-related code
10 years ago
Toshio Kuratomi 5fe5e2d3f4 Docstring for v2 inventory.subset 10 years ago
Michael DeHaan a60fd58145 Update block.py
Add note on block properties
10 years ago
James Cammarata 57d2622c8c Adding block code and tests 10 years ago
James Cammarata 21577ff2cc Moved v2 tests for plugins to new location 10 years ago
James Cammarata 1d04e4b3d2 Updating unittests for v2 stuff 10 years ago
Toshio Kuratomi eafa718be1 Remove inherit from object as it's no longer needed to determine new-style classes 10 years ago
Toshio Kuratomi acf4bc95a3 Give all v2 tests the python3 compat boilerplate 10 years ago
Toshio Kuratomi 18f30b00ba Add python3-compat boiler to all core files 10 years ago
Toshio Kuratomi ff8042c5c3 Add python3 compat boilerplate to executor 10 years ago
Toshio Kuratomi c9abd0fd58 Stub out Inventory class - we're going to draw heavily on the existing
inventory for implementation
10 years ago
Michael DeHaan 6ca67c61cb Starting to stub out some classes. 10 years ago
Toshio Kuratomi a707f5acfe Fix relative imports 10 years ago
Toshio Kuratomi 6ecca227b8 Fix missing import 10 years ago
Toshio Kuratomi 057c1df303 Remove temp file 10 years ago
Toshio Kuratomi cf5ce97275 Somehow, git mv only rm'd test/v2 and didn't add v2/test 10 years ago
Toshio Kuratomi b62e7ae8f5 Remove extraneous __init__ to fix v2 unittests 10 years ago
Toshio Kuratomi 46b54443f1 Add a README for the v2 unittests 10 years ago
Toshio Kuratomi 938b2108d0 Move the v2 tests under the v2 tree 10 years ago
Michael DeHaan 187da236b4 Add new class stubs 10 years ago
Michael DeHaan ccd559137f add missing headers, rm the subtree of ansible/inventory as we wish to overhaul it. 10 years ago
James Cammarata a50332fc8a Adding v2 error line support, and tests 10 years ago
Michael DeHaan 98ed69213b Error -> ParserError 10 years ago
Michael DeHaan 79f41d9c1a This makes the module args parser more functional to eliminate side effects and eliminiates the 'return None' error path
to make sure we are handling more use cases.  Some paths are not yet complete, including most likely handling of the 'raw'
module.
10 years ago
Michael DeHaan 56b6cb5328 Teaching objects to load themselves, making the JSON/YAML parsing ambidexterous. 10 years ago
James Cammarata c83a833740 New v2 ModuleArgsParser code and fixing up tests/other task code 10 years ago
Michael DeHaan 4cb7f654b6 Add stub tests for module args parsing. 10 years ago
James Cammarata 93e273333d Adding tests for new yaml parsing stuff and adjusting imports 10 years ago
James Cammarata 8ab0749217 Adding new yaml parsing classes 10 years ago
Michael DeHaan 21642c0fbf We need module args specific parsing classes. 10 years ago
Michael DeHaan 05231dcde6 Move over some of the parsing functions that we need. 10 years ago
Michael DeHaan e8aa847e5b Attempt to clean up the munging functions a little. 10 years ago
Michael DeHaan d97b38ba83 Attribute defaults and optional accessors. 10 years ago
Michael DeHaan e66a0096a7 Work in progress on task loading. 10 years ago
Michael DeHaan 1556b0384f Add submodule references since v2 development will need them, the tree obviously does
not need two copies.
10 years ago
Michael DeHaan f066e361f1 WIP on data structure processing patterns. 10 years ago
Michael DeHaan 8cecb0690f Update base.py
updated with some notes
10 years ago
Michael DeHaan 94db7365b9 __getattr__ to hide some of the attribute magic. 10 years ago
Michael DeHaan b54434c1b2 WIP on Attributes. Getting closer. 10 years ago
Michael DeHaan 6db1b4dfd2 WIP on refactoring changes 10 years ago
Michael DeHaan b9223e5995 Add attribute starter notes 10 years ago
Michael DeHaan 335221d79e This is an exceedingly rough sketch of what attributes might look like - metaclass implementations NOT complete. 10 years ago
Michael DeHaan fa81680d9b Fix docstring. 10 years ago
Michael DeHaan ff87ac08a7 An attempt at modularization prior to moving things towards BaseObject and considering Attributes. 10 years ago
James Cammarata cae88ca12f Initial work to refactor Task 10 years ago
Michael DeHaan 32309e37ce Plan for unified CLI with subcommands? 10 years ago
Michael DeHaan 723e4bddc3 Remove typo and intermediate dir. 10 years ago
Michael DeHaan da01eef4db Move v2 out of the package tree so it does not yet appear. 10 years ago