Commit Graph

396 Commits (582259f98ba750d9eda833acdc1a2a490c516792)

Author SHA1 Message Date
Toshio Kuratomi 7133d6361f Merge pull request #10691 from ianzd/python3
Change how we're calling StringIO
10 years ago
Toshio Kuratomi 5dce745868 Merge pull request #10690 from momandine/print_function
Print function
10 years ago
Ian Dotson d85f97ccfd Change how we're calling StringIO since we're now importing the class rather than a module. 10 years ago
Amandine Lee 683c2913c5 Use print function 10 years ago
Amandine Lee 3d2a056ad4 Import futures including print 10 years ago
Toshio Kuratomi b0479c425b Merge pull request #10688 from ianzd/devel
Import StringIO from six in a couple more places.
10 years ago
ian 3bb7b0eef3 Import StringIO from six in a couple more places. 10 years ago
Toshio Kuratomi 3a8088fe30 _available_vars in v1 == _available_variables in v2 10 years ago
ian 1bdf0bb0d6 Several more changes to suport python3 syntax. 10 years ago
Dorian Pula 3504f1cad9 Add test requirements for working with v2. 10 years ago
Toshio Kuratomi a444a7f363 Merge pull request #10680 from ianzd/devel
Change exceptions to python3 syntax.
10 years ago
Dorian Pula b407dd8b58 Add setup.py for v2 to allow for pip editable installs. 10 years ago
ian 6747f82547 Change exceptions to python3 syntax. 10 years ago
Dorian Pula b193d327b6 Fix re import failure in templates module when running unit tests. 10 years ago
Feanil Patel 0abcebf1e4 Don't convert numbers and booleans to strings.
Before this change if a variable was of type int or bool and the variable was referenced
by another variable, the type would change to string.

eg. defaults/main.yml
```
PORT: 4567
OTHER_CONFIG:
  secret1: "so_secret"
  secret2: "even_more_secret"

CONFIG:
  hostname: "some_hostname"
  port: "{{ PORT }}"
  secrets: "{{ OTHER_CONFIG }}"
```

If you output `CONFIG` to json or yaml, the port would get represented in the output as a
string instead of as a number, 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.

Update template test to also test var retainment.

Make the template changes in v2.
Update to only short-circuit for booleans and numbers.

Added an entry to the changelog.
10 years ago
Toshio Kuratomi 2af6314f57 Comment to clarify why we add one to the line and column recording 10 years ago
Brian Coca 3c9890a358 now in v2 everything passes a single passwords hash 10 years ago
James Cammarata 7076298dc1 Adding FIXME note to playbook executor code regarding password params 10 years ago
Brian Coca d732c94ac2 a bunch of updates to connection info and related, to pass down passwords
also now options populate required fields in required order allowing play to override
added capture of debug in action plugins when stdout is not json
10 years ago
James Cammarata e82ba723e2 Fixing multiple v2 bugs 10 years ago
Brian Coca 4bc79a746a more fine tunnign on verbosity 10 years ago
Brian Coca b1e6aaa790 implemented verbosity, added 5th level and now can see how many plays per playbooko if -vvvvv 10 years ago
Brian Coca 5531b84360 moved ad-hoc to use display 10 years ago
Brian Coca af97e732a0 updated ansible-playbook to use display, fixed issues breaking display class 10 years ago
Brian Coca e6e69c0894 finished implementing list-hosts, started adding list-tasks/list-tags
but getting just task names and have to adjust for having blocks.
10 years ago
Brian Coca 2eb2a41d05 renamed get_entries to get_plays 10 years ago
Toshio Kuratomi 349ecf6efe Add a vault test to data_loader test and some additional yaml tests to parsing/yaml/test_loader 10 years ago
Brian Coca 3c6fdebfe3 made listhosts play output name more consistent internally 10 years ago
Brian Coca a811c8841e now listhosts shows the same info as v1 10 years ago
James Cammarata 41d9bfde07 Moving the Display() instantiation outside of v2 classes 10 years ago
Brian Coca ada86dafaf added listhosts draft
fixed assert from list to new yaml ansible object
taskqueue is now None when just listing
10 years ago
Brian Coca e719bf765d switched to use cross platform os.sep, added diff output to copy 10 years ago
Brian Coca 20b4492704 started implementing 'list options' 10 years ago
Brian Coca 2ade17e2f5 v2 changed empty inventory to warning that only localhost is available 10 years ago
Brian Coca 0f8bc038ec changed to use display as utils.warning doesnt exist in v2 10 years ago
Brian Coca 25f071b64c fixed called to find plugin, transport is not needed as suffixes are passed 10 years ago
Brian Coca 7a81167b06 brought v2 find plugins up 2 date with v1, also added exception handling for whne there is a permissions issue 10 years ago
James Cammarata 469a1250b6 Moving new patch action plugin over to v2 10 years ago
Brian Coca ee1af1b14e Merge pull request #10559 from bcoca/become_constants_fix
removed folding sudo/su to become logic from constants
10 years ago
Toshio Kuratomi 5808b68d35 Update module pointers 10 years ago
Toshio Kuratomi 2cddb093f5 Add AnsibleList for keeping track of line numbers in lists parsed from yaml 10 years ago
Toshio Kuratomi 369bf0d214 No longer need AnsibleComposer 10 years ago
Toshio Kuratomi d277c6b821 Few more py3 cleanups 10 years ago
Toshio Kuratomi ac6b7045db A little py3 compat, side effect of making this work under profile 10 years ago
Toshio Kuratomi bfae708bbf Port v2 to the PyYAML C extension 10 years ago
James Cammarata 811a906332 Fixing the synchronize action plugin for v2 10 years ago
James Cammarata 34aba2dd9a Fixing dupe option for -u in v2 10 years ago
James Cammarata 0603b9c62c Merge branch 'v2_fixing' into devel
Conflicts:
	v2/ansible/playbook/helpers.py
