Skip to content

Commit 7700196

Browse files
committed
Merge pull request #4231 from krancour/dock-container-name-matching
fix(deisctl): improve dock name match
2 parents eeed28a + d20a3b6 commit 7700196

4 files changed

Lines changed: 31 additions & 9 deletions

File tree

deisctl/backend/backend.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ type Backend interface {
1515
RollingRestart(string, *sync.WaitGroup, io.Writer, io.Writer)
1616
SSH(string) error
1717
SSHExec(string, string) error
18+
Dock(string, []string) error
1819
ListUnits() error
1920
ListUnitFiles() error
2021
Status(string) error

deisctl/backend/fleet/dock.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package fleet
2+
3+
import (
4+
"fmt"
5+
"strings"
6+
)
7+
8+
// Dock connects to the appropriate host and runs 'docker exec -it'.
9+
func (c *FleetClient) Dock(target string, cmd []string) error {
10+
11+
units, err := c.Units(target)
12+
if err != nil {
13+
return err
14+
}
15+
target = units[0][0 : len(units[0])-len(".service")]
16+
17+
cmdStr := "sh"
18+
if len(cmd) > 0 {
19+
cmdStr = strings.Join(cmd, " ")
20+
}
21+
22+
execit := fmt.Sprintf("docker exec -it %s %s", target, cmdStr)
23+
24+
return c.SSHExec(target, execit)
25+
}

deisctl/cmd/cmd.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -492,13 +492,5 @@ func SSH(target string, cmd []string, b backend.Backend) error {
492492

493493
// Dock connects to the appropriate host and runs 'docker exec -it'.
494494
func Dock(target string, cmd []string, b backend.Backend) error {
495-
496-
c := "sh"
497-
if len(cmd) > 0 {
498-
c = strings.Join(cmd, " ")
499-
}
500-
501-
execit := fmt.Sprintf("docker exec -it %s %s", target, c)
502-
503-
return b.SSHExec(target, execit)
495+
return b.Dock(target, cmd)
504496
}

deisctl/cmd/cmd_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ func (backend *backendStub) SSHExec(target, command string) error {
8585
return errors.New("Error")
8686
}
8787

88+
func (backend *backendStub) Dock(target string, command []string) error {
89+
return nil
90+
}
91+
8892
var _ backend.Backend = &backendStub{}
8993

9094
func fakeCheckKeys(cb config.Backend) error {

0 commit comments

Comments
 (0)