We are going to implement the "View Topology" scenario as a quick start up
to the OC work. Here is the very simple communication defined for this
scenario.
Components
The Operation Center (OC) consists of several components:
1.
Node Agent
2.
Manager Agent
3.
OC backend
4.
OC Frontend (The UI)
The Initial development will be focussing only on “View Topalogy” on the
scenario.
Communication flow
Node to OC Backend communication - (The Manager node in the cluster
skipped Only
for the first phase)
1.
When a node starts, it sends a initial message to the OC backend.
2.
When a node stops, it sends a status notification to the OC backend.
3.
The node will send status notifications to the OC Backend each time
when the configured time interval expires.
4.
If the OC Backend didn’t receive the status notification of a given node
for a configured time period, It assumes that node is non-functional.
Status notification
URL
PUT /oc/1/node/status format:
(<http/https>://<url>/oc/<version>/node/status)
Request Body
{
"id":"n1"
,"clusterId":"BPS"
,"product":"BPS"
,"elb":["elb1","elb2"]
,"name":"N1"
,"cpu": "20"
,"state": "STARTED"
}
JSON parameter descriptions
Parameter
Possible values
Description
id
Any non empty string
unique id (within the cluster) to identify the node
clusterId
Any non empty string
Id of the cluster the node belongs to
product
ELB, BPS, IS ...
TO identify what type of the product is deployed in the node.
elb
Id of a deployed elb instance
Name
Any String
Name of the node
cpu
Any Integer
percentage of the CPU usage
state
STARTED, STOPPED, CRASHED
state of the server.
*Response*
200 OK - if the notification is correct.
Error Codes:
<TODO>
OC Backend to OC Frontend(UI) communication
This is simply a JSON based communication in whatever the way the UI people
wants.
Possible:
1.
AJAX
2.
Caramel module
3.
etc….
--
K.D. Chamil Jeewantha
Associate Technical Lead
WSO2, Inc.; http://wso2.com
Mobile: +94716813892
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture