We currently have standalone servers starting and server managers starting and bringing up servers. The actual subsystems within the servers are proceeding pretty well and look to be on track for meeting M1 goals. The domain management infrastucture needs some beefing up though to get it where we need it for M1. For M1 I think we need:
- Server Manager booting Domain Controller booting, if so configuring
- Otherwise, Server Manager booting and discovering DC
- Basic deployments via the DC (does not include graceful shutdown; perhaps not some of the more complex deployment plan variants)
- Basic management operations via the DC
- Basic deployments via the Standalone server's mgmt interface
- Basic management operations via the Standalone server's mgmt interface
- Above done via a remote Java interface
- Good understanding of how above will be done via REST (not implemented, but thought through)
- "Transaction log" of deployments and other domain updates (I expect this will be refined post-M1)
- Filesystem based hot deploy on standalone server (unless Jason removes this from the list)
We've talked about CLI on some threads, but it seems CLI is not actually an M1 requirement, so we need to be careful about putting resources on it.
The immediate focus for myself is basic deployments via the Standalone server's mgmt interface as this allows folks working on subsystems and deployers to test properly what they are doing.
Fanning out from where we are now, we need:
Basic Deployment Infrastructure
- InVM programatic deployment. Now being worked by myself and John Bailey. Faciliates testing and serves as basis for
- Remote Java deployment interface
- also needs some standalone.xml configuration for the server management system's remote endpoint
- Filesystem based hot deploy on standalone server
Domain Controller Infrastructure
We need folks to start looking into this. Once we get far enough with the basic deployment infrastructure, I'm going to shift to it, but help from others is important.
- Domain controller configuration. What subsystems are needed for the DC, how is their configuration expressed in domain.xml/host.xml
- Server Manager boots DC if host.xml says there is a local DC.
- Discovery mechanisms for the SM to find the DC. At least basic ones; we can add more post M1.
- Communication protocols between DC and SM and on to Servers
General Management Update Infrastructure
Emanuel Muckenhuber is looking into this. See for example https://community.jboss.org/thread/155860?tstart=0. This should also build off of and influence the basic deployment infrastructure, since deployments are just a form of management update.
We need to sort out an ordered approach to how this is going to be done and divide up subpieces so others can eventually help. E.g. will we start with standalone and then expand to DomainController-based updates? Or think it through from the DomainController side and work in? Or some mix? In general we should organize the work so progress is being made even while other pieces are incomplete; e.g. don't wait until all Domain Controller Infrastructure above is in place.
From there we bring it all together and do deployments and management updates via the DC.
There are already JIRAs for quite a bit of this; I'll update this post later with JIRA references. Any comments, suggestions or expressions of desire to take on particular aspects are very much appreciated.