#4043 closed task (wontfix)

Auto-upgrade from Foolscap to HTTP storage protocol

Reported by: itamarst Owned by:
Priority: normal Milestone: HTTP Storage Protocol
Component: unknown Version: n/a
Keywords: Cc:
Launchpad Bug:

Description

Ideally, a client would not rely on an update from the introducer to give it the GBS NURL for the updated storage server. Therefore, when an updated client connects to a storage server using Foolscap, it should request the server's version information.

If this information indicates that GBS is supported then the client should cache this GBS information. On subsequent connection attempts, it should make use of this GBS information.

Change History (4)

comment:1 Changed at 2023-07-06T16:06:45Z by itamarst

Implementation:

  • The server's version message gets the NURLs added.
  • Clients are OK with NURLs being missing.
  • If the NURL is there _and_ the client is configured to support HTTP, it gets rid of Foolscap and switches to HTTP.

comment:2 Changed at 2023-07-07T15:18:10Z by itamarst

Initial implementation sketch has FoolscapStorageServer?'s remotely exposed get_version() return the NURLs if known. However... one can imagine the HTTP server's NURLs changing, and right now that is never communicated to the client and the client never knows.

With a little tweaking of the design, the same Foolscap to HTTP upgrade code can also change the NURLs in a HTTP-only client, so probably going to go down that route.

comment:3 Changed at 2023-07-07T15:48:45Z by itamarst

Fields that are in the announcement that get_version() _probably_ doesn't need but might:

  1. The node nickname
  2. permutation-seed-base32

comment:4 Changed at 2023-07-19T16:36:42Z by itamarst

  • Resolution set to wontfix
  • Status changed from new to closed

In the end we decided to abandon this, and just rely on introducer or situation-specific upgrade code.

Note: See TracTickets for help on using tickets.