Raj Chaudhuri
c1d3107418
Changed module name, edited default manifests in prog/weave-kube
...
* Module name changed to `github.com/rajch/weave`
* Added environment variable `CHECKPOINT_DISABLE=1` to default manifests, to bypass weaveworks telemetry
2024-03-01 18:05:19 +05:30
Bryan Boreham
f5d0a277fb
Move canonicalisation and checking of DNS entries into nameserver
2017-04-17 19:41:47 +00:00
Matthias Radestock
7165414fc3
improve clock skew error message
...
Fixes #2174
2016-06-29 05:48:10 +01:00
Bryan Boreham
487392b99c
Immediately broadcast DNS records that "re-assert a peer's authority"
...
and enable test to check.
2016-04-06 13:35:07 +01:00
Matthias Radestock
63a9f879fb
Merge branch '1.4'
2016-03-22 14:13:24 +00:00
Bryan Boreham
010766fe9e
Check entries claiming to originate from us against our current data, and override if necessary
2016-03-22 12:57:07 +00:00
Bryan Boreham
001322751f
Don't hold Nameserver lock over call out via isKnownPeer
2016-03-21 11:52:13 +00:00
Matthias Radestock
6e4f025d9c
refactor: reduce duplication in nameserver logging
...
and remove a dot import in the process
2016-03-20 08:19:15 +00:00
Matthias Radestock
09cd9e091a
Merge branch '1.4'
2016-02-16 14:09:06 +00:00
Matthias Radestock
17d53af2a2
improve logging of dns entry creation
...
- log inside the lock, so we get proper serialisation
- include the container name, so we can identify the specific entry
2016-02-16 14:04:34 +00:00
Peter Bourgon
0dff2e66c6
vendor: update mesh
...
Now, broadcast operations cannot fail. So, update various broadcast-y
methods to no longer return errors.
2016-01-28 10:43:32 +01:00
Peter Bourgon
e27b320ede
Update import location for mesh
2016-01-15 15:57:01 +01:00
Bryan Boreham
b2b293a8ee
Added 'ContainerDestroyed()' callback from docker client
2016-01-12 14:38:44 +00:00
Matthias Radestock
b5a4aefe8b
never broadcast empty nameserver gossip
2015-11-19 18:28:37 +00:00
Matthias Radestock
dc9f8762ca
move generic communication substrate into its own 'mesh' package
...
This is mostly a matter of moving some files, changing package names,
changing some imports, and changing some type references.
We duplicate the odd constant & global var, and the intmac/macint
functions, since neither 'router' or 'mesh' nor, really,' common' are
a natural home for them.
2015-11-09 16:37:39 +00:00
Matthias Radestock
30a128c00b
Merge branch '1.2'
2015-11-02 20:58:15 +00:00
Bryan Boreham
35f57b3ed2
Move decoding code next to encoding code
2015-11-02 20:01:40 +00:00
Bryan Boreham
f485b729bc
Hold all entries sorted case-insensitively until just before sending, when we re-sort case-sensitively in Encode()
2015-11-02 20:01:40 +00:00
Matthias Radestock
12f5ec40b5
refactor: reduce coupling of nameserver to router
...
The nameserver no longer knows anything about router.Peers and
router.Peer. That only leaves PeerName, Gossip and GossipData.
2015-10-29 23:21:07 +00:00
Matthias Radestock
14a5c12404
allow router to be run w/o access to Docker
...
Fixes #1443 .
2015-10-03 17:52:57 +01:00
Tom Wilkie
357174e351
DNS lookups should not be case sensitive.
...
- On-the-wire gossip messages are sorted case sensitive, but in memory they are sorted case-insensitive.
- Add test for case insensitive match on multiple names.
2015-10-01 12:19:49 +00:00
Bryan Boreham
81e8ba223f
Do network attach on docker event rather than intercepting start and restart commands.
...
This means it also works when the docker daemon restarts a container.
2015-09-01 17:48:12 +01:00
Matthias Radestock
6655974ef3
cosmetic: tidy up log messages
2015-08-28 09:12:42 +01:00
Tom Wilkie
46363f4129
Make reverse dns lookups honor tombstones.
2015-08-25 12:01:09 +00:00
Tom Wilkie
4809c113b3
Update comment.
2015-08-24 15:43:31 +00:00
Tom Wilkie
6a5044fc70
Make nameserver logging more consistent.
2015-08-11 11:32:19 +00:00
Adam Harrison
fc9a1c8664
new weave status, weave status ..., and weave report
2015-08-11 12:15:13 +01:00
Tom Wilkie
4e29dba5cd
Make Gossip DNS reject gossip messages if clockskew > tombstoneTimeout / 2
2015-07-20 13:12:07 +00:00
Tom Wilkie
1a4b38a10c
Don't delete all the non-tombstone entries every 10mins!
2015-07-20 12:03:46 +00:00
Matthias Radestock
66473e6021
refactor: return slice instead of pointer to slice from tombstone()
2015-07-20 12:37:54 +01:00
Tom Wilkie
25c9180fdf
Don't swallow errors in the docker client.
2015-07-17 12:35:12 +00:00
Tom Wilkie
e2deff09a6
Nameserver: log when peer goes away.
2015-07-17 09:36:44 +00:00
Tom Wilkie
73210b6a70
Make sure DNS Gossip converges correctly.
...
- Abide by gossip interface (return nil, not empty gossip) so gossip converges!
- Make sure we don't say an old entry version is new to us; add some more tests.
- Add dns test for 3 (or N) hosts
- Extend mock gossip router to ensure reconsumption off diffs yield nil
- Don't increment version when re-adding existing entry.
2015-07-15 15:54:52 +00:00
Bryan Boreham
acf13dc157
Add sender to OnGossipBroadcast()
2015-07-15 12:07:56 +01:00
Tom Wilkie
8b061fd555
Gossip-based DNS embedded in the router.
...
- Nameserver holds a sorted list of (hostname, peer, container id, ip) tuples.
- Entries are gossiped using topology gossip / broadcast - only new/updated entries
are propogated as expected.
- Entries for a given peer are removed when the connection to the peer is lost.
- Entries are tombstoned when containers die. Tombstones are kept for 10mins,
as they do not need to survive partition, only gossip propagation delay.
2015-07-14 16:00:38 +00:00