cephfs: use util.ExecCommand() instead of execCommand()

Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
Niels de Vos 2020-07-22 10:42:37 +02:00 committed by mergify[bot]
parent 47d5b60af8
commit 457d846241
2 changed files with 3 additions and 30 deletions

View File

@ -17,11 +17,9 @@ limitations under the License.
package cephfs package cephfs
import ( import (
"bytes"
"context" "context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"os/exec"
"github.com/ceph/ceph-csi/internal/util" "github.com/ceph/ceph-csi/internal/util"
@ -32,38 +30,13 @@ import (
type volumeID string type volumeID string
func execCommand(ctx context.Context, program string, args ...string) (stdout, stderr []byte, err error) {
var (
cmd = exec.Command(program, args...) // #nosec:G204, not called with user specified parameters.
sanitizedArgs = util.StripSecretInArgs(args)
stdoutBuf bytes.Buffer
stderrBuf bytes.Buffer
)
cmd.Stdout = &stdoutBuf
cmd.Stderr = &stderrBuf
util.DebugLog(ctx, "cephfs: EXEC %s %s", program, sanitizedArgs)
if err := cmd.Run(); err != nil {
if cmd.Process == nil {
return nil, nil, fmt.Errorf("cannot get process pid while running %s %v: %w: %s",
program, sanitizedArgs, err, stderrBuf.Bytes())
}
return nil, nil, fmt.Errorf("an error occurred while running (%d) %s %v: %w: %s",
cmd.Process.Pid, program, sanitizedArgs, err, stderrBuf.Bytes())
}
return stdoutBuf.Bytes(), stderrBuf.Bytes(), nil
}
func execCommandErr(ctx context.Context, program string, args ...string) error { func execCommandErr(ctx context.Context, program string, args ...string) error {
_, _, err := execCommand(ctx, program, args...) _, _, err := util.ExecCommand(program, args...)
return err return err
} }
func execCommandJSON(ctx context.Context, v interface{}, program string, args ...string) error { func execCommandJSON(ctx context.Context, v interface{}, program string, args ...string) error {
stdout, _, err := execCommand(ctx, program, args...) stdout, _, err := util.ExecCommand(program, args...)
if err != nil { if err != nil {
return err return err
} }

View File

@ -167,7 +167,7 @@ func mountFuse(ctx context.Context, mountPoint string, cr *util.Credentials, vol
args = append(args, "--client_mds_namespace="+volOptions.FsName) args = append(args, "--client_mds_namespace="+volOptions.FsName)
} }
_, stderr, err := execCommand(ctx, "ceph-fuse", args[:]...) _, stderr, err := util.ExecCommand("ceph-fuse", args[:]...)
if err != nil { if err != nil {
return err return err
} }