e5ec575b32
This is done in a hacky way as currently there is no better way. Uses known implementation details about how tasks are scheduled to be able to operate on the underlying container. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
20 lines
544 B
Go
20 lines
544 B
Go
package main
|
|
|
|
import "github.com/go-check/check"
|
|
|
|
func (s *DockerSwarmSuite) getDaemon(c *check.C, nodeID string) *SwarmDaemon {
|
|
s.daemonsLock.Lock()
|
|
defer s.daemonsLock.Unlock()
|
|
for _, d := range s.daemons {
|
|
if d.NodeID == nodeID {
|
|
return d
|
|
}
|
|
}
|
|
c.Fatalf("could not find node with id: %s", nodeID)
|
|
return nil
|
|
}
|
|
|
|
// nodeCmd executes a command on a given node via the normal docker socket
|
|
func (s *DockerSwarmSuite) nodeCmd(c *check.C, id, cmd string, args ...string) (string, error) {
|
|
return s.getDaemon(c, id).Cmd(cmd, args...)
|
|
}
|