From 07dd8b56631844c5563bc8e6e4643cf28f66d6f4 Mon Sep 17 00:00:00 2001 From: Nicklas Frahm Date: Sat, 23 Apr 2022 17:03:07 +0200 Subject: [PATCH] fix(engine): test execution of declarative commands --- pkg/engine/cmd.go | 1 + pkg/engine/engine.go | 14 +++++++++++++- pkg/engine/node.go | 16 +++------------- 3 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 pkg/engine/cmd.go diff --git a/pkg/engine/cmd.go b/pkg/engine/cmd.go new file mode 100644 index 0000000..00a22ef --- /dev/null +++ b/pkg/engine/cmd.go @@ -0,0 +1 @@ +package engine diff --git a/pkg/engine/engine.go b/pkg/engine/engine.go index e73e0f4..374978f 100644 --- a/pkg/engine/engine.go +++ b/pkg/engine/engine.go @@ -6,6 +6,7 @@ import ( "net/http" "sync" + "github.com/nicklasfrahm/k3se/pkg/sshx" "github.com/rs/zerolog" ) @@ -78,5 +79,16 @@ func (e *Engine) Configure(node *Node) error { // Cleanup removes all temporary files from the node. func (e *Engine) Cleanup(node *Node) error { - return node.Run("rm -rf /tmp/k3se") + if err := node.Do(sshx.Cmd{ + Cmd: "echo $MYVAR > ~/test.txt", + Env: map[string]string{ + "MYVAR": "hello", + }, + }); err != nil { + return err + } + + return node.Do(sshx.Cmd{ + Cmd: "rm -rf /tmp/k3se", + }) } diff --git a/pkg/engine/node.go b/pkg/engine/node.go index f37a8ef..36c043b 100644 --- a/pkg/engine/node.go +++ b/pkg/engine/node.go @@ -76,17 +76,7 @@ func (node *Node) Upload(dst string, src io.Reader) error { return err } -// Run executes the specified command on the node. -func (node *Node) Run(cmd string) error { - session, err := node.Client.SSH.NewSession() - if err != nil { - return err - } - defer session.Close() - - if err := session.Run(cmd); err != nil { - return err - } - - return nil +// Do executes a command on the node. +func (node *Node) Do(cmd sshx.Cmd) error { + return node.Client.Do(cmd) }