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
>

Reply via email to