Dylan Lott
bacd683879
Adds DumpNodes method to Kademlia Inspector ( #1328 )
...
* Wiring up DumpNodes response for Inspector
* Finalize everything and test that it works
* remove changes to overlay inspector
* Replace list with iterate method in DumpNodes
* generate proto
* Merge in nodeinfo changes
* Update iterate function in DumpNodes
* Fix import order
2019-02-28 12:55:27 -07:00
Jennifer Li Johnson
cefdff535a
Replace list calls with iterates in kademlia routing table ( #1318 )
...
* notes
* adds bool for option to skip self
* wip getKBucketID is still breaking TestAddNode
* fix (#1322 )
* remove panic
* remove iteratebuckets
* implements getKBucketRange
* getNodeIDsWithinKBucket
* removes determineFurthestIDWithinK
* wip
* nodeIsWithinNearestK
* removes bucketIDToKey
* removes extra xor in test
* wip
* rebased
* uses create rt w opts
* lint
* fix lint
2019-02-26 11:07:53 -05:00
Kaloyan Raev
1ec17653d4
Endpoint for local node info ( #1355 )
...
Adds a new `Info` method to the Kademlia endpoint that returns the following local node info:
* ID
* Type
* Metadata (email and wallet)
* Restrictions (free storage and bandwidth)
The new endpoint is exposed as `inspector kad node-info` command too.
2019-02-25 19:41:51 +01:00
Jennifer Li Johnson
b5447c6608
Routing table tests ( #1270 )
...
This PR includes a new package called testrouting, which implements a very algorithmically slow but hopefully easy-to-keep-operationally-correct in-memory routing table. The routing table also supports writing out its current structure as a DOT graph for visualization. testrouting is primarily meant to help in coming up with generic routing table integration tests.
This PR also includes a new routing table integration test suite that runs against all current routing table implementations. Our existing routing table passes a lot of the tests, but not all of them, still debugging why. I have confirmed the tests should pass with the visualization graphs though.
2019-02-22 13:39:29 -05:00
Jennifer Li Johnson
a5aa5f84a1
handle server termination in kademlia tests ( #1323 )
2019-02-19 20:41:32 +02:00
Bill Thorp
c598ed034d
kad.FindNear fix ( #1320 )
...
We realized that the Kademlia FindNear() function was
1. not using XOR distance (AKA _totally broken_)
2. largely a duplicate of the RoutingTable FindNear() function
Changes in this PR:
1. upgraded RoutingTable FindNear() to use iterator and restrictions
2. removed unneeded RoutingTable interface
3. made Kademlia wrap methods that were previously accessed via RoutingTable
4. fixed the tests
2019-02-15 22:23:35 -05:00
Bill Thorp
dfd6589fbe
fix kad refresh bad bucket range ( #1315 )
...
fix kad refresh bad bucket range
2019-02-14 10:47:03 -05:00
Bill Thorp
b53f9896d3
Removed ReverseList from KeyValueStore interfaces ( #1306 )
...
Removed ReverseList from KeyValueStore interfaces
2019-02-13 12:27:03 -05:00
JT Olio
2a59679766
pkg/transport: require tls configuration for dialing ( #1286 )
...
* separate TLS options from server options (because we need them for dialing too)
* stop creating transports in multiple places
* ensure that we actually check revocation, whitelists, certificate signing, etc, for all connections.
2019-02-11 13:17:32 +02:00
Egon Elbre
17a7f9d002
Enable planet Merging test ( #1281 )
2019-02-08 22:35:59 +02:00
Egon Elbre
9c1e299f3c
Ensure everyone sees everyone else ( #1275 )
2019-02-08 11:25:13 +02:00
Egon Elbre
fdbe2db273
Remove node package and simplify DHT interface ( #1233 )
2019-02-06 14:37:17 +02:00
Bill Thorp
690e8b2061
storage node cert cache ( #1226 )
...
* draft
* still errors
* double close fix
* added tests
* weird, goimports must not be working
* renames
* missed one
* forgot to save:
2019-02-05 12:57:56 -05:00
Egon Elbre
07412698a9
Use lower bcrypt cost for console.Service when running tests and disable flaky tests ( #1236 )
2019-02-05 19:31:53 +02:00
Egon Elbre
87d6410b50
Revert "Remove node package and simplify DHT interface."
...
This reverts commit 03ec1ff92d
.
2019-02-05 10:38:48 +02:00
Egon Elbre
03ec1ff92d
Remove node package and simplify DHT interface.
2019-02-05 10:37:24 +02:00
Egon Elbre
c37e0c1b6d
testplanet.Run ( #1222 )
2019-02-04 22:37:46 +02:00
Egon Elbre
00570df1f9
Add top flag to tparse ( #1205 )
2019-02-01 16:35:13 +02:00
Egon Elbre
b91d77436f
Test merging planets ( #1181 )
2019-02-01 15:32:28 +02:00
Egon Elbre
97714d150f
Remove unused kademlia.Disconnect method ( #1178 )
2019-01-30 22:57:13 +02:00
Egon Elbre
d5346982c2
Delete provider package ( #1177 )
2019-01-30 22:47:21 +02:00
Alexander Leitner
7c741c16d1
Readable sizes in dashboard ( #1180 )
...
* Readable sizes
* Use tabwriter
* Added more addresses to dashboard stats
* Use kad to look up addresses
* Move dashboard command to dashboard.go
2019-01-30 14:49:25 -05:00
Egon Elbre
e1a8bbdcb6
Kademlia flags cleanup ( #1137 )
2019-01-29 08:51:07 +02:00
Dylan Lott
bb2588e9ae
Refactors kademlia inspector to use FindNear ( #1157 )
...
* WIP
* update identity paths to get dump-nodes working
* Remove commented out code
* remove comment
* updates from code reviews
* updates linter
2019-01-28 15:53:37 -07:00
Dylan Lott
df903ea215
Decreases refresh time per bucket in Kademlia ( #1150 )
2019-01-28 12:36:20 -07:00
Egon Elbre
d50c07e56c
Implement WorkGroup ( #1151 )
2019-01-28 21:04:42 +02:00
Egon Elbre
f7e18882c4
Kademlia closing race ( #1139 )
2019-01-26 00:33:20 +02:00
Egon Elbre
78b0414e6c
internal/sync2: fix file handle leak ( #1124 )
2019-01-24 22:48:54 +02:00
Jennifer Li Johnson
856b98997c
updates copyright 2018 to 2019 ( #1133 )
2019-01-24 15:15:10 -05:00
Egon Elbre
5de7f8af7f
Satellite Peer ( #1119 )
2019-01-23 21:58:44 +02:00
Michal Niewrzal
3fdb47e31c
Try accessing bootstrap node for verification ( #1089 )
2019-01-23 17:48:46 +02:00
Egon Elbre
b6c61cdd55
Use storagenode.Peer for storagenode ( #1107 )
2019-01-23 12:39:03 +02:00
Egon Elbre
2d00f882a3
Kademlia Dialer ( #1092 )
2019-01-18 10:00:56 -05:00
Egon Elbre
78dc02b758
Satellite Peer ( #1034 )
...
* add satellite peer
* Add overlay
* reorganize kademlia
* add RunRefresh
* add refresh to storagenode.Peer
* add discovery
* add agreements and metainfo
* rename
* add datarepair checker
* add repair
* add todo notes for audit
* add testing interface
* add into testplanet
* fixes
* fix compilation errors
* fix compilation errors
* make testplanet run
* remove audit refrences
* ensure that audit tests run
* dev
* checker tests compilable
* fix discovery
* fix compilation
* fix
* fix
* dev
* fix
* disable auth
* fixes
* revert go.mod/sum
* fix linter errors
* fix
* fix copyright
* Add address param for SN dashboard (#1076 )
* Rename storj-sdk to storj-sim (#1078 )
* Storagenode logs and config improvements (#1075 )
* Add more info to SN logs
* remove config-dir from user config
* add output where config was stored
* add message for successful connection
* fix linter
* remove storage.path from user config
* resolve config path
* move success message to info
* log improvements
* Remove captplanet (#1070 )
* pkg/server: include production cert (#1082 )
Change-Id: Ie8e6fe78550be83c3bd797db7a1e58d37c684792
* Generate Payments Report (#1079 )
* memory.Size: autoformat sizes based on value entropy (#1081 )
* Jj/bytes (#1085 )
* run tally and rollup
* sets dev default tally and rollup intervals
* nonessential storj-sim edits (#1086 )
* Closing context doesn't stop storage node (#1084 )
* Print when cancelled
* Close properly
* Don't log nil
* Don't print error when closing dashboard
* Fix panic in inspector if ping fails (#1088 )
* Consolidate identity management to identity cli commands (#1083 )
* Consolidate identity management:
Move identity cretaion/signing out of storagenode setup command.
* fixes
* linters
* Consolidate identity management:
Move identity cretaion/signing out of storagenode setup command.
* fixes
* sava backups before saving signed certs
* add "-prebuilt-test-cmds" test flag
* linters
* prepare cli tests for travis
* linter fixes
* more fixes
* linter gods
* sp/sdk/sim
* remove ca.difficulty
* remove unused difficulty
* return setup to its rightful place
* wip travis
* Revert "wip travis"
This reverts commit 56834849dcf066d3cc0a4f139033fc3f6d7188ca.
* typo in travis.yaml
* remove tests
* remove more
* make it only create one identity at a time for consistency
* add config-dir for consitency
* add identity creation to storj-sim
* add flags
* simplify
* fix nolint and compile
* prevent overwrite and pass difficulty, concurrency, and parent creds
* goimports
2019-01-18 08:54:08 -05:00
Michal Niewrzal
f9abb4584c
Storagenode logs and config improvements ( #1075 )
...
* Add more info to SN logs
* remove config-dir from user config
* add output where config was stored
* add message for successful connection
* fix linter
* remove storage.path from user config
* resolve config path
* move success message to info
* log improvements
2019-01-16 21:41:43 -05:00
paul cannon
a2333c4809
trivial: log bootstrap node address used to DEBUG ( #1063 )
2019-01-16 15:43:00 -05:00
Kaloyan Raev
a63abf8fab
Save only user-specific flags to storage node's config.yaml ( #1051 )
2019-01-15 15:55:33 +02:00
JT Olio
87925789de
pkg/inspector: split functionality to be per-service ( #1029 )
...
now kad inspector features exist on every server that has
kademlia running. likewise, overlay and statdb.
this means kad inspection features are now available on
storage nodes
Change-Id: I343c873552341de13302bfb7a5d79cccc84fc6b8
2019-01-14 11:47:22 -07:00
Egon Elbre
eb69ecadec
Storage Node Peer ( #1005 )
2019-01-10 15:13:27 +02:00
Michal Niewrzal
e5920ae0a4
Storage node config params descriptions cleanup ( #1004 )
...
* Storage node params descriptions cleanup
* reorg agreements sender param
* review changes
2019-01-10 13:50:50 +01:00
JT Olio
f8ee5f88e5
cmd/bootstrap: a kademlia-only server ( #1001 )
2019-01-09 17:59:51 +02:00
Dennis Coyle
add442aaa6
change default BootstrapAddr ( #994 )
2019-01-08 15:50:28 -05:00
Egon Elbre
9e55a7209d
Fix data-race in UpdateSelf ( #991 )
2019-01-08 18:01:22 +02:00
Egon Elbre
db5a990719
lint imports grouping ( #993 )
2019-01-08 16:05:14 +02:00
Alexander Leitner
c9d900fe4d
Process for updating storage node stats in kademlia ( #904 )
...
* Process for updating node stats in kademlia
* Mutex lock
* Rename and set up the refresher
* Wrap errors
* Lock should be around the if
* Address comments; Build updateSelf funciton in Kademlia Routing Table
* Added test
* Address comments
2019-01-07 22:05:11 -05:00
Egon Elbre
26c2564bd8
pkg/kademlia: simplify code ( #958 )
2019-01-02 20:57:11 +02:00
Jennifer Li Johnson
a2fa5c4c5a
Proper NodeType Handling ( #873 )
...
* adds enums to nodetype
* updating nodetype todos
* ran pb updates
* reorder nodetypes
* adding checks
* wip
* wip
* wip
* bug in test-captplanet
* wip
* add values to storagenode, satellite, captplanet binaries
* Cleanup
* more cleanup
* wip
* lint
* lint
* wip
* fixes bug
* regenerate protos
Change-Id: Id270212e8c7479e52641058042cf23b5317ab773
* limit node type changes to kademlia
Change-Id: I9c1a6cc4a79e05086627f0fdeb5028c62ce754f4
* dpanic
Change-Id: Id952a2ad13c807ebaea0ec0a875405e267d81c3e
* review comments
Change-Id: I7f9b77ef22779dd012fd490375b136014f51f834
2019-01-02 11:47:34 -07:00
Egon Elbre
89db0fe9f5
storj-sdk base code ( #799 )
2019-01-02 20:07:49 +02:00
Bryan White
249244536a
CSR Service (part 2): cert signing rpc ( #950 )
...
* CSR Service:
+ implement certificate sign rpc method
+ implement certificate signer client/server
+ refactor `AuthorizationDB#Create`
+ refactor `NewTestIdentity`
+ add `AuthorizationDB#Claim`
+ add `Token#Equal`
+ fix `Authorizations#Marshal` when marshaling identities and certificates
+ tweak `Authorization#String` format
+ cert debugging improvements (jsondiff)
+ receive context arg in `NewTestIdentity`
+ misc. fixes
2019-01-02 12:39:17 -05:00
JT Olio
3fbd8c7d15
kademlia: remove a redundant argument ( #951 )
2019-01-02 12:57:06 +02:00