Commit Graph

12112 Commits

Author SHA1 Message Date
Jean-Paul Calderone 53861e2a0f Change the shape of the storage announcement(s)
Instead of generating a sequence of announcements like:

    - anonymous storage server announcement
    - plugin 1 storage server announcement
    - ...
    - plugin N storage server announcement

The client now generates a single announcement like:

    - anonymous storage server details
    - storage-options
      - plugin 1 storage server details
      - ...
      - plugin N storage server details
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 07bf8a3b8c Change this helper to reflect the fact that old announcements are irrelevant 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 624591e412 Change the tests to match against the announcement we need 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 016e18ac9c news fragment 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 9c240b61ac Persist the furl ourselves rather than relying on Foolscap
Going via our config abstraction here will let us change how config is
persisted more easily, later.
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 6068b6c1b2 don't reach through the tahoe-lafs config object 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone d2e16df5cc link to a ticket about implementing better missing-plugin behavior 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 251eda0b80 rename introducer_factory parameter to be private 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 8516459fa3 Python 3 syntax compatibility 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 58db131787 remove unused imports 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone e825e63590 This returned to being synchronous 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone deb3109f43 please report all errors 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 1c68157c1f verify behavior if there is a poorly behaved plugin 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone fd9ae24149 fix indentation 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 756c21c251 actually provide validating client-config-from-string function 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 23e1631259 switch from node to client for config loading
apparently clients are the things with storage
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 3719a107be Stop putting a useless client section in here
[client] is not a valid common section so this fails if there's validation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 6cf48f7d4f Separate async initialization from _Client.__init__ 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 3bc21e1b72 Re-synchronize the fake with the real implementation 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone a6959d111c Log init_storage and its result (particularly failures) 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 7919cf205e Test the actual interface
get_storage_server is supposed to return a Deferred
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone a45e2bebfe Allow the new plugins item in the [storage] section 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone f606beb065 Test and support plugins without any configuration 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone e2982c0129 Support multiple plugins 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 646cd452b9 Add tests for announcements for plugins
And a basic implementation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 9608404b6e Factor plugin helper behavior into its own fixture 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone 25287870ee Add a tool for matching the node key in the announcement
And use it in the recently added test
2019-08-03 06:18:55 -04:00
Jean-Paul Calderone 212f96dfe7 Baseline tests for anonymous storage server announcements 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 49abfbb62a storage server plugin configuration 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone a9687259a6 news fragment 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 0f0ca5598a at least minimally test the other implementation 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 87b37a7e27 be more data-type-y 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 1c6433b43b Factor details of the storage announcement out of NativeStorageClient
A separate object can be responsible for the details of each kind of announcement.
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 8060be556e news fragment 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone f19b94a43d remove unused import 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone b737c6f5c5 Use the client config helper to read/test client config 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 7e17ffb75d Also update the introducer's use of read_config 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone fb4c5cf91f Allow for dynamic configuration validation rules 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone 4216bd6ed1 news fragment 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone de1b488f64 news fragment 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone 2c49c97fcd more unicode literals 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone 8a22764fb1 Combine human_name and id 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone e10a032fc3 Add the basic plugin interfaces and some documentation 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone bb385d45f7 teach tox about the new --package option 2019-08-02 18:29:04 -06:00
Jean-Paul Calderone 856b3782ea add a --package option to run-deprecations so we can restrict to our own errors 2019-08-02 18:28:36 -06:00
Jean-Paul Calderone 3d624ec784 news fragment 2019-08-02 18:28:30 -06:00
Jean-Paul Calderone e03ca27fdd news fragment 2019-08-02 16:50:45 -06:00
Jean-Paul Calderone cd0ec043a8 Rely on the PATH now being passed down to find git 2019-08-02 16:50:21 -06:00
Jean-Paul Calderone 7f1673596f Pass the whole parent environment down to the child
You never know what is in here that is totally essential to the operation of
some random thing. :(
2019-08-02 16:49:50 -06:00
meejah 3f9f4537b9
Merge pull request #633 from meejah/ticket3228-remote-old-js
delete ancient jquery, d3 and the thing that depends on them
2019-07-24 17:11:41 +00:00