Bryan Boreham
09a6c2eda0
Get the owned ranges for test purposes via the actor loop, so we don't set off the race detector
2016-03-19 15:29:34 +00:00
Matthias Radestock
62d823850c
make rmpeer report on size of transferred space, and not fail
...
Closes #2058 .
2016-03-19 14:40:26 +00:00
Bryan Boreham
f11314ed3e
Introduce 'Count' type to avoid abusing 'Offset'
2016-03-19 11:47:34 +00:00
Bryan Boreham
a57335738d
Don't do unnecessary clock skew check in IPAM
2016-03-10 11:41:47 +00:00
Martynas Pumputis
9cfc104fc7
Add TestSpaceRequest test for allocator
...
Checks whether a donating peer does not leave one ip address
behind a block it donates (#2009 ).
2016-03-03 08:36:14 -08:00
Bryan Boreham
824329d4c9
Fix up unit tests to look at CIDRs instead of addresses.
2016-03-02 17:21:52 -08:00
Bryan Boreham
73f1a04d5f
Deal in subnets, not ranges, when requesting address allocation
2016-03-02 17:21:51 -08:00
Bryan Boreham
b6eec08247
Return all applicable results from Lookup
...
and stop erroring on Lookup not found; just return a blank result
2016-03-02 17:01:12 -08:00
Bryan Boreham
f84b933d7c
Leave container allocations for a time after death
...
so they will be reclaimed if the container is restarted.
Still cancel pending operations immediately a container dies
2016-01-12 14:38:44 +00:00
Matthias Radestock
751ccd02f6
don't stall in ipam on early container death
...
When a container died before we got into the allocation code (inside
the allocator run loop) we would not cancel the allocation since the
container death event will have been processed by the allocator before
it had any knowledge of the container.
The fix is to move the container-aliveness check inside the allocation
code. That way we still detect the death even if the event has already
flown past.
We only need to perform the check once, since any subsequent death
will result in an event that is processed by the allocator when it has
recorded the container in its state.
Fixes #1459 .
2015-10-07 15:20:22 +01:00
Bryan Boreham
d55c68c248
Review feedback
2015-09-15 16:18:37 +01:00
Bryan Boreham
a7e0f03647
Use explicit index into operations slice in cancelOpsFor()
...
to avoid mis-indexing when more than one op is removed
2015-09-14 17:02:35 +01:00
Tom Wilkie
4df3d7f150
Reduce the amount of parallelism in the ipam tests
2015-07-29 10:13:02 +00:00
Michael Bridgen
5389e31190
Merge branch '687-detect-ipam-clash' of github.com:weaveworks/weave into pr1200
2015-07-27 11:54:31 +01:00
Tom Wilkie
a12d63bb12
Make ipam test less stressful, so it doesn't timeout.
2015-07-22 12:53:27 +00:00
Bryan Boreham
647b755b64
Check manually-assigned addresses with IPAM to see if they clash
2015-07-21 17:02:52 +01:00
Bryan Boreham
4c5920a50a
Add fuzz-test for Claim
2015-07-16 16:12:23 +01:00
Bryan Boreham
af7ca99dc4
Extend unit-tests for claim operation
2015-07-16 16:12:23 +01:00
Bryan Boreham
273a0fba47
Add sender to mock broadcast messages
2015-07-15 13:05:25 +01:00
Bryan Boreham
acf13dc157
Add sender to OnGossipBroadcast()
2015-07-15 12:07:56 +01:00
Adam Harrison
da41604229
Fix IPAM test compilation
2015-07-10 15:43:28 +01:00
Tom Wilkie
89ad7e1ba2
Move test gossip router out of ipam code for use in gossip dns code.
2015-07-08 15:03:13 +00:00
Tom Wilkie
4fdb14293b
Move ipam/address to net/address
2015-07-07 10:33:20 +00:00
Bryan Boreham
ff2d7451e2
Remove -debug option, superceded by --log-level
2015-07-04 03:27:07 +01:00
Bryan Boreham
a5ddb63fca
Remove Info.Print in favour of Log.Info
2015-07-01 14:01:45 +01:00
Bryan Boreham
d82578d895
Replace logging calls with new style
2015-07-01 12:26:23 +01:00
Matthias Radestock
8dd9020803
Merge branch '1.0'
...
Conflicts:
ipam/allocator_test.go
2015-06-26 14:08:09 +01:00
Bryan Boreham
6725c8355f
Check the result of Allocate in TestFakeRouterSimple()
2015-06-26 11:53:03 +01:00
Bryan Boreham
c659e3448a
Add a flush() function to the mock gossip router, and call it where required
2015-06-26 11:40:58 +01:00
Bryan Boreham
959e5f0082
Use different object types for mock gossip messages
2015-06-26 11:38:25 +01:00
Paul Bellamy
cdee7a5d6f
Replacing custom testing helpers with testify, where possible
2015-06-17 16:58:03 +01:00
Bryan Boreham
d25d0810af
Extend the 'block' flag to block allocateAgain()
...
otherwise we can re-insert the entry into the map after a parallel
allocateAgain() has cleared the flag. And it /that/ happens in
parallel with a free() then the data-structure can get out of sync.
2015-06-15 16:51:27 +01:00
Bryan Boreham
fa0b0042b2
Eradicate the last vestiges of CIDR in Allocator
2015-06-10 17:24:36 +01:00
Bryan Boreham
e21f66db0a
Use address.Range instead of (start,end) pairs
2015-06-10 17:24:36 +01:00
Bryan Boreham
147962d101
Clarify some unit test operations
2015-06-10 17:24:36 +01:00
Bryan Boreham
6536034ab6
Move default subnet outside of Allocator
2015-06-10 17:24:36 +01:00
Bryan Boreham
50eaccc60c
Allocate() and Lookup() now return a CIDR, to simplify output
2015-06-10 17:21:16 +01:00
Bryan Boreham
a617e7918c
Introduce single-address Free() and rename the previous one to Delete()
2015-06-10 17:21:16 +01:00
Bryan Boreham
ff545feae3
Add some unit tests for multi-subnet
2015-06-10 17:21:16 +01:00
Bryan Boreham
6a1b658f59
Fix race condition in allocator fuzz-test
...
It was possible to free an address between deciding to re-test it
and actually re-testing it. So introduced a flag 'block' to prevent
an address from being freed during the re-test.
2015-06-02 16:04:35 +01:00
Bryan Boreham
adeb0d3934
Don't bypass the actor mechanism in unit tests, to avoid race conditions
2015-05-29 10:43:19 +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