Commit Graph

3406 Commits (b1ec6e8163256ed09a45b1aadc0fbc8f2f065ffb)
 

Author SHA1 Message Date
Michael DeHaan 613539810e Missing import 12 years ago
Michael DeHaan d500398e76 Merge pull request #1616 from dagwieers/skip-register
Do not register variable if host has been skipped
12 years ago
Michael DeHaan 52e2654faf Merge pull request #1621 from dhozac/lookup-with-vars
Lookup plugin arguments need to be templated
12 years ago
Michael DeHaan 73ae930659 Merge pull request #1623 from dhozac/group-hosts-set
Create a set of all the hosts in a group to prevent duplicates
12 years ago
Daniel Hokka Zakrisson 17e4ce97a4 Create a set of all the hosts in a group to prevent duplicates
Fixes #1516.
12 years ago
Daniel Hokka Zakrisson e74ffd6764 Lookup plugin arguments need to be templated 12 years ago
Dag Wieers 302eeae65d Do not register variable if host has been skipped
Executive summary: skipping a host corrupts a variable (when it is registered)

We have a play existing out of multiple tasks that check a condition, if one of these tasks fails we want to skip all next tasks in the playbook. I noticed that if we skip a task because a certain condition is met, and this task has a register-attribute, I loose the value in the variable. Which means we cannot use that variable in subsequent tasks to evaluate because it was skipped:

```
- action: command test -d /some/directory
  register: task

- action: command test -f /some/directory/file
  register: task
  only_if: '${task.rc} == 0'

- action: do something else
  only_if: '${task.rc} == 0'
```

In the above example, if the second task is skipped (because the first failed), the third action will end with a "SyntaxError: invalid syntax" complaining about the unsubstituted ${task.rc} (even though it was set by the first task and used for skipping the second).

The following play demonstrates the problem:

```
- name: Test register on ignored tasks
  hosts: all
  gather_facts: no

  vars:
    skip: true
    task: { 'rc': 666 }

  tasks:
  - action: debug msg='skip = ${skip}, task.rc = ${task.rc}'

  - name: Skip this task, just to test if task has changed
    action: command ls
    register: task
    only_if: '${skip} != True'

  - action: debug msg='skip = ${skip}, task.rc = ${task.rc}'

  - name: Now use task value
    action: command echo 'Works !'
    only_if: '${task.rc} == 0'
```

