O'Reilly logo

Ansible: Up and Running, 2nd Edition by Rene Moser, Lorin Hochstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 9. Customizing Hosts, Runs, and Handlers

Sometimes Ansible’s default behaviors don’t quite fit your use case. In this chapter, we cover Ansible features that provide customization by controlling which hosts to run against, how tasks are run, and how handlers are run.

Patterns for Specifying Hosts

So far, the host parameter in our plays has specified a single host or group, like this:

hosts: web

Instead of specifying a single host or group, you can specify a pattern. You’ve already seen the all pattern, which will run a play against all known hosts:

hosts: all

You can specify a union of two groups with a colon. You specify all dev and staging machines as follows:

hosts: dev:staging

You can specify an intersection by using a colon and ampersand. For example, to specify all of the database servers in your staging environment, you might do this:

hosts: staging:&database

Table 9-1 shows the patterns that Ansible supports. Note that the regular expression pattern always starts with a tilde.

Table 9-1. Supported patterns
Action Example usage

All hosts

all

All hosts

*

Union

dev:staging

Intersection

staging:&database

Exclusion

dev:!queue

Wildcard

*.example.com

Range of numbered servers

web[5:10]

Regular expression

~web\d+\.example\.(com|org)

Ansible supports multiple combinations of patterns—for example:

hosts: dev:staging:&database:!queue

Limiting Which Hosts Run

Use the -l hosts or --limit hosts flag to tell Ansible to limit the hosts to run the playbook ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required