Bump cAdvisor to v0.44.1

Bump cAdvisor to v0.44.1 to pick up fix for containerd task timeout
which resulted in empty network metrics.

Signed-off-by: David Porter <david@porter.me>
This commit is contained in:
David Porter 2022-04-25 17:18:38 -07:00
parent f02682c628
commit b0da29dcb8
5 changed files with 22 additions and 8 deletions

4
go.mod
View File

@ -44,7 +44,7 @@ require (
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
github.com/golang/mock v1.6.0
github.com/golang/protobuf v1.5.2
github.com/google/cadvisor v0.44.0
github.com/google/cadvisor v0.44.1
github.com/google/gnostic v0.5.7-v3refs
github.com/google/go-cmp v0.5.5
github.com/google/gofuzz v1.1.0
@ -263,7 +263,7 @@ replace (
github.com/golang/protobuf => github.com/golang/protobuf v1.5.2
github.com/golangplus/testing => github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e
github.com/google/btree => github.com/google/btree v1.0.1
github.com/google/cadvisor => github.com/google/cadvisor v0.44.0
github.com/google/cadvisor => github.com/google/cadvisor v0.44.1
github.com/google/cel-go => github.com/google/cel-go v0.10.1
github.com/google/cel-spec => github.com/google/cel-spec v0.6.0
github.com/google/gnostic => github.com/google/gnostic v0.5.7-v3refs

4
go.sum
View File

@ -213,8 +213,8 @@ github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e h1:KhcknUwkWHKZ
github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk=
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
github.com/google/cadvisor v0.44.0 h1:523mBK94XHKAsU1TIQl/tYoPyYpWQdalf2CQ8Gv2Xek=
github.com/google/cadvisor v0.44.0/go.mod h1:GQ9KQfz0iNHQk3D6ftzJWK4TXabfIgM10Oy3FkR+Gzg=
github.com/google/cadvisor v0.44.1 h1:hsAxDZOY+5xSCXH12d/G9cxYTfP+32cMT3J7aatrgDY=
github.com/google/cadvisor v0.44.1/go.mod h1:GQ9KQfz0iNHQk3D6ftzJWK4TXabfIgM10Oy3FkR+Gzg=
github.com/google/cel-go v0.10.1 h1:MQBGSZGnDwh7T/un+mzGKOMz3x+4E/GDPprWjDL+1Jg=
github.com/google/cel-go v0.10.1/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w=
github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA=

View File

@ -16,6 +16,7 @@ package containerd
import (
"context"
"errors"
"fmt"
"net"
"sync"
@ -24,6 +25,7 @@ import (
containersapi "github.com/containerd/containerd/api/services/containers/v1"
tasksapi "github.com/containerd/containerd/api/services/tasks/v1"
versionapi "github.com/containerd/containerd/api/services/version/v1"
tasktypes "github.com/containerd/containerd/api/types/task"
ptypes "github.com/gogo/protobuf/types"
"github.com/google/cadvisor/container/containerd/containers"
"github.com/google/cadvisor/container/containerd/errdefs"
@ -44,6 +46,10 @@ type ContainerdClient interface {
Version(ctx context.Context) (string, error)
}
var (
ErrTaskIsInUnknownState = errors.New("containerd task is in unknown state") // used when process reported in containerd task is in Unknown State
)
var once sync.Once
var ctrdClient ContainerdClient = nil
@ -114,6 +120,9 @@ func (c *client) TaskPid(ctx context.Context, id string) (uint32, error) {
if err != nil {
return 0, errdefs.FromGRPC(err)
}
if response.Process.Status == tasktypes.StatusUnknown {
return 0, ErrTaskIsInUnknownState
}
return response.Process.Pid, nil
}

View File

@ -17,6 +17,7 @@ package containerd
import (
"encoding/json"
"errors"
"fmt"
"strings"
"time"
@ -101,10 +102,14 @@ func newContainerdContainerHandler(
if err == nil {
break
}
retry--
if !errdefs.IsNotFound(err) || retry == 0 {
// Retry when task is not created yet or task is in unknown state (likely in process of initializing)
isRetriableError := errdefs.IsNotFound(err) || errors.Is(err, ErrTaskIsInUnknownState)
if !isRetriableError || retry == 0 {
return nil, err
}
retry--
time.Sleep(backoff)
backoff *= 2
}

4
vendor/modules.txt vendored
View File

@ -322,7 +322,7 @@ github.com/golang/protobuf/ptypes/timestamp
github.com/golang/protobuf/ptypes/wrappers
# github.com/google/btree v1.0.1 => github.com/google/btree v1.0.1
github.com/google/btree
# github.com/google/cadvisor v0.44.0 => github.com/google/cadvisor v0.44.0
# github.com/google/cadvisor v0.44.1 => github.com/google/cadvisor v0.44.1
## explicit
github.com/google/cadvisor/accelerators
github.com/google/cadvisor/cache/memory
@ -2545,7 +2545,7 @@ sigs.k8s.io/yaml
# github.com/golang/protobuf => github.com/golang/protobuf v1.5.2
# github.com/golangplus/testing => github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e
# github.com/google/btree => github.com/google/btree v1.0.1
# github.com/google/cadvisor => github.com/google/cadvisor v0.44.0
# github.com/google/cadvisor => github.com/google/cadvisor v0.44.1
# github.com/google/cel-go => github.com/google/cel-go v0.10.1
# github.com/google/cel-spec => github.com/google/cel-spec v0.6.0
# github.com/google/gnostic => github.com/google/gnostic v0.5.7-v3refs