Commit Graph
1392 Commits
Author SHA1 Message Date
Matthias Radestock 4ebbdabfa1 never, ever use 10.0 for anything
it has a high probability of conflicting
2015-04-04 22:00:06 +01:00
Matthias Radestock 95c1e226f0 use routes based on tcp overlay connectivity for gossip
i.e. include asymmetric and non-established connections
This is TRTTD since gossip flows over the tcp overlay.
2015-04-04 21:56:30 +01:00
Matthias Radestock 3fba123bc0 comment 2015-04-04 21:14:25 +01:00
Matthias Radestock b272dcf8c1 rename: less 'gossip' in gossip 2015-04-04 20:58:10 +01:00
Matthias Radestock 91ed22a953 refactor(ish): generalise an abstraction
LocalPeer.NextBroadcastHops -> ConnectionsTo
thus separating the computation of who we want to connect to from
obtaining the associated Connections
2015-04-04 20:36:48 +01:00
Matthias Radestock bcd2a0184c small refactor 2015-04-04 20:08:38 +01:00
Matthias Radestock 45fd750318 cosmetic: move some test helpers from test code into main code
since they reach quite deeply into the data structures
2015-04-04 20:02:22 +01:00
Matthias Radestock 0a02d1a926 cosmetic: rename a type 2015-04-04 20:02:01 +01:00
Matthias Radestock ac0788cb5a simplify test router creation 2015-04-04 19:50:19 +01:00
Matthias Radestock 683caef866 tweak comment 2015-04-04 19:46:47 +01:00
Matthias Radestock fa5279ab3e cosmetic 2015-04-04 16:02:01 +01:00
Matthias Radestock 6cda74d49f refactor: inline 2015-04-04 15:36:42 +01:00
Matthias Radestock 582b582b98 fix silly bug 2015-04-03 19:52:28 +01:00
Matthias Radestock fdea7d93f9 refactor: improve abstraction in connection gossip handling
- turn previously free-floating functions into methods on GossipChannel
- move gossip message type dispatch from connection into router
2015-04-03 19:38:01 +01:00
Matthias Radestock 6f398a7459 refactor(ish): raise GossipSender abstraction level slightly 2015-04-03 18:33:59 +01:00
Matthias Radestock 7166d151aa make route calculcation more efficient and properly async
Instead of following the usual actor pattern, we use a 1-place channel
with a non-blocking send. Essentially, if there is already a pending
recalculation request queued up, there is no point enqueuing another
one.
2015-04-03 18:12:03 +01:00
Matthias Radestock acbb911823 Merge remote-tracking branch 'upstream/master' 2015-04-03 10:09:49 +01:00
Matthias Radestock 604d210e55 more flexibility 2015-04-03 10:07:39 +01:00
David Wragg 587a67d701 Comment
It's not blindingly obvious where this 'found' comes from.
2015-04-02 16:37:30 +01:00
Matthias Radestock 5648f87717 oops
broke this in 45740b1419
2015-04-02 13:03:42 +01:00
Matthias Radestock 488c5c5a2d bump default connection limit to 30
I can get 29 weaves running on my laptop, and once all connections are
established, the avg cpu load is ~10%. 30 runs into difficulty because
the concurrent connection establishment does create a very high load,
resulting in some timeouts. But that wouldn't happen when running each
weave in a separate machine (with more CPU resources overall than my
single laptop).

Stop gap solution for #426.
2015-04-02 12:38:45 +01:00
Matthias Radestock a68d444c33 launch multiple test weaves 2015-04-02 10:14:43 +01:00
Matthias Radestock 24f3634254 pass WEAVE_CONTAINER_NAME to weavexec 2015-04-02 10:13:52 +01:00
Matthias Radestock ea3c5c5f90 introduce (undocumented) weave test-launch command
which allows launching of several weave routers on the same machine,
by invoking this multiple times with different WEAVE_CONTAINER_NAMEs.

