mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 10:43:56 +00:00
Squashed commit of the following:
commit d623614de31fe411f1dcb1e784472135f3ca0c5e
Merge: 8054af3b303 91344b4008
Author: cvvz <ftdchenwz@gmail.com>
Date: Mon Aug 28 18:43:49 2023 +0800
Merge branch 'master' of https://github.com/kubernetes/kubernetes into fix-volumemanager-logs
commit 8054af3b303e10e7b74b1ba4d3c4035f488cbdad
Author: cvvz <ftdchenwz@gmail.com>
Date: Fri Aug 25 22:03:08 2023 +0800
fix
commit b414972831c4e4030162ee385d8f600e1e0257ac
Author: cvvz <ftdchenwz@gmail.com>
Date: Fri Aug 25 21:41:36 2023 +0800
fix
commit ebea00a8dd50eb3d8859a912b464bbda5548b1d4
Author: cvvz <ftdchenwz@gmail.com>
Date: Fri Aug 25 20:54:40 2023 +0800
123
commit 9f6f1dbbe717fa34e1c13fec645f4c474cbf99a0
Author: cvvz <ftdchenwz@gmail.com>
Date: Fri Aug 25 20:53:16 2023 +0800
add MarshalLog
commit d7d2878409343df937c770d6796f8c125e18ce7a
Author: cvvz <ftdchenwz@gmail.com>
Date: Tue Aug 8 23:57:47 2023 +0800
fix volumemanager logs
This commit is contained in:
parent
91344b4008
commit
94d03ccc83
@ -23,6 +23,7 @@ import (
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
@ -37,6 +38,10 @@ import (
|
||||
utilstrings "k8s.io/utils/strings"
|
||||
)
|
||||
|
||||
var _ logr.Marshaler = podVolume{}
|
||||
var _ logr.Marshaler = reconstructedVolume{}
|
||||
var _ logr.Marshaler = globalVolumeInfo{}
|
||||
|
||||
type podVolume struct {
|
||||
podName volumetypes.UniquePodName
|
||||
volumeSpecName string
|
||||
@ -45,6 +50,22 @@ type podVolume struct {
|
||||
volumeMode v1.PersistentVolumeMode
|
||||
}
|
||||
|
||||
func (p podVolume) MarshalLog() interface{} {
|
||||
return struct {
|
||||
PodName string `json:"podName"`
|
||||
VolumeSpecName string `json:"volumeSpecName"`
|
||||
VolumePath string `json:"volumePath"`
|
||||
PluginName string `json:"pluginName"`
|
||||
VolumeMode string `json:"volumeMode"`
|
||||
}{
|
||||
PodName: string(p.podName),
|
||||
VolumeSpecName: p.volumeSpecName,
|
||||
VolumePath: p.volumePath,
|
||||
PluginName: p.pluginName,
|
||||
VolumeMode: string(p.volumeMode),
|
||||
}
|
||||
}
|
||||
|
||||
type reconstructedVolume struct {
|
||||
volumeName v1.UniqueVolumeName
|
||||
podName volumetypes.UniquePodName
|
||||
@ -59,6 +80,28 @@ type reconstructedVolume struct {
|
||||
seLinuxMountContext string
|
||||
}
|
||||
|
||||
func (rv reconstructedVolume) MarshalLog() interface{} {
|
||||
return struct {
|
||||
VolumeName string `json:"volumeName"`
|
||||
PodName string `json:"podName"`
|
||||
VolumeSpecName string `json:"volumeSpecName"`
|
||||
OuterVolumeSpecName string `json:"outerVolumeSpecName"`
|
||||
PodUID string `json:"podUID"`
|
||||
VolumeGIDValue string `json:"volumeGIDValue"`
|
||||
DevicePath string `json:"devicePath"`
|
||||
SeLinuxMountContext string `json:"seLinuxMountContext"`
|
||||
}{
|
||||
VolumeName: string(rv.volumeName),
|
||||
PodName: string(rv.podName),
|
||||
VolumeSpecName: rv.volumeSpec.Name(),
|
||||
OuterVolumeSpecName: rv.outerVolumeSpecName,
|
||||
PodUID: string(rv.pod.UID),
|
||||
VolumeGIDValue: rv.volumeGidValue,
|
||||
DevicePath: rv.devicePath,
|
||||
SeLinuxMountContext: rv.seLinuxMountContext,
|
||||
}
|
||||
}
|
||||
|
||||
// globalVolumeInfo stores reconstructed volume information
|
||||
// for each pod that was using that volume.
|
||||
type globalVolumeInfo struct {
|
||||
@ -71,6 +114,25 @@ type globalVolumeInfo struct {
|
||||
podVolumes map[volumetypes.UniquePodName]*reconstructedVolume
|
||||
}
|
||||
|
||||
func (gvi globalVolumeInfo) MarshalLog() interface{} {
|
||||
podVolumes := make(map[volumetypes.UniquePodName]v1.UniqueVolumeName)
|
||||
for podName, volume := range gvi.podVolumes {
|
||||
podVolumes[podName] = volume.volumeName
|
||||
}
|
||||
|
||||
return struct {
|
||||
VolumeName string `json:"volumeName"`
|
||||
VolumeSpecName string `json:"volumeSpecName"`
|
||||
DevicePath string `json:"devicePath"`
|
||||
PodVolumes map[volumetypes.UniquePodName]v1.UniqueVolumeName `json:"podVolumes"`
|
||||
}{
|
||||
VolumeName: string(gvi.volumeName),
|
||||
VolumeSpecName: gvi.volumeSpec.Name(),
|
||||
DevicePath: gvi.devicePath,
|
||||
PodVolumes: podVolumes,
|
||||
}
|
||||
}
|
||||
|
||||
func (rc *reconciler) updateLastSyncTime() {
|
||||
rc.timeOfLastSyncLock.Lock()
|
||||
defer rc.timeOfLastSyncLock.Unlock()
|
||||
@ -181,7 +243,9 @@ func getVolumesFromPodDir(podDir string) ([]podVolume, error) {
|
||||
}
|
||||
}
|
||||
}
|
||||
klog.V(4).InfoS("Get volumes from pod directory", "path", podDir, "volumes", volumes)
|
||||
for _, volume := range volumes {
|
||||
klog.V(4).InfoS("Get volume from pod directory", "path", podDir, "volume", volume)
|
||||
}
|
||||
return volumes, nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user