mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Add some logging around ro flag in GCE volume plugin
This commit is contained in:
parent
90644d773b
commit
4e2f97a80e
@ -166,6 +166,7 @@ func (attacher *gcePersistentDiskAttacher) MountDevice(spec *volume.Spec, device
|
|||||||
os.Remove(deviceMountPath)
|
os.Remove(deviceMountPath)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
glog.V(4).Infof("formatting spec %v devicePath %v deviceMountPath %v fs %v with options %+v", spec.Name(), devicePath, deviceMountPath, volumeSource.FSType, options)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -86,11 +86,12 @@ func getVolumeSource(spec *volume.Spec) (*api.GCEPersistentDiskVolumeSource, boo
|
|||||||
if spec.Volume != nil && spec.Volume.GCEPersistentDisk != nil {
|
if spec.Volume != nil && spec.Volume.GCEPersistentDisk != nil {
|
||||||
volumeSource = spec.Volume.GCEPersistentDisk
|
volumeSource = spec.Volume.GCEPersistentDisk
|
||||||
readOnly = volumeSource.ReadOnly
|
readOnly = volumeSource.ReadOnly
|
||||||
|
glog.V(4).Infof("volume source %v spec %v, readonly flag retrieved from source: %v", volumeSource.PDName, spec.Name(), readOnly)
|
||||||
} else {
|
} else {
|
||||||
volumeSource = spec.PersistentVolume.Spec.GCEPersistentDisk
|
volumeSource = spec.PersistentVolume.Spec.GCEPersistentDisk
|
||||||
readOnly = spec.ReadOnly
|
readOnly = spec.ReadOnly
|
||||||
|
glog.V(4).Infof("volume source %v spec %v, readonly flag retrieved from spec: %v", volumeSource.PDName, spec.Name(), readOnly)
|
||||||
}
|
}
|
||||||
|
|
||||||
return volumeSource, readOnly
|
return volumeSource, readOnly
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,7 +220,7 @@ func (b *gcePersistentDiskMounter) SetUp(fsGroup *int64) error {
|
|||||||
func (b *gcePersistentDiskMounter) SetUpAt(dir string, fsGroup *int64) error {
|
func (b *gcePersistentDiskMounter) SetUpAt(dir string, fsGroup *int64) error {
|
||||||
// TODO: handle failed mounts here.
|
// TODO: handle failed mounts here.
|
||||||
notMnt, err := b.mounter.IsLikelyNotMountPoint(dir)
|
notMnt, err := b.mounter.IsLikelyNotMountPoint(dir)
|
||||||
glog.V(4).Infof("PersistentDisk set up: %s %v %v", dir, !notMnt, err)
|
glog.V(4).Infof("PersistentDisk set up: %s %v %v, pd name %v readOnly %v", dir, !notMnt, err, b.pdName, b.readOnly)
|
||||||
if err != nil && !os.IsNotExist(err) {
|
if err != nil && !os.IsNotExist(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() {
|
|||||||
pst.saturate(ps)
|
pst.saturate(ps)
|
||||||
|
|
||||||
By("Verifying petset mounted data directory is usable")
|
By("Verifying petset mounted data directory is usable")
|
||||||
ExpectNoError(pst.verifyDirectoryIsUsable("/data"))
|
ExpectNoError(pst.checkMount(ps, "/data"))
|
||||||
|
|
||||||
cmd := "echo $(hostname) > /data/hostname; sync;"
|
cmd := "echo $(hostname) > /data/hostname; sync;"
|
||||||
By("Running " + cmd + " in all pets")
|
By("Running " + cmd + " in all pets")
|
||||||
@ -121,7 +121,7 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() {
|
|||||||
pst.saturate(ps)
|
pst.saturate(ps)
|
||||||
|
|
||||||
By("Verifying petset mounted data directory is usable")
|
By("Verifying petset mounted data directory is usable")
|
||||||
ExpectNoError(pst.verifyDirectoryIsUsable("/data"))
|
ExpectNoError(pst.checkMount(ps, "/data"))
|
||||||
|
|
||||||
cmd = "if [ \"$(cat /data/hostname)\" = \"$(hostname)\" ]; then exit 0; else exit 1; fi"
|
cmd = "if [ \"$(cat /data/hostname)\" = \"$(hostname)\" ]; then exit 0; else exit 1; fi"
|
||||||
By("Running " + cmd + " in all pets")
|
By("Running " + cmd + " in all pets")
|
||||||
@ -420,19 +420,20 @@ func (p *petSetTester) createPetSet(manifestPath, ns string) *apps.PetSet {
|
|||||||
return ps
|
return ps
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *petSetTester) verifyDirectoryIsUsable(dirPath string) error {
|
func (p *petSetTester) checkMount(ps *apps.PetSet, mountPath string) error {
|
||||||
for _, cmd := range []string{
|
for _, cmd := range []string{
|
||||||
// Print inode, size etc
|
// Print inode, size etc
|
||||||
fmt.Sprintf("ls -idlh %v", dirPath),
|
fmt.Sprintf("ls -idlh %v", mountPath),
|
||||||
// Print subdirs
|
// Print subdirs
|
||||||
fmt.Sprintf("find %v", dirPath),
|
fmt.Sprintf("find %v", mountPath),
|
||||||
// Try writing
|
// Try writing
|
||||||
fmt.Sprintf("touch %v", filepath.Join(dirPath, fmt.Sprintf("%v", time.Now().UnixNano()))),
|
fmt.Sprintf("touch %v", filepath.Join(mountPath, fmt.Sprintf("%v", time.Now().UnixNano()))),
|
||||||
} {
|
} {
|
||||||
if err := p.execInPets(ps, cmd); err != nil {
|
if err := p.execInPets(ps, cmd); err != nil {
|
||||||
return fmt.Errorf("failed to execute %v, error: %v", cmd, err)
|
return fmt.Errorf("failed to execute %v, error: %v", cmd, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *petSetTester) execInPets(ps *apps.PetSet, cmd string) error {
|
func (p *petSetTester) execInPets(ps *apps.PetSet, cmd string) error {
|
||||||
|
Loading…
Reference in New Issue
Block a user