James Cammarata
6eefc11c39
Make the loop variable (item by default) settable per task
...
Required for include+with* tasks which may include files that also
have tasks containing a with* loop.
Fixes #12736
2016-04-19 01:42:40 -04:00
James Cammarata
ccf646665b
Revert "Removing explicit setting of failed/failed_when"
...
This reverts commit 4e528e9535
.
2016-03-10 08:01:54 -05:00
James Cammarata
4e528e9535
Removing explicit setting of failed/failed_when
2016-03-10 07:42:16 -05:00
Brian Coca
7067bb32b8
make all conditionals lists
...
this brings them to equivalence with when:
fixes #13905
2016-03-09 09:33:59 -05:00
Brian Coca
e762095497
better task parsing errors
...
fixes #14790
2016-03-03 19:51:15 -05:00
Brian Coca
7ba790bbaf
don't tempalte register
2016-03-02 11:57:43 -05:00
夏恺(Xia Kai)
d033c40e80
Make task repr really work for meta tasks.
...
Signed-off-by: 夏恺(Xia Kai) <xiaket@xiaket@gmail.com>
2016-03-01 06:03:22 +00:00
Brian Coca
28cf4bc00b
fix incorrect environment processing
...
it was assumed it could only be a dict or string (it starts out as a list)
also a 2nd assumption that bare vars only would appear in one of the dict keys.
removed deprecation warnings from here as they should be signaled in the bare conversion itself.
2016-02-01 18:54:09 -05:00
James Cammarata
07a9a54b0e
Fix lookup of parent attribute when parent doesn't have the attr
...
Fixes #14100
2016-01-26 13:10:23 -05:00
James Cammarata
d07d974ad8
Revert "Properly look for parent become attribute"
...
This reverts commit 1b46a422aa
.
2016-01-19 18:17:42 -05:00
James Cammarata
1b46a422aa
Properly look for parent become attribute
...
Corrects inheritence of the boolean value, which needs some special
consideration from other (string/int) values.
Fixes #13872
2016-01-19 14:12:27 -05:00
James Cammarata
1825b4a9c7
Fix any_errors_fatal incorrect implementation in 2.0
...
Also adds that flag to blocks.
Fixes #13744
2016-01-15 13:15:10 -05:00
James Cammarata
3ec0104128
Fixing bugs in conditional testing with until and some integration runner tweaks
2015-12-19 21:14:48 -05:00
Toshio Kuratomi
224d596336
Remove args from get_name() as we can't tell if any of the args are no_log
2015-12-19 11:51:16 -08:00
James Cammarata
a3dcb910b8
Fixing bugs with {changed,failed}_when and until with registered vars
...
* Saving of the registered variable was occuring after the tests for
changed/failed_when.
* Each of the above fields and until were being post_validated too early,
so variables which were not defined at that time were causing task
failures.
Fixes #13591
2015-12-18 10:58:55 -05:00
Brian Coca
c64298de02
Revert "avoid persistent containers in attribute defaults"
...
This reverts commit 87969868d4
.
found better way to do it
2015-12-09 08:40:06 -08:00
Brian Coca
87969868d4
avoid persistent containers in attribute defaults
...
moved from the field attribute declaration and created a placeholder
which then is resolved in the field attribute class.
this is to avoid unwanted persistent of the defaults across objects which introduces
stealth bugs when multiple objects of the same kind are used in succession while
not overriding the default values.
2015-12-09 07:29:36 -08:00
James Cammarata
398f6bbb89
Fix typo from 5ae850c
2015-12-08 14:36:36 -05:00
James Cammarata
de690445bc
Make fact delegating configurable, defaulting to 1.x behavior
2015-12-08 14:36:33 -05:00
Nils Steinger
a1f6d17e37
More meaningful string representation for meta tasks (like 'noop' and 'flush_handlers')
2015-12-05 15:55:39 +01:00
James Cammarata
91500f8f5f
Fix include param precedence in variable manager
2015-11-19 09:01:51 -05:00
Toshio Kuratomi
62979efa14
Finish up plugin porting to global display
...
Also remove display = display which does nothing
2015-11-11 10:44:23 -08:00
Toshio Kuratomi
7ecfa072da
Move the rest of the playbook code to use global display
2015-11-11 10:44:22 -08:00
James Cammarata
76ae577519
Ensure environment is inherited properly (task->block/include->play)
2015-11-09 14:51:07 -05:00
James Cammarata
299054852a
Allow tags to be specified in included file params
...
Fixes #12940
2015-10-28 10:14:20 -04:00
James Cammarata
3fc2209ca0
Fixing retry/until logic and default value for retries
...
Fixes #12928
Fixes #12929
2015-10-27 15:37:48 -04:00
Brian Coca
d861e7dd5d
moved several directives so they are not settable at play, block, role and task levels
2015-10-22 07:51:22 -04:00
James Cammarata
2b3c5aa41e
Support cmd param in Tasks by assigning it to _raw_params
...
Fixes #12856
2015-10-21 15:47:09 -04:00
James Cammarata
e5b6d802bf
Removing some cruft related to _local_action value on Task, which was removed
...
Fixes #12819
2015-10-19 16:52:27 -04:00
Toshio Kuratomi
baa309309d
Bundle a new version of python-six for compatibility along with some code to make it easy for distributions to override the bunndled copy if they have a new enough version.
2015-10-16 08:21:28 -07:00
Marius Gedminas
f03da5be42
Python 3: there's no iteritems()
2015-10-13 09:47:16 +03:00
Brian Coca
abf2e13955
Revert "Track local_action internally to prevent it from being overridden"
...
This reverts commit 49ca0eb797
.
2015-10-09 13:01:32 -04:00
Brian Coca
101c8785ec
removed changes to make local action equate connection=local and brought it back to equate delegate_to=localhost
2015-10-09 13:01:32 -04:00
Juraci
254d6be520
Adding get_path method to Task class
2015-10-07 10:10:57 -03:00
Marius Gedminas
5edd6d9be4
Python 3: there's no basestring
...
Fixes another failing test.
(I don't want to do a global search/replace for 'basestring' because I
want to have unit tests covering each occurrence. When I run out of
existing failing tests, I'll try to write new ones.)
2015-09-29 09:01:57 +03:00
James Cammarata
6dd38c2a10
Fix parent attribute lookup to be default
...
Fixes #12526
2015-09-26 11:28:29 -04:00
James Cammarata
49ca0eb797
Track local_action internally to prevent it from being overridden
...
Fixes #12053
2015-09-14 12:11:58 -04:00
James Cammarata
ee7905c7e1
Compare include params against deprecated param names too
...
Fixes #12282
2015-09-09 22:15:50 -04:00
Marius Gedminas
823677b490
Replace .iteritems() with six.iteritems()
...
Replace .iteritems() with six.iteritems() everywhere except in
module_utils (because there's no 'six' on the remote host). And except
in lib/ansible/galaxy/data/metadata_template.j2, because I'm not sure
six is available there.
2015-09-03 09:23:27 +03:00
James Cammarata
50448d68e1
Implement max_fail_percentage and any_errors_fatal support
...
Fixes #11997
2015-08-26 12:03:47 -04:00
James Cammarata
601a1cc6d9
Multiple fixes for include statements and blocks in general
...
Fixes #11981
Fixes #11995
Fixes #12039
Fixes #12077
2015-08-26 02:23:22 -04:00
Brian Coca
ae91cdfc98
fixed environment inheritance
2015-08-25 10:15:32 -04:00
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
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
ac66e4001c
Fix for variable precedence with tasks/includes
...
Fixes #11881
2015-08-12 10:49:45 -04:00
James Cammarata
e7d0c9f820
Re-add vars to Base and standardize var processing
...
Fixes #11779
2015-08-07 00:06:30 -04:00
James Cammarata
5eb092b331
Handle top-level vars for include tasks to match v1 syntax
...
The "streamlined" syntax will be deprecated at some point in the future.
Fixes #11882
2015-08-06 17:21:02 -04:00
James Cammarata
c3ce140dd2
Exclude loop_args from post_validation for tasks
...
This field is templated specially during the TaskExecutor's loop
calculation, so there's no need to post validate it again.
Fixes #11481
2015-08-04 01:12:27 -04:00
James Cammarata
efcad3aa6d
Re-allow vars on tasks, specifically for includes
2015-07-30 14:14:49 -04:00
James Cammarata
71867f9480
Remove vars attribute from base
...
Fixes #11779
2015-07-29 09:45:30 -04:00
James Cammarata
7bc789ba64
Properly template task names
...
Also fixes in the correct way the bug in which the role name was
incorrectly showing up twice in the task name.
Fixes #10347
2015-07-23 15:45:36 -04:00
James Cammarata
975172c1ef
Make sure role name doesn't end up in task name more than once
...
Fixes #11691
2015-07-22 07:28:25 -04:00
James Cammarata
66a8864ae9
Fix environment setting and inheritence
...
Fixes #11401
2015-07-21 13:57:30 -04:00
James Cammarata
e64989beb4
Moving ConnectionInformation -> PlayContext
...
Also making PlayContext a child class of the Playbook Base class,
which gives it access to all of the FieldAttribute code to ensure
field values are correctly typed after post_validation
Fixes #11381
2015-07-21 12:13:50 -04:00
James Cammarata
f68223b9ed
Don't add module args into variables at all
...
Getting recursive errors otherwise, so this is probably not something
we want to do. This most likely only worked in v1 due to the fact that
module args were templated earlier than the point in Runner() when
they were fed into the templating engine.
2015-06-27 01:01:51 -04:00
James Cammarata
332ca927d9
Fix parent attribute lookup
...
Using 'value is None' instead of 'not value', in order to account
for boolean values which may be false
Fixes #11232
2015-06-24 20:57:53 -04:00
James Cammarata
72d4b40a26
Don't allow empty (none) loop values
...
Fixes #8593
2015-06-23 10:42:33 -04:00
James Cammarata
aa53212a9b
Don't use all task params for vars, just the module args
2015-06-23 10:20:09 -04:00
James Cammarata
803fb397f3
Fixing filter plugins directory from switch
2015-05-04 01:33:10 -05:00
James Cammarata
ce3ef7f4c1
Making the switch to v2
2015-05-03 21:47:26 -05:00
James Cammarata
f4172fb9da
Fix tag handling on meta:flush_handlers tasks
...
Fixes #10758
2015-04-17 13:02:09 -05:00
Brian Coca
fd2d7fe447
Merge pull request #10290 from bcoca/remove_bare_warning
...
removed bare variable detection as this confuses people
2015-03-18 20:43:56 -04:00
Brian Coca
de5eae2007
fixed traceback when x_user implicitly sets the become method
...
Fixes #10430
Also removed redundant resolution of sudo/su for backwards compatibility which
confused the conflict detection code.
2015-03-11 12:18:53 -04: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
Brian Coca
c81d981164
Merge pull request #10183 from bcoca/tag_control
...
adds complex tag management
2015-02-25 10:36:11 -05:00
Toshio Kuratomi
920b71984e
lists => frozenset as we're only using them in membership checks
2015-02-23 07:09:33 -08:00
Brian Coca
7044b5a8d1
removed bare variable detection as this confuses people and forced us to allow for bare expressions
2015-02-19 08:29:53 -05:00
Brian Coca
95fa770ba0
adds complex tag management
...
Adds a special tag:
- always: always runs no matter what --tags, --skip-tags say
Adds 4 special keywords for --tags/skip-tags
- all: all tagged + untagged tasks
- tagged: only tagged tasks
- untagged: only untagged tasks
- always: only run tasks tagged 'always'
2015-02-13 08:27:07 -05:00
Kishin Yagami
ac4dc1f739
enable environment keyword at play level
2014-11-22 10:41:13 +09:00
James Cammarata
4b6b58ab11
Fix role parameter precedence after 9a0f8f0
...
Fixes #9497
2014-11-20 12:53:48 -06:00
James Cammarata
9a0f8f0158
Split out various vars-related things to avoid merging too early
...
Fixes #9498
2014-11-17 15:31:55 -06:00
Toshio Kuratomi
cf548baeab
Fix missing strip() in a1809a371a
2014-09-29 18:07:55 -04:00
Toshio Kuratomi
a1809a371a
Target unnecessary templating warning at lines consisting of a single variable
...
Fixes #6407
2014-09-29 17:56:44 -04:00
James Cammarata
8a5675ca9f
Fixing no_log for the playbook level use
...
Fixes #8647
2014-08-19 10:35:01 -05:00
James Cammarata
20957a1b85
Remove duplicate compiling of task when: statements
...
Fixes #8538
2014-08-11 13:23:07 -05:00
James Cammarata
a650421e39
Catch task parameter splitting errors nicely
...
Fixes #8481
2014-08-11 10:16:58 -05:00
Michael DeHaan
8c4161d4a1
Merge branch 'retf_py' of git://github.com/berendt/ansible into devel
...
Conflicts:
lib/ansible/inventory/vars_plugins/group_vars.py
plugins/callbacks/mail.py
2014-08-08 12:17:37 -04:00
James Cammarata
e19ed3424d
Make sure default vars are used in template calls for tasks
...
Fixes #8499
2014-08-07 13:28:09 -05:00
James Cammarata
80df2135e9
Fix parsing of tasks with variable module names
...
Also adding an integration test for same.
2014-07-30 14:18:06 -05:00
James Cammarata
b21875d5a9
Make sure 'item' variable is set when using first_available_file
...
Fixes #8220
2014-07-24 00:05:26 -05:00
Matt Martz
0e953c2863
Add run_once task key
...
This caused the task to act like bypass host loop plugin and
execute only on a single host. Can be used with delegate_to
2014-05-19 12:33:47 -05:00
Christian Berendt
6676720ce5
fixed typos found by RETF rules in PY files
...
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
2014-05-03 18:40:05 +02:00
Michael Scherer
1e34e95ba0
Improve error message when multiple action are given
...
This can be illustrated using this playbook:
- command: id
delegate_to: "{{ remote_server }}"
user: "{{ remote_user }}"
The error is to use 'user' instead of 'remote_user', but the error message
do not really mention it, so it can be a bit hard to spot.
2014-04-20 20:32:33 +02:00
James Tanner
14499e8bf3
Fixes #4325 allow async and poll parameters to be templated vars
2014-03-20 16:09:58 -04:00
Seth Woodworth
1d5db30067
Updates loop warning, removes unnecessary c
2014-03-09 00:19:28 -05:00
James Cammarata
75e3b59bbd
Adding no_log: capability for tasks
...
Fixes #4088
2014-01-31 16:58:46 -06:00
Michael DeHaan
d07a3b5e9b
AnsibleWorks -> Ansible
2014-01-28 20:29:42 -05:00
jctanner
b2d594d24e
Merge pull request #5724 from angstwad/su-tasks-fix
...
Fix bug where playbook tasks do not escalate privs with 'su'
2014-01-23 14:05:14 -08:00
Paul Durivage
e875089eba
Fix bug where self.su was being set by the sudo param in play tasks
2014-01-22 11:04:19 -06:00
Paul Durivage
01d1bd61e7
Disallow su and sudo params in same play/task
2014-01-22 10:55:45 -06:00
Paul Durivage
f72f5a20df
Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
...
This reverts commit c17d0e0357
.
Conflicts:
lib/ansible/runner/connection_plugins/paramiko_ssh.py
2014-01-20 19:19:03 -06:00
James Tanner
c17d0e0357
Revert "Merge pull request #5325 from angstwad/add-su-support"
...
This reverts commit 6f4bfa2cff
, reversing
changes made to c91ba3a7c7
.
2014-01-20 16:10:11 -05:00
Paul Durivage
dec9131735
Ensure playbook support for su params
2014-01-20 11:46:56 -06:00
Paul Durivage
4088243deb
Proposing fix for Issue #4324 ; adding support for su in connection plugins ssh, ssh_alt
...
Fixes for ssh_alt support, adding in references to in_data where appropriate
2014-01-20 11:25:10 -06:00
Michael DeHaan
10350d1639
Update various copyrights. Not complete, but sufficient.
2014-01-04 13:32:04 -05:00
Michael DeHaan
8e5b7d3095
Remove code underlying when_* and only_if, which are deprecated features slated for removal in the 1.5 release.
2014-01-03 19:13:21 -05:00
Michael DeHaan
28b9fd4e30
We have had only_if, when_foo, etc, deprecated for a while and said they would be removed in 1.5. Now they are, with friendly error messages still.
...
Users of these features should use "when:" as documented at docs.ansible.com.
Similarly, include + with_items has been removed. The solution is to loop
inside the task files, see with_nested / with_together, etc.
2014-01-03 13:47:54 -05:00
James Tanner
4f13967386
Fixes #4536 Get the remote_user from multiple sources in a preferred order
2013-10-21 12:07:51 -04:00
Michael DeHaan
60944b81f0
Provide warning about "with_items: '{{ loop }}'" being redundant only when {{ starts the expression value. Fixes #4582 .
2013-10-19 14:24:12 -04:00
Michael DeHaan
21d4400c96
Misc pep8 fixes
2013-10-19 13:03:15 -04:00