Interesting!
If I may offer some suggestions, I'd recommend taking a quick look at
the 'best practices' page and splitting your playbooks and variables
into different directories, and maybe even just having one vars file
so it's easier to edit.
I'd also consider having only one play that targets 'all' and then
using task includes to map roles to host groups, rather than seperate
playbooks. This means things will install much faster. (or at least
disable fact gathering with gather_facts: False on steps that don't
use facts).
You should also group yum package installs together using "with_items"
so packages can be installed all in one transaction, that will be MUCH
faster as you won't compute dependencies each time and will also have
less tasks (which is less important)
Regardless, this looks reasonably sophisticated, I'd be very
interested in hearing about what you are doing with it!
--Michael