Jean-Paul Calderone
e8b38d8cd6
move some testing helpers into the common module
2019-08-03 06:39:27 -04:00
Jean-Paul Calderone
3b6e1e344b
Don't blow up the web status if we get an unrecognized announcement
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
4133febad6
news fragment
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
895cf37a84
docstrings
2019-08-03 06:19:01 -04:00
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