• Humble Chirammal's avatar
    Fix nil pointer dereference in metrics value calculator. · 388a9e1d
    Humble Chirammal authored
    The metrics structure passed to volume stat calculator
    can contain real stats on subset of metrics fields. For example,
    the metrics structure filled by a CSI driver can have
    either INODES or BYTES filled, IOW it a valid return.
    In such cases the volume stat calculator panic with below
    trace:
    
    0516 21:36:19.013143   14452 runtime.go:69] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:76
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:65
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51
    /usr/local/go/src/runtime/panic.go:522
    /usr/local/go/src/runtime/panic.go:82
    /usr/local/go/src/runtime/signal_unix.go:390
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:697
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:685
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:144
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:125
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/kubelet/server/stats/volume_stat_calculator.go:65
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152
    /home/hchiramm/gopath/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153
    /usr/local/go/src/runtime/asm_amd64.s:1337
    Signed-off-by: 's avatarHumble Chirammal <hchiramm@redhat.com>
    388a9e1d
Name
Last commit
Last update
..
testing Loading commit data...
BUILD Loading commit data...
doc.go Loading commit data...
fs_resource_analyzer.go Loading commit data...
handler.go Loading commit data...
prometheus_resource_metrics.go Loading commit data...
prometheus_resource_metrics_test.go Loading commit data...
resource_analyzer.go Loading commit data...
summary.go Loading commit data...
summary_sys_containers.go Loading commit data...
summary_sys_containers_windows.go Loading commit data...
summary_test.go Loading commit data...
summary_windows_test.go Loading commit data...
volume_stat_calculator.go Loading commit data...
volume_stat_calculator_test.go Loading commit data...