@@ -27,6 +27,14 @@ func newGuestInstallCommand() *cobra.Command {
27
27
return guestInstallCommand
28
28
}
29
29
30
+ func runCmd (name string , flags []string , args ... string ) error {
31
+ cmd := exec .Command (name , append (flags , args ... )... )
32
+ cmd .Stdout = os .Stdout
33
+ cmd .Stderr = os .Stderr
34
+ logrus .Debugf ("executing %v" , cmd .Args )
35
+ return cmd .Run ()
36
+ }
37
+
30
38
func guestInstallAction (_ * cobra.Command , args []string ) error {
31
39
instName := DefaultInstanceName
32
40
if len (args ) > 0 {
@@ -61,20 +69,12 @@ func guestInstallAction(_ *cobra.Command, args []string) error {
61
69
bin := prefix + "/bin/lima-guestagent"
62
70
logrus .Infof ("Copying %q to %s" , guestAgentBinary , hostname )
63
71
scpArgs := []string {guestAgentBinary , hostname + ":" + tmp }
64
- scpCmd := exec .Command ("scp" , append (sshFlags , scpArgs ... )... )
65
- scpCmd .Stdout = os .Stdout
66
- scpCmd .Stderr = os .Stderr
67
- logrus .Debugf ("executing %v" , scpCmd .Args )
68
- if err := scpCmd .Run (); err != nil {
72
+ if err := runCmd ("scp" , sshFlags , scpArgs ... ); err != nil {
69
73
return nil
70
74
}
71
75
logrus .Infof ("Installing %s to %s" , tmp , bin )
72
76
sshArgs := []string {hostname , "sudo" , "install" , "-m" , "755" , tmp , bin }
73
- sshCmd := exec .Command ("ssh" , append (sshFlags , sshArgs ... )... )
74
- sshCmd .Stdout = os .Stdout
75
- sshCmd .Stderr = os .Stderr
76
- logrus .Debugf ("executing %v" , sshCmd .Args )
77
- if err := sshCmd .Run (); err != nil {
77
+ if err := runCmd ("ssh" , sshFlags , sshArgs ... ); err != nil {
78
78
return nil
79
79
}
80
80
@@ -88,20 +88,12 @@ func guestInstallAction(_ *cobra.Command, args []string) error {
88
88
tmp := "/tmp/nerdctl-full.tgz"
89
89
logrus .Infof ("Copying %q to %s" , nerdctlFilename , hostname )
90
90
scpArgs := []string {nerdctlArchive , hostname + ":" + tmp }
91
- scpCmd := exec .Command ("scp" , append (sshFlags , scpArgs ... )... )
92
- scpCmd .Stdout = os .Stdout
93
- scpCmd .Stderr = os .Stderr
94
- logrus .Debugf ("executing %v" , scpCmd .Args )
95
- if err := scpCmd .Run (); err != nil {
91
+ if err := runCmd ("scp" , sshFlags , scpArgs ... ); err != nil {
96
92
return nil
97
93
}
98
94
logrus .Infof ("Installing %s in %s" , tmp , prefix )
99
95
sshArgs := []string {hostname , "sudo" , "tar" , "Cxzf" , prefix , tmp }
100
- sshCmd := exec .Command ("ssh" , append (sshFlags , sshArgs ... )... )
101
- sshCmd .Stdout = os .Stdout
102
- sshCmd .Stderr = os .Stderr
103
- logrus .Debugf ("executing %v" , sshCmd .Args )
104
- if err := sshCmd .Run (); err != nil {
96
+ if err := runCmd ("ssh" , sshFlags , sshArgs ... ); err != nil {
105
97
return nil
106
98
}
107
99
}
0 commit comments