move container fs check so that we only check if system is split

This commit is contained in:
Kevin Hannon 2024-07-24 10:18:23 -04:00
parent ceb58a4dbc
commit 3e642aee3f
2 changed files with 7 additions and 5 deletions

View File

@ -267,10 +267,6 @@ func (p *cadvisorStatsProvider) ImageFsStats(ctx context.Context) (imageFsRet *s
}
return imageFs, imageFs, nil
}
containerFsInfo, err := p.cadvisor.ContainerFsInfo()
if err != nil {
return nil, nil, fmt.Errorf("failed to get container fs info: %v", err)
}
imageStats, err := p.imageService.ImageFsInfo(ctx)
if err != nil || imageStats == nil {
return nil, nil, fmt.Errorf("failed to get image stats: %v", err)
@ -296,10 +292,17 @@ func (p *cadvisorStatsProvider) ImageFsStats(ctx context.Context) (imageFsRet *s
Inodes: imageFsInfo.Inodes,
InodesUsed: imageFsInodesUsed,
}
// We rely on cadvisor to have the crio-containers label for split filesystem case.
// We return to avoid checking ContainerFsInfo.
if !splitFileSystem {
return fsStats, fsStats, nil
}
containerFsInfo, err := p.cadvisor.ContainerFsInfo()
if err != nil {
return nil, nil, fmt.Errorf("failed to get container fs info: %w", err)
}
containerFs := imageStats.ContainerFilesystems[0]
var containerFsInodesUsed *uint64
if containerFsInfo.Inodes != nil && containerFsInfo.InodesFree != nil {

View File

@ -569,7 +569,6 @@ func TestCadvisorImagesFsStats(t *testing.T) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.KubeletSeparateDiskGC, true)
mockCadvisor.EXPECT().ImagesFsInfo().Return(imageFsInfo, nil)
mockCadvisor.EXPECT().ContainerFsInfo().Return(imageFsInfo, nil)
mockRuntime.EXPECT().ImageFsInfo(ctx).Return(imageFsInfoResponse, nil)
provider := newCadvisorStatsProvider(mockCadvisor, &fakeResourceAnalyzer{}, mockRuntime, nil, NewFakeHostStatsProvider())