Managing hosts that serve multiple roles

This may be something I should put in as a feature request, but it's
been brought up before and so there may be a reason it hasn't been
implemented. Right now I make use of host group inheritance such that
I have

  • standard_linux
    – web_server
    – mysql_server

However there are some systems I have that could fall under both
"web_server" and "mysql_server". Currently to work around it I've
been creating puppet modules that are "roles"

So the class "role::mysql_server" contains all the modules /
parameters I use in my "mysql server" host group, and I can add it.
However this is problematic as eventually people will be using the
Foreman interface who may not be aware of what I've added to that role
module. Ideally that role would show it's included puppet classes
much like a hostgroup does when editing that host.

Would it be feasible to either add a separate item to Foreman called
"roles" or extend host groups so a host can have multiple rather than
a single group?

Thanks

  • Trey