85aefec45a
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>
(cherry picked from commit e5ec575b32
)
Signed-off-by: Tibor Vass <tibor@docker.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...)
|
|
}
|