Jean-Paul Calderone
11418a9f87
Fix test_add_rref users by making them supply coherent values
...
... of the right type
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
166c5ab53f
there is only a NativeStorageServer
...
though it is used by the client
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
c752fc76f1
pass the new config to StorageFarmBroker
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
48b8bd6eb0
pass config down and use it to make the client plugin
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
3c3ebc368a
note about some logging we should do
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
2e0e9f0cad
remove duplication of NativeStorageServer instantiation
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
bbd1c706e4
teach StorageConfigClient to load storage client plugins
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
b5a2c70a4a
create a StorageClientConfig object
...
Make it easier to pass more storage configuration down into StorageFarmBroker
and beyond
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
6e3cd2d91c
Reflect announcement changes from ticket:3119
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
f3218e6f62
basic positive path test
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
09acde41b9
refactor test_ignored_non_enabled_plugin to support more tests
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
7e9e380912
adjust to the changed parameter name
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
6b7e0dd700
add a test for the negative case
2019-08-03 06:39:31 -04:00
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