[ 
https://issues.apache.org/jira/browse/MESOS-3920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neil Conway updated MESOS-3920:
-------------------------------
    Description: 
Right now, the "reserve" and "unreserve" endpoints work as follows:

1. slaveID and resources are sent as two separate key-value pairs in the body 
of the request, which is URL-encoded ({{application/x-www-form-urlencoded}} 
media type).
2. resources is itself a JSON document.

This is a bit weird: it would more idiomatic to send a single JSON document 
(using content-type {{a

2. It is weird to mix query parameters (slaveID, resources) with JSON-encoded 
values. Why not just post a single JSON document with all the information 
required for a dynamic reservation?

Obviously, there are some backward compatibility concerns if we want to change 
this.

  was:
Right now, the "reserve" and "unreserve" endpoints work as follows:

1. slaveID is sent as a separate query parameter
2. the resources to reserve are sent as the "reserve" query parameter, where 
the value is encoded in JSON

This is weird, for two reasons:

1. It is more typical for POST to send the content of the new document in the 
request body, not as parameters to the query string (e.g., 
https://stackoverflow.com/questions/14551194/how-are-parameters-sent-in-an-http-post-request)
2. It is weird to mix query parameters (slaveID, resources) with JSON-encoded 
values. Why not just post a single JSON document with all the information 
required for a dynamic reservation?

Obviously, there are some backward compatibility concerns if we want to change 
this.


> Considering changing /reserve, /unreserve endpoint syntax
> ---------------------------------------------------------
>
>                 Key: MESOS-3920
>                 URL: https://issues.apache.org/jira/browse/MESOS-3920
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Neil Conway
>            Priority: Minor
>              Labels: http, mesosphere, reservations
>
> Right now, the "reserve" and "unreserve" endpoints work as follows:
> 1. slaveID and resources are sent as two separate key-value pairs in the body 
> of the request, which is URL-encoded ({{application/x-www-form-urlencoded}} 
> media type).
> 2. resources is itself a JSON document.
> This is a bit weird: it would more idiomatic to send a single JSON document 
> (using content-type {{a
> 2. It is weird to mix query parameters (slaveID, resources) with JSON-encoded 
> values. Why not just post a single JSON document with all the information 
> required for a dynamic reservation?
> Obviously, there are some backward compatibility concerns if we want to 
> change this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to