...
API | placeContainer |
Description | Active Container: Stop container process on source-host and starts it for
StandBy Container: Stop container process on source-host and starts it on:
|
Parameters | uuid: unique identifier of a request, populated by the client applicationId: unique identifier of the deployed app for which the action is taken processor-id: Samza resource id of container e.g 0, 1, 2 destination-host: valid hostname / “ANY_HOST” / “STANDBY” request-expiry-timeout: [optional]: timeout for any resource request to the cluster manager |
Status code | CREATED, BAD_REQUEST, ACCEPTED, IN_PROGRESS, SUCCEEDED, FAILED |
Returns | Since this is an ASYNC API nothing is returned, the status of the request can be queried by processorId |
Failure Scenarios | There are following cases under which a request to place container might fail:
|
...
API | containerStatus |
Description | Gives the status & info of the container placement request, for ex is it running, stopped what control commands are issued on it |
Parameters | processor-id: Samza resource id of container e.g 0, 1, 2 applicationId: unique identifier of the deployed app for which the action is taken uuid: unique identifier of a request |
Status code | BAD_REQUEST, UNAUTHORIZED |
Returns | Status of the Container placement action |
...
API | controlStandBy |
Description | Starts or Stops a standBy container for the active container |
Parameters | processor-id: Samza resource id of container e.g 0, 1, 2 applicationId: unique identifier of the deployed app for which the action is taken uuid: unique identifier of a request |
Status code | CREATED, BAD_REQUEST, ACCEPTED, UNAUTHORIZED, IN_PROGRESS, SUCCEEDED, FAILED |
Architecture
For implementing a scalable container placement control system, the proposed solution is divided into two parts:
...