diff --git a/rapl/cap.go b/rapl/cap.go index c630f75..7fc1d95 100644 --- a/rapl/cap.go +++ b/rapl/cap.go @@ -7,6 +7,7 @@ import ( "github.com/pkg/errors" elekEnv "gitlab.com/spdf/elektron/environment" "golang.org/x/crypto/ssh" + "strings" ) func Cap(host, username string, percentage float64) error { @@ -21,6 +22,8 @@ func Cap(host, username string, percentage float64) error { // TODO: CHANGE and MAKE THIS USE SSH KEY!!!! ssh.Password(os.Getenv(elekEnv.RaplPassword)), }, + // TODO Do not allow accepting any host key. + HostKeyCallback: ssh.InsecureIgnoreHostKey(), } connection, err := ssh.Dial("tcp", host+":22", sshConfig) @@ -34,7 +37,8 @@ func Cap(host, username string, percentage float64) error { return errors.Wrap(err, "Failed to create session") } - err = session.Run("sudo " + os.Getenv(elekEnv.RaplThrottleScriptLocation) + "/RAPL_PKG_Throttle.py" + strconv.FormatFloat(percentage, 'f', 2, 64)) + err = session.Run(strings.Join([]string{"sudo", os.Getenv(elekEnv.RaplThrottleScriptLocation), + strconv.FormatFloat(percentage, 'f', 2, 64)}, " ")) if err != nil { return errors.Wrap(err, "Failed to run RAPL script") }