JBoss: Background - ansible/community GitHub Wiki

Background

The Ansible JBoss module is rudimentary. As of the creation of this working group, it only supports deployments via the deployment scanner (i.e., dropping a deployable artifact into a directory monitored by the DS). The result has been spaghettization of playbooks, as JBoss users are in many cases reduced to writing glorified shell scripts in their playbooks, using modules not having anything to do with JBoss specifically (command, shell, etc). Unreadable playbooks containing convoluted business logic run contrary to the very nature of Ansible.

There have been efforts within the Ansible community to improve the JBoss module and even add new modules, but none organized until now, and certainly none merged upstream (again, as of this writing). This working group will serve to organize those efforts, with the of goal of improving JBoss support with every minor and major Ansible release.

A note on terminology

The term "JBoss" generally refers to the JBoss Application Server (JBoss AS), a Java EE compliant application server that was renamed Wildfly starting with version 8. Since then, no upstream community project has carried the name JBoss, despite there still being many packages under org.jboss, even in the latest version of Wildfly (11-alpha). Many of these packages also occur in other related projects such as Infinispan, Drools, and the like. And to further add to the confusion, Red Hat's supported versions of these products all carry the JBoss name as a sort of sub-brand.

For the purposes of this WG, "JBoss" will refer to the entire ecosystem, both of community projects such as Wildfly, as well as their supported, enterprise versions such as JBoss Enterprise Application Server (EAP). However, at least in the near-term, the only module supported by this group is the JBoss module, which only supports the JBoss/Widlfly application server (JBoss AS 5+, Wildfly 8+, and JBoss EAP 5+).