I'm fairly new to JBoss/WildFly and I'm really struggling wrapping my head around managing the configuration of a multi-host domain. The main issue I have is with the fact that each host has its own host.xml that is the sole record of configurations for that host. My initial thought was that I could use the CLI interface to manage all the config for all the hosts in the domain. I've quickly realized that the DC only shows the host-level configuration if the host is connected to it. Well, that will quickly fall apart if a single remote host-controller is offline while I'm making a config change. As soon as that HC is brought back online it will be out of sync with all the other hosts..
- I want to add a new server to a server-group that spans HostA & HostB.
HostA has the following servers: server1, server 3
HostB has the following servers: server2, server4
- I want to make sure the server's name is unique and not being used on either host in the server-group.
- When I run the automated script to create the new server (server2 on host A), the HostB host-controller is offline.
- The script loops through the hosts, only sees HostA, sees that server2 is not used, and creates the server.
- HostB is brought back online, and now there are two servers in the server-group named "server2".
So then I thought maybe I could manage config changes on each host individually.. Just have some sort of script that would go onto each host and physically modify the xml files. Again I started with the adding-a-server scenario. If I want to add a server-group on a remote host I would have to first log into the DC's server, check the domain.xml to make sure the server-group exists, and then log into every other host in the server-group to validate that the new server name doesn't conflict with an existing server.
Clearly the way I'm thinking about config management doesn't work with JBoss.. Can anyone explain or point me in the right direction of some good config management practices? How are people handling simply adding a server using through an automated process?