44 "fmt"
55 "os/exec"
66 "strings"
7-
8- "k8s.io/klog"
97)
108
119const formatFilesystem = "ntfs"
@@ -19,9 +17,7 @@ func New() VolAPIImplementor {
1917}
2018
2119func runExec (cmd string ) ([]byte , error ) {
22- klog .V (5 ).Infof ("Running command: %s" , cmd )
2320 out , err := exec .Command ("powershell" , "/c" , cmd ).CombinedOutput ()
24- klog .V (5 ).Infof ("Result: %s. Len: %d. Error: %v." , string (out ), len (string (out )), err )
2521 return out , err
2622}
2723
@@ -30,7 +26,7 @@ func (VolAPIImplementor) ListVolumesOnDisk(diskID string) (volumeIDs []string, e
3026 cmd := fmt .Sprintf ("(Get-Disk -DeviceId %s |Get-Partition | Get-Volume).UniqueId" , diskID )
3127 out , err := runExec (cmd )
3228 if err != nil {
33- return []string {}, err
29+ return []string {}, fmt . Errorf ( "error list volumes on disk. cmd: %s, output: %s, error: %v" , cmd , string ( out ), err )
3430 }
3531
3632 volumeIds := strings .Split (strings .TrimSpace (string (out )), "\r \n " )
@@ -42,7 +38,7 @@ func (VolAPIImplementor) FormatVolume(volumeID string) (err error) {
4238 cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Format-Volume -FileSystem %s -Confirm:$false" , volumeID , formatFilesystem )
4339 out , err := runExec (cmd )
4440 if err != nil {
45- return fmt .Errorf ("error formatting volume %s : %v, %v" , volumeID , out , err )
41+ return fmt .Errorf ("error formatting volume. cmd: %s, output : %s, error: %v" , cmd , string ( out ) , err )
4642 }
4743 // TODO: Do we need to handle anything for len(out) == 0
4844 return nil
@@ -53,7 +49,7 @@ func (VolAPIImplementor) IsVolumeFormatted(volumeID string) (bool, error) {
5349 cmd := fmt .Sprintf ("(Get-Volume -UniqueId \" %s\" -ErrorAction Stop).FileSystemType" , volumeID )
5450 out , err := runExec (cmd )
5551 if err != nil {
56- return false , fmt .Errorf ("error checking if volume is formatted %s : %s, %v" , volumeID , string (out ), err )
52+ return false , fmt .Errorf ("error checking if volume is formatted. cmd: %s, output : %s, error: %v" , cmd , string (out ), err )
5753 }
5854 if len (out ) == 0 || ! strings .EqualFold (strings .TrimSpace (string (out )), formatFilesystem ) {
5955 return false , nil
@@ -64,9 +60,9 @@ func (VolAPIImplementor) IsVolumeFormatted(volumeID string) (bool, error) {
6460// MountVolume - mounts a volume to a path. This is done using the Add-PartitionAccessPath for presenting the volume via a path.
6561func (VolAPIImplementor ) MountVolume (volumeID , path string ) error {
6662 cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-Partition | Add-PartitionAccessPath -AccessPath %s" , volumeID , path )
67- _ , err := runExec (cmd )
63+ out , err := runExec (cmd )
6864 if err != nil {
69- return fmt .Errorf ("error mount volume %s to path %s. err : %v" , volumeID , path , err )
65+ return fmt .Errorf ("error mount volume to path. cmd: %s, output : %s, error: % v" , cmd , string ( out ) , err )
7066 }
7167 return nil
7268}
@@ -76,7 +72,7 @@ func (VolAPIImplementor) DismountVolume(volumeID, path string) error {
7672 cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-Partition | Remove-PartitionAccessPath -AccessPath %s" , volumeID , path )
7773 out , err := runExec (cmd )
7874 if err != nil {
79- return fmt .Errorf ("error getting driver letter to mount volume %s : %v, %v" , volumeID , out , err )
75+ return fmt .Errorf ("error getting driver letter to mount volume. cmd: %s, output : %s,error: %v" , cmd , string ( out ) , err )
8076 }
8177 return nil
8278}
@@ -88,7 +84,7 @@ func (VolAPIImplementor) ResizeVolume(volumeID string, size int64) error {
8884 cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-partition | Resize-Partition -Size %d" , volumeID , size )
8985 out , err := runExec (cmd )
9086 if err != nil {
91- return fmt .Errorf ("error resizing volume %s : %s, %v" , volumeID , string (out ), err )
87+ return fmt .Errorf ("error resizing volume. cmd: %s, output : %s, error: %v" , cmd , string (out ), err )
9288 }
9389 return nil
9490}
0 commit comments