...
- I want to be able to install/start/stop a bundle on all or just a group of nodes, without having to do so in every single node.
- This somehow overlaps with the feature sharing, however since the use of features is optional, it would be nice if the same functionality could be provided for plain bundles.
Scenarios
Realistic scenarios as a basis for requirements and to reflect the design against.
Management and Provisioning for a Network of servers
Management of several applications that are each deployed to several servers. Each server may host one or more instances of Karaf and fullfills a certain role.
For example a typical application is deployed to three types of servers: Webserver, Application Server, Database server. Each kind of server may exist several times to achieve load balancing and fault tolerance. To roll out a new version of an application the whole set of servers that support this application needs to be deployed in one step. If something goes wrong the admin wants to roll back to the previous state.
For testing the whole environment will exist in several stages. In each stage the number of servers per role may be different. For example the system test environment may not be fault tolerant but the pre production may be.
The admins need to have a good overview over each environment. What applications are deployed there in what versions. What does each server host at the moment. The admin will not want to visit each server for the deployment so remote management is important. The deployment should be defined in a plan that can be executed against the pre production and on success be executed against the production environment.