Merge pull request #696 from bboreham/692-ipam-status

Document ipam additions to `weave status`

Closes #692.
This commit is contained in:
Matthias Radestock committed 2015-05-19 12:05:53 +01:00
commit 9f85cbc07d
4 files changed
+47 -11

No files matched your search

+8 -8
View File
@@ -456,7 +456,7 @@ func (alloc *Allocator) actorLoop(actionChan <-chan func()) {
func (alloc *Allocator) string() string {
var buf bytes.Buffer
fmt.Fprintf(&buf, "Allocator subnet %s+%d\n", alloc.subnetStart.String(), alloc.subnetSize)
fmt.Fprintf(&buf, "Allocator subnet %s/%d\n", alloc.subnetStart.String(), alloc.prefixLen)
if alloc.ring.Empty() {
fmt.Fprintf(&buf, "Paxos: %s", alloc.paxos.String())
@@ -467,16 +467,16 @@ func (alloc *Allocator) string() string {
fmt.Fprintf(&buf, " Free IPs: ~%.1f%%, %d local, ~%d remote\n",
percentFree, localFreeSpace, remoteFreeSpace)
fmt.Fprint(&buf, "Owned Ranges:")
alloc.ring.FprintWithNicknames(&buf, alloc.nicknames)
fmt.Fprintf(&buf, alloc.space.String())
if len(alloc.pendingAllocates)+len(alloc.pendingClaims) > 0 {
fmt.Fprintf(&buf, "\nPending requests for ")
}
for _, op := range alloc.pendingAllocates {
fmt.Fprintf(&buf, "%s, ", op.String())
}
for _, op := range alloc.pendingClaims {
fmt.Fprintf(&buf, "%s, ", op.String())
for _, op := range alloc.pendingAllocates {
fmt.Fprintf(&buf, "%s, ", op.String())
}
for _, op := range alloc.pendingClaims {
fmt.Fprintf(&buf, "%s, ", op.String())
}
}
}
return buf.String()
+3 -3
View File
@@ -347,20 +347,20 @@ func (r *Ring) ClaimItAll() {
}
func (r *Ring) FprintWithNicknames(w io.Writer, m map[router.PeerName]string) {
fmt.Fprintf(w, "Ring [%s, %s)\n", r.Start, r.End)
for _, entry := range r.Entries {
nickname, found := m[entry.Peer]
if found {
nickname = fmt.Sprintf(" (%s)", nickname)
}
fmt.Fprintf(w, " %s -> %s%s (version: %d, free: %d)\n", entry.Token,
entry.Peer, nickname, entry.Version, entry.Free)
fmt.Fprintf(w, "\n %s -> %s%s (v%d)", entry.Token,
entry.Peer, nickname, entry.Version)
}
}
func (r *Ring) String() string {
var buffer bytes.Buffer
fmt.Fprintf(&buffer, "Ring [%s, %s)", r.Start, r.End)
r.FprintWithNicknames(&buffer, make(map[router.PeerName]string))
return buffer.String()
}
+32
View File
@@ -115,3 +115,35 @@ brackets, like this:
So, in our example, we could equivalently do:
host1$ weave rmpeer ea:6c:21:09:cf:f0
## <a name="troubleshooting"></a>Troubleshooting
The command
weave status
reports on the current status of the weave router and IP allocator:
````
weave router git-8f675f15c0b5
...
Allocator subnet 10.2.1.0/24
Free IPs: ~98.0%, 62 local, ~189 remote
Owned Ranges:
10.2.1.1 -> 96:e9:e2:2e:2d:bc (host1) (v3)
10.2.1.128 -> ea:84:25:9b:31:2e (host2) (v3)
10.2.1.192 -> ea:6c:21:09:cf:f0 (host3) (v9)
````
The first section covers the router; see the [troubleshooting
guide](troubleshooting.html#status-report) for full details.
The 'Allocator' section, which is only present if weave has been
started with the `-iprange` option, summarises the overall position and
lists which address ranges have been assigned to which peer. Each
range begins at the address shown and ends just before the next
address, or wraps around at the end of the subnet. The 'v' number
denotes how many times that entry has been updated.
The 'Free IPs' information may be out of date with respect to changes
happening elsewhere in the network.
+4
View File
@@ -126,6 +126,10 @@ not currently connected to. Each line contains some information about
what went wrong the last time; whether it is attempting to connect or
is waiting for a while before connecting again.
There may also be further sections for
[IP allocator](ipam.html#troubleshooting) and
[weaveDNS](weavedns.html#troubleshooting).
### <a name="list-attached-containers"></a>List attached containers
weave ps