Created
May 9, 2012 08:59
-
-
Save cocoy/2643148 to your computer and use it in GitHub Desktop.
ansible issue #341
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# this is a demo of conditional executions using 'only_if', which can skip | |
# certain tasks on machines/platforms/etc where they do not apply. | |
- hosts: web-servers | |
user: ubuntu | |
sudo: True | |
vars: | |
favcolor: "red" | |
ssn: 8675309 | |
# Below we're going to define some expressions. | |
# | |
# Not only can we assign variables for reuse, but we can also assign conditional | |
# expressions. By keeping these in 'vars', the task section remains | |
# extraordinarily clean, and not littered with programming language | |
# constructs -- so it's easily skimmed by humans. | |
# | |
# Remember to quote any variables if they are not numbers! | |
# | |
# Interesting fact: aside from the $variables, these expressions are actually | |
# tiny bits of Python. They are evaluated in the context of each host, so different | |
# steps can be skipped on different hosts! They should evaluate to either True | |
# or False | |
is_favcolor_blue: "'$favcolor' == 'blue'" | |
#is_centos: "'$facter_operatingsystem' == 'CentOS'" | |
# NOTE: | |
# | |
# facter and ohai variables can be used in only_if statements too | |
# ex: "'$facter_operatingsystem' == 'CentOS'", which bubble up automatically | |
# from the managed machines | |
# | |
# this example won't do that though, as you might not have facter or ohai, | |
# but you get the idea... | |
tasks: | |
- name: "do this if my favcolor is blue, this will skip" | |
action: shell /bin/false | |
only_if: '$is_favcolor_blue' | |
- include: tasks/task_sam.yml | |
# moved to tasks/task_sam.yml | |
#- name: "do this if my favcolor is not blue" | |
# action: shell /bin/true | |
# only_if: 'not ($is_favcolor_blue)' | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: "do this if my favcolor is not blue" | |
action: shell /bin/true | |
#only_if: 'not ($is_favcolor_blue)' # this does not work. | |
only_if: "not ($is_favcolor_blue)" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment