Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WARNING] InvalidDiskCapacity warning thrown in node events by Kubelet #106420

Closed
furkatgofurov7 opened this issue Nov 15, 2021 · 13 comments
Closed
Labels
area/cadvisor kind/bug Categorizes issue or PR as related to a bug. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. sig/node Categorizes an issue or PR as relevant to SIG Node. triage/needs-information Indicates an issue needs more information in order to work on it.

Comments

@furkatgofurov7
Copy link
Member

What happened?

Kubelet keeps throwing InvalidDiskCapacity kubelet invalid capacity 0 on image filesystem in the nodes status

  Normal   NodeHasNoDiskPressure    29m (x5 over 29m)  kubelet  Node cp-host-1 status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     29m (x5 over 29m)  kubelet  Node cp-host-1 status is now: NodeHasSufficientPID
  Normal   NodeHasSufficientMemory  29m (x6 over 29m)  kubelet  Node host-1 status is now: NodeHasSufficientMemory
  Normal   NodeAllocatableEnforced  29m                kubelet  Updated Node Allocatable limit across pods
  Normal   Starting                 29m                kubelet  Starting kubelet.
  Warning  InvalidDiskCapacity      29m                kubelet  invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientMemory  29m                kubelet  Node cp-host-1 status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    29m                kubelet  Node cp-host-1 status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     29m                kubelet  Node cp-host-1 status is now: NodeHasSufficientPID
  Normal   Starting                 29m                kubelet  Starting kubelet.

What did you expect to happen?

No warnings thrown in output of node events

How can we reproduce it (as minimally and precisely as possible)?

n/a

Anything else we need to know?

I have checked couple of reported issues open/closed ones in the repo and most of them have this in logs when node logs were provided, can this be considered benign or disregarded?
Also, the same has been reported some time ago (2018) but that was seen in windows nodes and was fixed here. Maybe, this should be OS agnostic and fix should be extended?

Kubernetes version

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:41:28Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.2", GitCommit:"8b5a19147530eaac9476b0ab82980b4088bbc1b2", GitTreeState:"clean", BuildDate:"2021-11-04T09:36:56Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider

Baremetal

OS version

SLES 15 SP2

Install tools

Container runtime (CRI) and and version (if applicable)

containerd version:  containerd github.com/containerd/containerd v1.5.6 1a1b383ad5b520349f13f9715e0cd1e2f132c087

Related plugins (CNI, CSI, ...) and versions (if applicable)

CNI is not deployed at that point
@furkatgofurov7 furkatgofurov7 added the kind/bug Categorizes issue or PR as related to a bug. label Nov 15, 2021
@k8s-ci-robot k8s-ci-robot added needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 15, 2021
@furkatgofurov7
Copy link
Member Author

/cc @feiskyer

@MadhavJivrajani
Copy link
Contributor

/sig node

@k8s-ci-robot k8s-ci-robot added sig/node Categorizes an issue or PR as relevant to SIG Node. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Nov 15, 2021
@pacoxu
Copy link
Member

pacoxu commented Nov 15, 2021

func (p *cadvisorStatsProvider) ImageFsStats() (*statsapi.FsStats, error) {
imageFsInfo, err := p.cadvisor.ImagesFsInfo()
if err != nil {
return nil, fmt.Errorf("failed to get imageFs info: %v", err)
}
imageStats, err := p.imageService.ImageStats()
if err != nil || imageStats == nil {
return nil, fmt.Errorf("failed to get image stats: %v", err)
}
var imageFsInodesUsed *uint64
if imageFsInfo.Inodes != nil && imageFsInfo.InodesFree != nil {
imageFsIU := *imageFsInfo.Inodes - *imageFsInfo.InodesFree
imageFsInodesUsed = &imageFsIU
}
return &statsapi.FsStats{
Time: metav1.NewTime(imageFsInfo.Timestamp),
AvailableBytes: &imageFsInfo.Available,
CapacityBytes: &imageFsInfo.Capacity,
UsedBytes: &imageStats.TotalStorageBytes,
InodesFree: imageFsInfo.InodesFree,
Inodes: imageFsInfo.Inodes,
InodesUsed: imageFsInodesUsed,
}, nil
}

It is most likely a cadvisor related issue on SLES 15 SP2.
/area cadvisor

@SergeyKanzhelev
Copy link
Member

/triage accepted
/cc @jackfrancis
/assign @ehashman

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 17, 2021
@SergeyKanzhelev SergeyKanzhelev moved this from Triage to Triaged in SIG Node Bugs Nov 17, 2021
@jackfrancis
Copy link
Contributor

@pacoxu do you think that #101882 will help?

Upon first glance, I don't think this is related

@pacoxu
Copy link
Member

pacoxu commented Nov 18, 2021

@pacoxu do you think that #101882 will help?

Maybe.
I need to do some deep digging.

@ehashman
Copy link
Member

ehashman commented Dec 1, 2021

/remove-triage accepted
/triage needs-information

Reading over this more closely, this may be an install environment specific issue.

Can you please attach a copy of the kubelet logs (preferably at v=4 or higher) for the affected node?

@k8s-ci-robot k8s-ci-robot added triage/needs-information Indicates an issue needs more information in order to work on it. and removed triage/accepted Indicates an issue or PR is ready to be actively worked on. labels Dec 1, 2021
@k8s-ci-robot
Copy link
Contributor

@furkatgofurov7: This issue is currently awaiting triage.

If a SIG or subproject determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Dec 1, 2021
@ehashman ehashman moved this from Triaged to Needs Information in SIG Node Bugs Dec 1, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 1, 2022
@ehashman
Copy link
Member

ehashman commented Mar 2, 2022

/unassign

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 1, 2022
@furkatgofurov7
Copy link
Member Author

Can you please attach a copy of the kubelet logs (preferably at v=4 or higher) for the affected node?

Hey, sorry I was not able to come back to this issue earlier, unfortunately, but this can be closed since it is a "WARNING" thrown without any real impact on the node.

/close

@k8s-ci-robot
Copy link
Contributor

@furkatgofurov7: Closing this issue.

In response to this:

Can you please attach a copy of the kubelet logs (preferably at v=4 or higher) for the affected node?

Hey, sorry I was not able to come back to this issue earlier, unfortunately, but this can be closed since it is a "WARNING" thrown without any real impact on the node.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/cadvisor kind/bug Categorizes issue or PR as related to a bug. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. sig/node Categorizes an issue or PR as relevant to SIG Node. triage/needs-information Indicates an issue needs more information in order to work on it.
Projects
Development

No branches or pull requests

8 participants