Ansible Playbook using Environments (DEV,INT QA)

Hi

We are currently testing out Ansible and want to use it in our environment. However we only going to use it to manage JBoss (not OS, not DB ) just JBoss. Now we notice most of the examples and best practices differentiate vars and roles by technology eg . Webserver , Database etc. In out case we want to differentiate by environment DEV INT QA etc.

This is our setup:

Dir structure:

hosts (in this file all my host are grouped into int dev qa)
main.jboss.yml

/host_vars

/roles/jboss/tasks
./roles/jboss/tasks/install.java.yml
./roles/jboss/tasks/stop.jboss.yml
./roles/jboss/tasks/main.configure.domain.yml
./roles/jboss/tasks/configure.OFV.yml
./roles/jboss/tasks/install.jboss.yml
./roles/jboss/tasks/configure.domain.ldap.yml
./roles/jboss/tasks/patch.jboss.yml
./roles/jboss/tasks/start.jboss.yml
./roles/jboss/tasks/set.java.home.yml
./roles/jboss/tasks/restart.jboss.yml
./roles/jboss/tasks/configure.domain.server.groups.yml
./roles/jboss/tasks/configure.host.yml

./group_vars/dev.yml
./group_vars/int.yml
./group_vars/qa.yml

So when we run our main play book main.jboss.yml it uses include to ran all the tasks in roles/jboss/tasks/*
This does the job and works well, However after reading a bit more it seems this is not best practice since we calling playbooks in playbooks and not really roles even though it is in the roles Directory.

Is this method fine? any suggestions ?

NB: Things we would like to do:

  1. Run same playbook on different environments
  2. Be able to run plays by themselves E.g ( restart jboss)