And the enclosed fix, fixes the above problem.
12 years ago
Michael DeHaan 44af1408ee Merge pull request #1611 from dhozac/no-hostvars-templating
Keep hostvars from being templated
12 years ago
Michael DeHaan 6793bcbe4d Merge pull request #1613 from dhozac/use-all-vars-for-hosts-template
Use all available vars for hosts:, user: and sudo_user:
12 years ago
Michael DeHaan 2303f65a1a Merge pull request #1614 from dagwieers/missing-action-error
Print the task name (if any) when complaining
12 years ago
Michael DeHaan 7a48525357 Merge pull request #1612 from dhozac/play-vars-list
Make parameterized playbook includes work with vars as a list
12 years ago
Dag Wieers b96877e5aa Print the task name (if any) when complaining
After spending 10 minutes to find which playbook had an action/local_action missing, I changed the error to include the task name (if set). The error eventually was caused because I added a name to a task, but the dash before the existing action was not removed.
12 years ago
Daniel Hokka Zakrisson 0be1f11ed5 Use all available vars for hosts:, user: and sudo_user: 12 years ago
Daniel Hokka Zakrisson eebbbd3f0e Make parameterized playbook includes work with vars as a list
Fixes #1610.
12 years ago
Daniel Hokka Zakrisson 5752d2a850 Fix lookup plugin test properly 12 years ago
Daniel Hokka Zakrisson c200c26ced Keep hostvars from being templated 12 years ago
Michael DeHaan e3f7f86ac4 Merge pull request #1608 from dhozac/when_set-non-string
Try to ensure the entire value is quoted
12 years ago
Michael DeHaan d5be13c3f0 Merge pull request #1605 from romeotheriault/add-md5-support-to-fetch-module
add bsd md5 support to fetch module
12 years ago
Michael DeHaan 96e5408046 Merge pull request #1607 from dhozac/j2-templated-vars
Templating fixes and features
12 years ago
Daniel Hokka Zakrisson 0ca1775bda Try to ensure the entire value is quoted 12 years ago
Daniel Hokka Zakrisson 25a8787e95 Template all variables before returning them to Jinja2 12 years ago
Michael DeHaan df458fb3b5 Merge pull request #1606 from romeotheriault/minor-linux-user-fixes
minor linux user module fixups
12 years ago
Daniel Hokka Zakrisson d2dce1d63f Make lookup plugin replacements part of the main variable logic 12 years ago
Daniel Hokka Zakrisson f91fa9f765 Fix lookup plugin test 12 years ago
Daniel Hokka Zakrisson a2bb3a09d2 Completely ignore stray $ in input
Previously, "a $ string $var" would not have gotten replaced at all.
12 years ago
Daniel Hokka Zakrisson 24b536d7ed Add some comments to templating system 12 years ago
Romeo Theriault ae36fb1dc6 minor linux user module fixups 12 years ago
Romeo Theriault 4cd133ed8f add bsd md5 support to fetch module 12 years ago
Michael DeHaan 8f9bef9d51 Merge pull request #1604 from dhozac/consume-module_vars-early
Template using module_vars early
12 years ago
Daniel Hokka Zakrisson 233a36b9e8 Template using module_vars early
Since no basedir is available at that time, avoid invoking
lookup plugins since they assume it is present.
12 years ago
Michael DeHaan f54af8f0f6 Merge pull request #1603 from dagwieers/rpm-makefile-fix
moduleformatter.py should include our own ansible clone
12 years ago
Dag Wieers a162fa70da moduleformatter.py should include our own ansible clone
Without this, module_formatter.py relies on the installed ansible which is wrong in more than one way.
12 years ago
Michael DeHaan c890ae18e7 Merge pull request #1575 from dhozac/parameterized-playbook-include
Add parameterized playbook includes
12 years ago
Michael DeHaan 3e855a5fcd Merge pull request #1593 from dhozac/lookup_generic
Add support for generic $XXX() to call $LOOKUP()
12 years ago
Michael DeHaan 451f05fa3d Merge pull request #1594 from sfromm/issue1342
Add ability to specify syslog facility for modules
12 years ago
Michael DeHaan 2f517f1cd3 Merge pull request #1600 from fdavis/devel
ansible-playbook verifies playbooks exist before running them
12 years ago
Michael DeHaan 753ee0b88d Merge pull request #1601 from romeotheriault/fix-remote-md5-for-solaris10
remove verbose option on digest call
12 years ago
Romeo Theriault 54b7f59416 remove verbose option on digest call 12 years ago
fdavis 7256c5af1a ansible-playbook verifies playbooks exist before running them
refers to #1345
12 years ago
Michael DeHaan 68e16773ae Merge pull request #1595 from sfromm/issue1564
Add --limit to calls to ansible and ansible-playbook
12 years ago
Michael DeHaan da210c3eff Added changelog note about 'when' 12 years ago
Michael DeHaan 9c16b3fc91 Organize 0.9 changelog 12 years ago
Michael DeHaan a56dc03180 update changelog 12 years ago
Stephen Fromm 06e54c0b97 Add ability to specify syslog facility for modules
Update constants.py so that one can specify environmental variable
ANSIBLE_SYSLOG_FACILITY or syslog_facility in ansible.cfg to define
the syslog facility to use.  Alternatively, you can specify
ansible_syslog_facility in inventory.  Runner now replaces
the syslog facility in the openlog() call with the default or
the injected variables ansible_syslog_facility.

This also updates hacking/test-module to behave similarly.
12 years ago
Stephen Fromm 4ae3bee416 Add --limit to calls to ansible and ansible-playbook
--limit takes localhost, FQDN, and 127.0.0.1.
12 years ago
Daniel Hokka Zakrisson 9924555623 Add support for generic $XXX() to call $LOOKUP() 12 years ago
Michael DeHaan 40e49b6a5a Merge pull request #1592 from jpmens/lookup_dnstxt3
$LOOKUP(dnstxt): handle exceptions
12 years ago
Jan-Piet Mens bd55899a60 $LOOKUP(dnstxt): handle exceptions
de-spaced
12 years ago
Michael DeHaan 001e2e564f Merge pull request #1590 from romeotheriault/minor-freebsd-user-module-fixes
minor freebsd user fixes
12 years ago
Michael DeHaan 80f196fdbc Merge pull request #1589 from romeotheriault/add-sunos-user-support
Add solaris support to user module
12 years ago