ProjectZero Management
ProjectZero's management capabilities are driven by enabling the following increasingly complex scenarios: management of a single stand-alone application, management of single application cluster, and multi-application management. Initially ProjectZero will focus on two axes of administration: operations and configuration.
Restful Management
One of the keys concepts in ProjectZero is the notion of building services RESTfully. The management services will be RESTful at their core.
Operations
In all scenarios ProjectZero will provide the following operational commands:stop, status, statistics, restart. When in a clustered environment the start and the force-stop command will also be provided.
REST Tables
This section contains the rest tables for applications both in stand-alone and clustered configurations.
Stand-alone applications
The rest table for the stand-alone application is described below
| Command |
Method |
URI |
Description |
| Stop |
DELETE |
/opsmanager/application/_self/appInstance |
stop the application |
| Status |
GET |
/opsmanager/application/_self/appInstance?q=status |
Get the application status |
| Statistics |
GET |
/opsmanager/application/_self/appInstance?q=stats |
Get the application statistics |
| Restart |
POST |
/opsmanager/application/_self/appInstance |
Restart the application |
Single Application Clustered
In addition to the commands listed above, Applications in a clustered configuration can following operations available to them: start
| Command |
Method |
URI |
Description |
| Stop Instance |
DELETE |
/opsmanager/application/_self/appInstance/{instanceID} |
stop the application instance |
| Stop All Instance |
DELETE |
/opsmanager/application/_self/appInstance |
stop the application (all instances) |
| Get Status for Instance |
GET |
/opsmanager/application/_self/appInstance/{instanceID}?q=status |
Get status the application instance |
| Get Statistics for Instance |
GET |
/opsmanager/application/_self/appInstance/{instanceID}?q=stats |
Get application instance statistics |
| Get Status for all Instances |
GET |
/opsmanager/application/_self/appInstance?q=status |
Get status the application instance |
| Get Statistics for all Instances |
GET |
/opsmanager/application/_self/appInstance?q=stats |
Get application instance statistics |
| Restart an Instance |
POST |
/opsmanager/application/_self/appInstance/{instanceID} |
start an instance of the application |
| Start a new Instance |
POST |
/opsmanager/application/_self/appInstance |
start an instance of the application |
| Stop an application Instance |
DELETE |
/opsmanager/application/_self/appInstance/${instanceID} |
stop the application instance |
| Stop all instances |
DELETE |
/opsmanager/application/_self/appInstance |
stop all application instances |
Heterogeneous Application Management
When managing manging different application concurrently the REST table mirrors that of the single application cluster with substitution of "_self" for the application name with the application ID, usually analogous to the contextRoot.
| Command |
Method |
URI |
Description |
| Stop Instance |
DELETE |
/opsmanager/application/{appID}/appInstance/{instanceID} |
stop the application instance |
| Stop All Instance |
DELETE |
/opsmanager/application/{appID}/appInstance |
stop the application (all instances) |
| Get Status for Instance |
GET |
/opsmanager/application/{appID}/appInstance/{instanceID}?q=status |
Get status the application instance |
| Get Statistics for Instance |
GET |
/opsmanager/application/{appID}/appInstance/{instanceID}?q=stats |
Get application instance statistics |
| Get Status for all Instances |
GET |
/opsmanager/application/{appID}/appInstance?q=status |
Get status the application instance |
| Get Statistics for all Instances |
GET |
/opsmanager/application/{appID}/appInstance?q=stats |
Get application instance statistics |
| Restart an Instance |
POST |
/opsmanager/application/{appID}/appInstance/{instanceID} |
start an instance of the application |
| Start a new Instance |
POST |
/opsmanager/application/{appID}/appInstance |
start an instance of the application |
| Stop an application Instance |
DELETE |
/opsmanager/application/{appID}/appInstance/{instanceID} |
stop the application instance |
| Stop all instances |
DELETE |
/opsmanager/application/{appID}/appInstance |
stop all application instances |
Configuration
All cluster members will reside within the same directory
Manual tests
Management functionality is tested, as much as possible, with automated JUnit tests. Checks for functionality that cannot be tested via automated means is summarized as a set of
manual tests.