A good suggestion Gayan! AFAIK JAX-RS only provides GET, POST, PUT, DELETE, HEAD & OPTIONS by default. For PATCH we might need to implement a custom annotation [1]
[1] http://cxf.apache.org/docs/jax-rs-basics.html On Thu, Apr 16, 2015 at 3:23 PM, Gayan Gunarathne <gay...@wso2.com> wrote: > Are we using HTTP PATCH method for partially update the resource > Kubernetes host? As for the email thread[1] it is listed there , but I > think we didn't implement that. > > [1] Use of create instead of deploy within Stratos > > Thanks, > Gayan > > On Wed, Apr 15, 2015 at 12:38 AM, Chamila De Alwis <chami...@wso2.com> > wrote: > >> I think the API endpoint "/kubernetes/update/host" was to be modified to >> "/kubernetesClusters/{kubernetesClusterId}/minions/{minionId}" in the >> earlier REST API refactoring[1]. But it seems this particular method has >> been excluded for the update. The use of this endpoint has been questioned >> earlier[2], but it has gone down in the thread discussions. >> >> [1] - Mail Thread - "Re-designing Stratos REST API" >> [2] - Mail Thread - "Use of create instead of deploy within Stratos" >> >> >> Regards, >> Chamila de Alwis >> Software Engineer | WSO2 | +94772207163 >> Blog: code.chamiladealwis.com >> >> >> >> On Tue, Apr 14, 2015 at 11:31 PM, Imesh Gunaratne <im...@apache.org> >> wrote: >> >>> I think this confusion has made because a Kubernetes Host can be a >>> Master or a Minion. We should be able to update both master and minion >>> nodes. >>> >>> In terms of the API endpoint, it could say >>> /kubernetesCluster/{kubernetesClusterId}/hosts and each host could be >>> either a master or a minion. >>> >>> Thanks >>> >>> On Mon, Apr 13, 2015 at 12:02 AM, Chamila De Alwis <chami...@wso2.com> >>> wrote: >>> >>>> Hi Mary, >>>> >>>> Thanks for reporting this! I can't find the exact commit which might >>>> have deleted the existing API method. However I noticed some irregularities >>>> in the API methods related to Kubernetes Hosts. >>>> >>>> As you have pointed out earlier for documentation, the terms, "minion" >>>> and "host" seem to be used interchangeably. For example to add a Kubernetes >>>> host the method is as follows. >>>> >>>> @PUT >>>> @Path("/kubernetesClusters/{kubernetesClusterId}/minion") >>>> @Produces("application/json") >>>> @Consumes("application/json") >>>> @AuthorizationAction("/permission/admin/manage/addKubernetesHost") >>>> public Response addKubernetesHost( >>>> >>>> >>>> However the resource path for Kubernetes host removal is as follows. >>>> IMO we should drop the usage of the term minion in the resource paths. >>>> >>>> @DELETE >>>> @Path("/kubernetesClusters/{kubernetesClusterId}/hosts/{hostId}") >>>> @Produces("application/json") >>>> @Consumes("application/json") >>>> @AuthorizationAction("/permission/admin/manage/removeKubernetesHostCluster") >>>> public Response removeKubernetesHostOfKubernetesCluster( >>>> >>>> >>>> Furthermore, the first method, to add a Kubernetes host should be a >>>> POST method AFAIU. A PUT/PATCH method is supposed to update an existing >>>> resource, whereas here, the name of the method itself defeats the purpose. >>>> >>>> To address the initial issue, the PUT method should be implemented with >>>> a resource path of >>>> */kubernetesClusters/{kubernetesClusterId}/hosts/{hostId}* to update >>>> the host. The existing method is a left over from the initial >>>> implementation of API methods for Kubernetes. >>>> >>>> >>>> Regards, >>>> Chamila de Alwis >>>> Software Engineer | WSO2 | +94772207163 >>>> Blog: code.chamiladealwis.com >>>> >>>> >>>> >>>> On Tue, Apr 7, 2015 at 2:45 PM, Mariangela Hills <mariang...@wso2.com> >>>> wrote: >>>> >>>>> I have created a JIRA [1] regarding these issues. >>>>> >>>>> [1] https://issues.apache.org/jira/browse/STRATOS-1319 >>>>> >>>>> Regards, >>>>> Mariangela >>>>> >>>>> >>>>> >>>>> >>>>> *--* >>>>> Mariangela Hills >>>>> Senior Technical Writer >>>>> >>>>> *WSO2, Inc.*lean.enterprise.middleware. >>>>> m: +94 773 500185 >>>>> w: http://wso2.com >>>>> <http://wso2.com/events/> >>>>> >>>>> On Tue, Apr 7, 2015 at 2:21 PM, Mariangela Hills <mariang...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Devs, >>>>>> >>>>>> Previously, the following resource was used to update the >>>>>> Kubernetes-CoreOS Host via REST API: >>>>>> PATCH kubernetesClusters/{kubernetesClusterId}/minion/{minionId} >>>>>> >>>>>> However, now the above resource path can not be found in the code >>>>>> base. Instead, now the following resource path is available: >>>>>> PUT /kubernetes/update/host >>>>>> >>>>>> I had to pass the "clusterId" property as well in the JSON that >>>>>> defined the Kubernetes-CoreOS host. >>>>>> >>>>>> Q1 - >>>>>> How come the following resource does not follow the REST API standard >>>>>> format that has been used for all Stratos API resource paths? >>>>>> /kubernetes/update/host >>>>>> >>>>>> Q2 - >>>>>> Is it correct that the "clusterId" property has to be passed in the >>>>>> Kubernetes-CoreOS host payload, when the "clusterId" property has >>>>>> not been defined in the KubernetesHostBean? >>>>>> >>>>>> Regards, >>>>>> Mariangela >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *--* >>>>>> Mariangela Hills >>>>>> Senior Technical Writer >>>>>> >>>>>> *WSO2, Inc.*lean.enterprise.middleware. >>>>>> m: +94 773 500185 >>>>>> w: http://wso2.com >>>>>> <http://wso2.com/events/> >>>>>> >>>>> >>>>> >>>> >>> >>> >>> -- >>> Imesh Gunaratne >>> >>> Technical Lead, WSO2 >>> Committer & PMC Member, Apache Stratos >>> >> >> > > > -- > > Gayan Gunarathne > Technical Lead > WSO2 Inc. (http://wso2.com) > email : gay...@wso2.com | mobile : +94 766819985 > > -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos