Hi,

In order to create a flow and to figure out the required minimal set of
REST apis for application handling thought of breaking down the actions up
to deploying and undeploying an application in Stratos as follows.

1. Create cartridges needed
    - POST /cartridges with cartridgeDefinition.json
2. View created cartridges or a specific cartridge
    - GET /cartridges, /cartridges/{category}/{criteria},
/cartridges/{category}/{cartrdigeType}
3. Create an autoscaling policy
   - POST /autoscalingPolicies with autoscalingPolicyDefinition.json
4. Viewing created Autoscaling policies
  - GET /autoscalingPolicies, /autoscalingPolicies/{autoscalePolicyId}
5. Create a service group definition
  - POST /groups with groupDefinition.json
6. View created groups
  - GET /groups, /groups/{groupDefinitionName}
7. Create an application
  - POST /applications
8. Viewing created application
  - GET /applications/, /applications/{applicationId}
9. Create a deployment policy for an application
10. View deployment policy
  - GET /deploymentPolicies/{deploymentPolicyId}
11. Deploy an application with the deployment policy
12. Undeploy an application
13. Delete deploymentPolicyDefinition
14. Delete an applicationDefinition


Currently what's missing from the above is another entity which depicts an
applicationDeployment.

Then /applications will simply handle the definitions and
/applicationDeployments should handle the actual deploy and undeployment of
an application based on a deployment policy.

Since a deployment policy is directly linked to an application it should be
possible to get all deployment policies defined for a specific application
and then pick one of these for the actual application deployment.

Most of this is already there in the current rest api with different
naming. I am working on getting the terminology correct and also add the
few missing bits.

Thank you,
Shiro



On Mon, Dec 8, 2014 at 7:08 PM, Imesh Gunaratne <im...@apache.org> wrote:

> +1 We might need to clarify how we connect a deployment policy to an
> application according to this model.
>
> On Mon, Dec 8, 2014 at 5:40 PM, Lakmal Warusawithana <lak...@wso2.com>
> wrote:
>
>>
>>
>> On Mon, Dec 8, 2014 at 4:55 PM, Shiroshica Kulatilake <sh...@wso2.com>
>> wrote:
>>
>>> Hi All,
>>>
>>> While cleaning up the REST API I noticed that we have used the word
>>> "deploy" instead of 'create' in some places.
>>>
>>> We need to use these terms consistently IMO
>>>
>>> As a first start thought of renaming the api methods in the rest api to
>>> reflect this.
>>>
>>> e.g.
>>> Policies = create/delete instead of deploy/undelpoy
>>> Cartridges = create/delete instead of deploy /undeploy
>>> Groups = create/delete instead of deploy/undelpoy
>>> Applications = create, deploy, undeploy and delete
>>>
>>> WDYT ?
>>>
>>
>> +1
>>
>>
>>>
>>> Thank you,
>>> Shiro
>>>
>>
>>
>>
>> --
>> Lakmal Warusawithana
>> Vice President, Apache Stratos
>> Director - Cloud Architecture; WSO2 Inc.
>> Mobile : +94714289692
>> Blog : http://lakmalsview.blogspot.com/
>>
>>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Shiroshica Kulatilake

Architect,
WSO2, Inc. http://wso2.com/
Phone: +94 776523867

Reply via email to