...
1
16
17 package flexvolume
18
19 import (
20 "fmt"
21
22 "k8s.io/apimachinery/pkg/api/resource"
23 "k8s.io/klog/v2"
24 "k8s.io/kubernetes/pkg/volume"
25 "k8s.io/kubernetes/pkg/volume/util"
26 )
27
28 type expanderDefaults struct {
29 plugin *flexVolumePlugin
30 }
31
32 func newExpanderDefaults(plugin *flexVolumePlugin) *expanderDefaults {
33 return &expanderDefaults{plugin}
34 }
35
36 func (e *expanderDefaults) ExpandVolumeDevice(spec *volume.Spec, newSize resource.Quantity, oldSize resource.Quantity) (resource.Quantity, error) {
37 klog.Warning(logPrefix(e.plugin), "using default expand for volume ", spec.Name(), ", to size ", newSize, " from ", oldSize)
38 return newSize, nil
39 }
40
41
42
43 func (e *expanderDefaults) NodeExpand(rsOpt volume.NodeResizeOptions) (bool, error) {
44 klog.Warning(logPrefix(e.plugin), "using default filesystem resize for volume ", rsOpt.VolumeSpec.Name(), ", at ", rsOpt.DevicePath)
45 fsVolume, err := util.CheckVolumeModeFilesystem(rsOpt.VolumeSpec)
46 if err != nil {
47 return false, fmt.Errorf("error checking VolumeMode: %v", err)
48 }
49
50 if !fsVolume {
51 return true, nil
52 }
53
54 _, err = util.GenericResizeFS(e.plugin.host, e.plugin.GetPluginName(), rsOpt.DevicePath, rsOpt.DeviceMountPath)
55 if err != nil {
56 return false, err
57 }
58 return true, nil
59 }
60
View as plain text