roles with per-host config?

I’ve been using ansible (v1.4.3) with great success to manage our EC2 infrastructure. In this use case, I’m using role-based playbooks, where no single host has any config unique to itself.

I have a smaller, much more ad-hoc project coming up, where I’ll need to keep a small “common” role (credentials, ntp config, etc), along with specific per-host configuration for a bunch of individual servers. In this use case, there will be very little common config between servers other than the few things mentioned in my “common” role. I’ve been going through this scenario in my head, and can’t seem to come up with a good way to organize things for this project. I’ve considered “abusing” the role mechanism, and just making single-host “roles”, but that doesn’t seem ideal.

What is the best way to structure things for a more ad-hoc environment like this?

Thanks!
-Erik

I use single-host roles for a couple of hosts. Sometimes a role only makes sense if only one host has it at a time. I also find this useful when I have to upgrade a whole server: I can build an test the new hardware using the role (with a couple of key bits turned off), then cut over once I’m happy with it.

K