From 442d61da7db3776955241b4c85af3e52af363ba9 Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Thu, 19 Aug 2021 16:44:05 -0400 Subject: [PATCH] Get rid of separate renewal of leases in HTTP API. --- docs/proposed/http-storage-node-protocol.rst | 28 +------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/docs/proposed/http-storage-node-protocol.rst b/docs/proposed/http-storage-node-protocol.rst index 41a0a0fea..d1f63afed 100644 --- a/docs/proposed/http-storage-node-protocol.rst +++ b/docs/proposed/http-storage-node-protocol.rst @@ -369,7 +369,7 @@ For example:: ``PUT /v1/lease/:storage_index`` !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -Create a new lease that applies to all shares for the given storage index. +Either renew or create a new lease that applies to all shares for the given storage index. The details of the lease are encoded in the request body. For example:: @@ -394,37 +394,11 @@ Several behaviors here are blindly copied from the Foolscap-based storage server * There is a cancel secret but there is no API to use it to cancel a lease. * The lease period is hard-coded at 31 days. * There is no way to differentiate between success and an unknown **storage index**. -* There are separate **add** and **renew** lease APIs. These are not necessarily ideal behaviors but they are adopted to avoid any *semantic* changes between the Foolscap- and HTTP-based protocols. It is expected that some or all of these behaviors may change in a future revision of the HTTP-based protocol. -``POST /v1/lease/:storage_index`` -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -Renew an existing lease for all shares for the given storage index. -The details of the lease are encoded in the request body. -For example:: - - {"renew-secret": "abcd"} - -If there are no shares for the given ``storage_index`` -then ``NOT FOUND`` is returned. - -If there is no lease with a matching ``renew-secret`` value on the given storage index -then ``NOT FOUND`` is returned. -In this case, -if the storage index refers to mutable data -then the response also includes a list of nodeids where the lease can be renewed. -For example:: - - {"nodeids": ["aaa...", "bbb..."]} - -Othewise, -the matching lease's expiration time is changed to be 31 days from the time of this operation -and ``NO CONTENT`` is returned. - Immutable ---------