This is an automated email from the ASF dual-hosted git repository.

bbannier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 5fcd25c70819f6bd3f51af86e4c51d7fd40f307a
Author: Benjamin Bannier <[email protected]>
AuthorDate: Fri Nov 29 08:49:36 2019 +0100

    Updated operator API documention to use rereservation format.
    
    Review: https://reviews.apache.org/r/71741/
---
 docs/operator-http-api.md | 125 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 123 insertions(+), 2 deletions(-)

diff --git a/docs/operator-http-api.md b/docs/operator-http-api.md
index 1b15fad..585e94c 100644
--- a/docs/operator-http-api.md
+++ b/docs/operator-http-api.md
@@ -1866,8 +1866,25 @@ Content-Type: application/json
 
 ### RESERVE_RESOURCES
 
-This call reserve resources dynamically on a specific agent. This call takes
-`agent_id` and `resources` details like the following.
+This call is used to update resource reservations.
+
+This call reserves resources dynamically on a specific agent. This call takes
+`agent_id`, the `source` resources of the operation and the target
+`resources`, and updates the reservations of `source` to be equal to
+the reservations of `target`.
+
+For backwards compatibility we accept calls without the `sources` field 
present,
+but only allow adding a single reservation refinement in that case;
+otherwise we expect that `sources` can be transformed into `resources` by
+repeatedly removing or adding identical reservations from all given
+resources. This means that `source` and `resources` must be identical
+in all values apart from reservation.
+
+If authorization is enabled we expect the caller to be authorized to perform 
any
+`UNRESERVE` or `RESERVE` operations needed to transform `sources` to
+`resources`.
+
+Example of a call creating reserved resources for role `role`:
 
 ```
 RESERVE_RESOURCES HTTP Request (JSON):
@@ -1884,6 +1901,22 @@ Accept: application/json
     "agent_id": {
       "value": "1557de7d-547c-48db-b5d3-6bef9c9640ef-S0"
     },
+    "source": [
+      {
+        "type": "SCALAR",
+        "name": "cpus",
+        "scalar": {
+          "value": 1.0
+        }
+      },
+      {
+        "type": "SCALAR",
+        "name": "mem",
+        "scalar": {
+          "value": 512.0
+        }
+      }
+    ],
     "resources": [
       {
         "type": "SCALAR",
@@ -1924,6 +1957,94 @@ HTTP/1.1 202 Accepted
 
 ```
 
+Example of a call changing the reservation of resources from `role_a` to
+`role_b`.
+
+```
+RESERVE_RESOURCES HTTP Request (JSON):
+
+POST /api/v1  HTTP/1.1
+
+Host: masterhost:5050
+Content-Type: application/json
+Accept: application/json
+
+{
+  "type": "RESERVE_RESOURCES",
+  "reserve_resources": {
+    "agent_id": {
+      "value": "1557de7d-547c-48db-b5d3-6bef9c9640ef-S0"
+    },
+    "source": [
+      {
+        "type": "SCALAR",
+        "name": "cpus",
+        "scalar": {
+          "value": 1.0
+        },
+        "reservations": [
+          {
+            "type": "DYNAMIC",
+            "role": "role_a",
+            "principal": "my-principal"
+          }
+        ]
+      },
+      {
+        "type": "SCALAR",
+        "name": "mem",
+        "scalar": {
+          "value": 512.0
+        },
+        "reservations": [
+          {
+            "type": "DYNAMIC",
+            "role": "role_a",
+            "principal": "my-principal"
+          }
+        ]
+      }
+    ],
+    "resources": [
+      {
+        "type": "SCALAR",
+        "name": "cpus",
+        "scalar": {
+          "value": 1.0
+        },
+        "reservations": [
+          {
+            "type": "DYNAMIC",
+            "role": "role_b",
+            "principal": "my-principal"
+          }
+        ]
+      },
+      {
+        "type": "SCALAR",
+        "name": "mem",
+        "scalar": {
+          "value": 512.0
+        },
+        "reservations": [
+          {
+            "type": "DYNAMIC",
+            "role": "role_b",
+            "principal": "my-principal"
+          }
+        ]
+      }
+    ]
+  }
+}
+
+
+RESERVE_RESOURCES HTTP Response:
+
+HTTP/1.1 202 Accepted
+
+```
+
 ### UNRESERVE_RESOURCES
 
 This call unreserve resources dynamically on a specific agent. This call takes

Reply via email to