Add kernel version, Docker version and awsvpc setting to checkpoint info
This commit is contained in:
1 parent
e1edce84d9
commit
1fe5c65fd4
3 files changed
+41
-3
No files matched your search
@@ -84,6 +84,15 @@ func (c *Client) Info() string {
|
||||
return fmt.Sprintf("Docker API on %s: %v", c.Endpoint(), env)
|
||||
}
|
||||
|
||||
func (c *Client) DockerVersion() string {
|
||||
if env, err := c.Version(); err == nil {
|
||||
if v, found := env.Map()["Version"]; found {
|
||||
return v
|
||||
}
|
||||
}
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
// AddObserver adds an observer for docker events
|
||||
func (c *Client) AddObserver(ob ContainerObserver) error {
|
||||
go func() {
|
||||
|
||||
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"sync/atomic"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/weaveworks/go-checkpoint"
|
||||
@@ -14,7 +15,7 @@ const (
|
||||
updateCheckPeriod = 6 * time.Hour
|
||||
)
|
||||
|
||||
func checkForUpdates() {
|
||||
func checkForUpdates(dockerVersion string, network string) {
|
||||
newVersion.Store("")
|
||||
|
||||
handleResponse := func(r *checkpoint.CheckResponse, err error) {
|
||||
@@ -29,11 +30,34 @@ func checkForUpdates() {
|
||||
}
|
||||
}
|
||||
|
||||
var uts syscall.Utsname
|
||||
syscall.Uname(&uts)
|
||||
flags := map[string]string{
|
||||
"docker-version": dockerVersion,
|
||||
"kernel-version": charsToString(uts.Release[:]),
|
||||
}
|
||||
if network != "" {
|
||||
flags["network"] = network
|
||||
}
|
||||
|
||||
// Start background version checking
|
||||
params := checkpoint.CheckParams{
|
||||
Product: "weave-net",
|
||||
Version: version,
|
||||
SignatureFile: "",
|
||||
Flags: flags,
|
||||
}
|
||||
checker = checkpoint.CheckInterval(¶ms, updateCheckPeriod, handleResponse)
|
||||
}
|
||||
|
||||
func charsToString(ca []int8) string {
|
||||
s := make([]byte, len(ca))
|
||||
i := 0
|
||||
for ; i < len(ca); i++ {
|
||||
if ca[i] == 0 {
|
||||
break
|
||||
}
|
||||
s[i] = uint8(ca[i])
|
||||
}
|
||||
return string(s[:i])
|
||||
}
|
||||
+7
-2
@@ -204,8 +204,6 @@ func main() {
|
||||
|
||||
Log.Println("Command line options:", options())
|
||||
|
||||
checkForUpdates()
|
||||
|
||||
if prof != "" {
|
||||
defer profile.Start(profile.CPUProfile, profile.ProfilePath(prof), profile.NoShutdownHook).Stop()
|
||||
}
|
||||
@@ -257,6 +255,13 @@ func main() {
|
||||
}
|
||||
dockerCli = dc
|
||||
}
|
||||
|
||||
network := ""
|
||||
if isAWSVPC {
|
||||
network = "awsvpc"
|
||||
}
|
||||
checkForUpdates(dockerCli.DockerVersion(), network)
|
||||
|
||||
observeContainers := func(o docker.ContainerObserver) {
|
||||
if dockerCli != nil {
|
||||
if err := dockerCli.AddObserver(o); err != nil {
|
||||
|
||||
Reference in new issue
Block a user