With command line patterns, you can specify patterns like "all,!ntpservers" but I can't figure out how to specify this in a playbook. I'm regularly running into cases where I have to install a client on all machines except the server.


You specify the hosts for a playbook on the line that begins with hosts:.

From the documentation:

The hosts line is a list of one or more groups or host patterns, separated by colons, as described in the Working with Patterns documentation.

For example:

- hosts: all,!ntpservers
    # ... your tasks here
    # ... etc etc etc

These roles and tasks will be appled to all hosts except ntpservers.

  • 1
    I'll add more detail to the question. This method ignores the !ntpservers on my installation of ansible 2.5.3. – Robert Rapplean Jul 17 '18 at 17:14
  • @RobertRapplean Probably best if you post a new question. Changing the meaning of a question after it's been answered is a great way to confuse everyone. – Michael Hampton Jul 17 '18 at 17:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.