10 years ago
James Cammarata 785c0c0c8c V2 fixing bugs 10 years ago
Toshio Kuratomi 69cf95bd0e Add __init__ to the yaml test dir 10 years ago
Toshio Kuratomi e697de6076 Move AnsibleBaseBaseYAMLObject's position_info into a property 10 years ago
Toshio Kuratomi 05f1bed12b Use the node's start_mark to determine line and column.
* Elminates a lot of logic in the AnsibleComposer class.
* Update tests with new column offsets.  The rule should now be
  consistently: Column is the start of the entry's value (so for
  strings, the first non-space after the entry beginning, for dicts, the
  first character of the first key)
10 years ago
Toshio Kuratomi b152275a36 Test line numbers and "fix" a bug in the scalar line counting 10 years ago
Toshio Kuratomi 4a5b37542d Merge pull request #10579 from ansible/v2-unicode-yaml
Change AnsibleConstructor for yaml to only return unicode strings
10 years ago
Toshio Kuratomi c41b917162 Add a yaml constructor for unicode strings:
* Changes AnsibleConstructor so that only unicode strings are returned
  (no str type)
* Tracks line, column numbers for strings
* Adds unittests for AnsibleLoader (generic for all the yaml parsing)
10 years ago
Brian Coca 4dd233b0dd Merge pull request #10237 from emonty/remove-auth-token
Remove auth token and port openstack module_utils changes to v2 tree
10 years ago
Monty Taylor 87c99b4675 Align verify parameter with validate_certs
The rest of ansible uses validate_certs, so make that the main
documented parameter. However, leave verify as an alias since that's the
passthrough value to the underlying libraries.
10 years ago
Monty Taylor 90ca386555 Add api timeout now that shade spports it everywhere 10 years ago
Toshio Kuratomi eb788dd8f6 Just move things around so that new_inventory doesn't interfere with testing 10 years ago
Toshio Kuratomi 378dc561cb Possible fix for the first newline and triple newline problems 10 years ago
Toshio Kuratomi 43c1a97447 Various unicode and backslash escape cleanups
* Do backslash escape parsing in parse_kv() [was being done in the copy
  module purely for newlines in the copy module's content param before]
* Make parse_kv always return unicode
* Add bandaid to transform args to unicode until we can fix things
  calling parse_kv to always send it unicode.
* Make split_args deal with unicode internally.  Warning, no bandaid for
  things calling split_args without giving it unicode (shouldn't matter
  as dealt with str internally before)
* Fix copy and unarchive action plugins to not use setdefaultencoding
* Remove escaping from copy (it was broken and made content into latin-1
  sometimes). escaping is now in parse_kv.
* Expect that content is now a unicode string so transform to bytes just
  before writing to the file.
* Add initial unittests for split_args and parse_kv.  4 failing
  tests.because split_args is injecting extra newlines.
10 years ago
Toshio Kuratomi 1cc2135a0d Fix no closed parens 10 years ago
Toshio Kuratomi 4aa3ac41a1 Port sivel's fix for egg_info (#10563) to v2 10 years ago
Toshio Kuratomi ce512e18f0 Remove fireball connection plugin. v2 will have accelerate but not fireball 10 years ago
Toshio Kuratomi dc9b36ccb0 Some notes on optimizing module_replacer 10 years ago
Brian Coca 5ec1f3bd6e removed folding sudo/su to become logic from constants as it is already present downstream in playbook/play/tasks 10 years ago
Toshio Kuratomi 0ec1b025a9 Update the module pointers 10 years ago
Toshio Kuratomi ea2d00c558 v2 equivalent for https://github.com/ansible/ansible/pull/8564
Looks like there's currently no code for the ansible_*_interpreter but
modified the note abouot adding it
10 years ago
Toshio Kuratomi 60f972dfe4 Fix the command module handling of non-ascii values.
We can't depend on the args being unicode text because we're in module
land, not in the ansible controller land
10 years ago
Toshio Kuratomi 38892e986e Convert exceptions to unicode using to_unicode rather than str. that stops unicode errors if the string has non-ascii text 10 years ago
Toshio Kuratomi 131683523b Add some comments to explain how the property code for Attributes works 10 years ago
Brian Coca 8a0b8629e8 readded -u option 10 years ago
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.
10 years ago
Toshio Kuratomi 6ba24e9fa1 Remove comment on changing Base.munge => it's used by become.py 10 years ago
Toshio Kuratomi 63c54035de Get rid of iteritems usage when we only care about the keys 10 years ago
Toshio Kuratomi fdf51e9a96 Use class.mro() instead of custom base_class finder code 10 years ago
James Cammarata 79cf7e7292 Modifying sample for test_become to show more test cases 10 years ago
Toshio Kuratomi 095990b4d8 Moving from getattr to properties for the v2 base class 10 years ago
Toshio Kuratomi 7115d37933 Merge pull request #10518 from pilou-/file_mode_v2
Port #10258 to v2
10 years ago
Pierre-Louis Bonicoli 5942144868 Port #10258 to v2 10 years ago
James Cammarata bda83fdf84 Fixing bug in v2 dynamic include code, pointed out by apollo13 10 years ago
Brian Coca c5d5ed17ea added tag resolution mirroring updated v1 10 years ago
Brian Coca ca540ef9f8 added vault password to dataloder creation 10 years ago
Brian Coca 08896e2cfd enabled vault password file and fixed prompting for connection password on local 10 years ago
Brian Coca edb1bd25dd added password prompting and become/sudo/su collapsing 10 years ago
Brian Coca 9d3a63945d moved pipeline check to class var that was previouslly added 10 years ago
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
10 years ago
James Cammarata 93c9803818 Removing some leftover debug prints and cleaning up test sample 10 years ago
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
10 years ago
Brian Coca c7c8425856 fixed command line PE options to be the same as in 1.9 10 years ago
James Cammarata 393246fdd3 Make v2 playbook class attributes inheritable
Also fixing some other become-related things
10 years ago
Toshio Kuratomi b186676e38 Clean up jsonify and make json_dict_*to* more flexible at the same time. 10 years ago
James Cammarata 3473a3bbec Changes to become cmd formatting, per a47c132 10 years ago
James Cammarata 316284c56b Making blocks support become, and cleaning up sudo/su references 10 years ago
Toshio Kuratomi caf2a96ef9 Merge pdksh fix to v2 10 years ago
James Cammarata 22304afd1d More fixing of become stuff in v2 10 years ago
Toshio Kuratomi 70f56c135c Port #10357 to v2 10 years ago
James Cammarata 070c7c319f Started implementing become in v2 10 years ago
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