The routers are not connected to the bridge and do not perform any
capture/injection. So this is mainly intended for testing of
administrative and control plane functionality, rather than routing.
2015-04-02 09:49:05 +01:00
Matthias Radestock 5230daf943 permit overriding of weave container name via WEAVE_CONTAINER_NAME
useful for testing
2015-04-02 09:48:22 +01:00
Matthias Radestock e97a3f88aa allow router to be started w/o capture/inject interface
useful for testing of the control plane
2015-04-02 09:46:29 +01:00
Matthias Radestock e33d2eaf8e cosmetic 2015-04-02 07:10:21 +01:00
rade e66225ca9b Merge pull request #512 from bboreham/stop_not_kill
Use docker stop instead of docker kill
2015-04-01 17:27:54 +01:00
Bryan Boreham 05b7162239 Use docker stop instead of docker kill 2015-04-01 16:58:16 +01:00
rade a152d24892 Merge pull request #511 from bboreham/generalize_updater
Generalise updater.go and move into its own package
2015-04-01 16:57:20 +01:00
Bryan Boreham 68096b0437 Generalize updater.go 2015-04-01 16:48:11 +01:00
rade b5c8258407 Merge pull request #509 from bboreham/master
Wait for the 'status' http call to return something after 'weave launch'

Fixes #500.
2015-04-01 15:24:32 +01:00
Bryan Boreham bacaf41017 Wait for the 'status' http call to return something after 'weave launch' 2015-04-01 15:14:59 +01:00
rade 3dad9fb593 Merge pull request #508 from tomwilkie/coverage
More feedback on test 'harness'
2015-04-01 13:35:51 +01:00
Tom Wilkie db9a0d7528 More feedback on test 'harness' 2015-04-01 12:32:35 +00:00
rade df7836df62 Merge pull request #505 from tomwilkie/coverage
Move away from recursive go test, as it cannot output a merged coverage profile.
2015-04-01 13:23:19 +01:00
Tom Wilkie d28d52da15 Move away from recursive go test, as it cannot output a merged coverage profile. Update said profile to coveralls.io; add badge. 2015-04-01 12:00:06 +00:00
Adam Harrison f2a340772a Revert stty manipulation of CRLF behaviour 2015-04-01 12:52:15 +01:00
rade 254b837a92 Merge pull request #498 from awh/467_multi_cidr_launch
Allow multiple CIDR arguments to run/start/attach/detach/expose/hide

Closes #467.
2015-04-01 10:58:36 +01:00
Adam Harrison 745b8effbb Merge pull request #503 from tomwilkie/travis
Setup Travis CI for Weave.
2015-04-01 09:43:41 +01:00
rade cf9f8499fb Merge pull request #504 from errordeveloper/issue_470
Check if `/proc/<pid>/ns/net` is a symlink

Fixes #470.
2015-03-31 16:22:10 +01:00
Ilya Dmitrichenko 6ce91aafa8 Check if /proc/<pid>/ns/net is a symlink (fix #470) 2015-03-31 16:18:28 +01:00
Tom Wilkie 7969566b27 Setup Travis CI for Weave. Add .travis.yml; add target to makefile which doesn't use docker; add image to readme. 2015-03-31 15:02:35 +00:00
Tom Wilkie 592be90904 Use recursive go test instead of naming directories individually 2015-03-31 13:33:36 +00:00
Adam Harrison 0912cd416d Use consistent subnets in documentation 2015-03-31 12:23:34 +01:00
Adam Harrison aa88dfca11 Tests use distinct subnets 2015-03-31 12:09:22 +01:00
Matthias Radestock 10f37db9da tidy up DNSServer fields
- make Zone, Iface and Upstream public - this is safe and makes sense
  since all are immutable, and the former two are passed to the
  constructor and are thus known anyway, and the latter is derived
  from external information
- remove IfaceName - we can just use Iface instead
- log Upstream on startup
2015-03-31 12:04:31 +01:00
Matthias Radestock de557a3e03 introduce WEAVEDNS_DOCKER_ARGS
same purpuse as WEAVE_DOCKER_ARGS, except for weavedns
This allows us to get rid if the -fallback option since
WEAVEDNS_DOCKER_ARGS="--dns=..." has the same effect.

Closes #487.
2015-03-31 11:50:41 +01:00
Adam Harrison dc49f78588 Expose and hide take multiple addresses 2015-03-31 11:48:51 +01:00
Matthias Radestock b50688b4de act immediately on weave connecting existing addresses
we simply reset the vars controlling backoff for that address
Note that we do not interrupt any current connection attempt, since
that is hard.

Closes #499.
2015-03-31 11:05:11 +01:00