Commit Graph
1746 Commits
Author SHA1 Message Date
Bryan Boreham f6ac069bc5 Remove some less-necessary test helper functions 2015-05-14 17:57:13 +01:00
Bryan Boreham 3cd1a17c23 IP Allocation Management
Using the Ring CRDT and Weave gossip, provides an interface
for the weave script to allocate IP addresses in `weave run`,
`weave start` and `weave expose`.

See docs/ipam.md for implementation details, and site/features.md
for user-visible changes.
2015-05-14 17:44:06 +01:00
David Wragg 72112d7aef Implementation of Basic Paxos 2015-05-14 17:33:20 +01:00
Tom Wilkie 4f3dcf8dc9 Ring CRDT for IP Allocation Management
The basic data structure used to share information about
IP allocations between peers
2015-05-14 17:33:20 +01:00
Matthias Radestock c158b86dc6 refactor: shorten a method name 2015-05-14 15:13:10 +01:00
Matthias Radestock 79d3a2821f simplify test
less clever, but more readable
2015-05-14 14:52:35 +01:00
Matthias Radestock c7dd48d769 introduce PeerUID type 2015-05-14 12:35:01 +01:00
Matthias Radestock ace56da7b3 allow Gossiper.Gossip to return nil
...to indicate 'no data'
2015-05-14 12:02:56 +01:00
Ilya Dmitrichenko af21f5eaf6 Markdown cosmetic 2015-05-13 16:53:49 +01:00
Ilya Dmitrichenko 0881fa0c69 Add instructions for building on a Vargant VM without logging in 2015-05-13 16:45:58 +01:00
Ilya Dmitrichenko db28286a4b Vagrnant should not do everything as root 2015-05-13 16:41:25 +01:00
Ilya Dmitrichenko ccd111d512 Cleanup Vagrantfile and fix path in non-interactive shell 2015-05-13 16:24:36 +01:00
Fintan Ryan d106c56c00 Merge pull request #651 from weaveworks/move-weavedns-docs
Update docs index: move WeaveDNS docs and add Getting Started Guides
2015-05-13 14:44:54 +01:00
Paul Bellamy f0578f5f66 forgot to give Overview section an anchor 2015-05-13 14:17:56 +01:00
Ilya Dmitrichenko d63a9785bd Point to new location for WeaveDNS docs 2015-05-13 13:59:41 +01:00
rade 8f38a48a1f Merge pull request #653 from paulbellamy/docs-how-it-works-toc
Add ToC to how-it-works docs page
2015-05-13 13:53:37 +01:00
Paul Bellamy 39f87a27e5 Add ToC to how-it-works docs page 2015-05-13 13:45:06 +01:00
Ilya Dmitrichenko ca4d813b71 Cleanup documentation index, add getting started guides 2015-05-13 12:47:43 +01:00
Ilya Dmitrichenko 2199c5c273 Add Jekyll "frontmatter", it does not build it otherwise 2015-05-13 10:36:22 +01:00
Ilya Dmitrichenko 366adfb8f9 Move WeaveDNS docs to docs.weave.works (close #471) 2015-05-13 10:21:51 +01:00
Ilya Dmitrichenko 17925a0c0b gsutil rsync does not imply recursion 2015-05-13 10:21:32 +01:00
Matthias Radestock 55077d5059 cosmetic: it's lower-case 'weave' everywhere except in titles 2015-05-12 17:26:28 +01:00
David Wragg 3e4f7358a7 Mention "CIDR notation" rather than "CIDR" in error message
It's more web-searchable.
2015-05-12 15:48:33 +01:00
Matthias Radestock 9195894d2a Show error message when DNS population fails part way through.
Closes #393.
2015-05-12 11:49:48 +01:00
Matthias Radestock 953449c215 refactor: extract Peer.ForEachConnectedPeer helper 2015-05-11 21:06:07 +01:00
Matthias Radestock c5c93d3a77 refactor: increase similarity betweeen parts of route calculation 2015-05-11 20:14:24 +01:00
Matthias Radestock 039446f756 cosmetic: remove outdated comment 2015-05-11 20:00:04 +01:00
Matthias Radestock 03c1f49850 make profiling work again
The weave SIGINT signal handler was racing the profiler SIGINT signal
handler. So now we a) make the former return instead of exit, and b)
disable the latter, as a result of which the deferred profile.Stop in
weaver/main gets called.
2015-05-11 19:38:06 +01:00
Matthias Radestock 43133b5851 increase tolerance for missed udp heartbeats
3 are quite easy to miss when there is contention. 6 less so.
2015-05-11 18:35:06 +01:00
David Wragg df40c5b97e Merge rade/643_eliminate_route_calculcation_deadlock (PR #644)
eliminate route calculcation deadlock

Fixes #643.
2015-05-11 17:57:53 +01:00
Matthias Radestock e246e6acc6 coarser lock granularity
- get rid of individual Peer locks
- hold Peers read (or write) lock and LocalPeer read lock while
  performing route calculations

This eliminates the deadlock resulting from the inconsistent lock
acquisition order in route calculcation.

Fixes #643.
2015-05-11 17:19:54 +01:00
Matthias Radestock 5bd8730353 make Peer.Encode lock-free 2015-05-11 17:19:51 +01:00
Matthias Radestock c210f0e3c1 make Peer.Info lock-free 2015-05-11 17:19:46 +01:00
Matthias Radestock 426d8edb31 remove Peer.SetVersionAndConnections
further shrinking Peer API
2015-05-11 17:19:43 +01:00
Matthias Radestock 86ba3be4f7 move Connections from Peer to LocalPeer
further shrinking the former's API
2015-05-11 17:19:38 +01:00
Matthias Radestock 5bf6889250 remove Peer.Version
further shrinking the Peer API
2015-05-11 17:19:35 +01:00
Matthias Radestock 0229185ffe move ConnectionTo from Peer to LocalPeer
further shrinking the former's API
2015-05-11 17:19:31 +01:00
Matthias Radestock 505ced5cc8 move localRefCount accounting responsibility from Peer to Peers
This makes for a more symmetric API - Peers.FetchWithDefault does the
increment and Peers.Dereference does the decrement, whereas previously
the latter was done by Peer.DecrementLocalRefCount.

This does increase lock granularity, i.e. modifying any ref count now
requires a write lock on Peers.
2015-05-11 17:19:23 +01:00
Matthias Radestock 3e6eef5ebd refactor(ish): move a bunch of methods from Peer to LocalPeer
in order to reduce the former's API surface
2015-05-11 17:19:15 +01:00
Paul Bellamy 8f1f6741e3 Merge pull request #642 from errordeveloper/post-docs-move
Fixes post #612
2015-05-11 17:02:35 +01:00
Matthias Radestock 52a89a318a cosmetic: resolve yet more linter complaints 2015-05-11 02:44:15 +01:00
Matthias Radestock b43a3e9ab2 cosmetic: resolve some more linter complaints 2015-05-11 02:37:59 +01:00
Matthias Radestock 4bef9d90fb cosmetic: resolve some linter complaints 2015-05-11 02:33:56 +01:00
Matthias Radestock e5a87d1ab1 cosmetic: resolve some linter complaints 2015-05-11 02:31:34 +01:00
Matthias Radestock ef2c55141b keep linter happy 2015-05-11 02:25:01 +01:00
Matthias Radestock 0cbbe9bac3 make Peer.String() return the common case
When we want a string representation of a Peer, we nearly always just
want the full name. So make String() return that and introduce Info()
to return expanded info.
2015-05-10 23:58:23 +01:00
Matthias Radestock db198652a5 refactor: get rid of test-launch 2015-05-09 17:29:13 +01:00
Matthias Radestock 7b0f432339 cosmetic: fix typo 2015-05-09 17:11:52 +01:00
Matthias Radestock 5472d868aa refactor
we don't need to extract the -nickname option since when the same
option is specified more than once, the last value wins
2015-05-08 18:28:22 +01:00
Matthias Radestock 5a3ff111ef cosmetic 2015-05-08 18:24:43 +01:00