Merge remote-tracking branch 'upstream/1.0'

This commit is contained in:
Paul Bellamy committed 2015-08-04 14:29:12 +01:00
commit 1d1ebc103d
3 files changed
+25 -6

No files matched your search

+11 -6
View File
@@ -3,6 +3,7 @@ package main
import (
"bufio"
"bytes"
"errors"
"fmt"
"io/ioutil"
"net"
@@ -16,24 +17,24 @@ import (
weavenet "github.com/weaveworks/weave/net"
)
func main() {
if len(os.Args) <= 1 {
os.Exit(0)
}
var (
ErrNoCommandSpecified = errors.New("No command specified")
)
func main() {
var (
args = os.Args[1:]
notInExec = true
rewriteHosts = true
)
if args[0] == "-s" {
if len(args) > 0 && args[0] == "-s" {
notInExec = false
rewriteHosts = false
args = args[1:]
}
if args[0] == "-h" {
if len(args) > 0 && args[0] == "-h" {
rewriteHosts = false
args = args[1:]
}
@@ -47,6 +48,10 @@ func main() {
iface, err := weavenet.EnsureInterface("ethwe", -1)
checkErr(err)
if len(args) == 0 {
checkErr(ErrNoCommandSpecified)
}
if rewriteHosts {
updateHosts(iface)
}
+9
View File
@@ -3,6 +3,7 @@ package proxy
import (
"bytes"
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"net/http"
@@ -17,6 +18,10 @@ import (
const MaxDockerHostname = 64
var (
ErrNoCommandSpecified = errors.New("No command specified")
)
type createContainerInterceptor struct{ proxy *Proxy }
type createContainerRequestBody struct {
@@ -109,6 +114,10 @@ func (i *createContainerInterceptor) setWeaveWaitEntrypoint(container *docker.Co
}
}
if len(container.Entrypoint) == 0 && len(container.Cmd) == 0 {
return ErrNoCommandSpecified
}
if len(container.Entrypoint) == 0 || container.Entrypoint[0] != weaveWaitEntrypoint[0] {
entrypoint := weaveWaitEntrypoint
if i.proxy.NoRewriteHosts {
+5
View File
@@ -34,4 +34,9 @@ proxy docker_on $HOST1 create --name c4 -v /tmp/1:/srv1 -v /tmp/2:/srv2 -e 'WEAV
proxy docker_on $HOST1 start -ai c4
assert "docker_on $HOST1 inspect --format='{{range \$k, \$v := .Volumes}}{{\$k}} {{end}}' c4" "/srv1 /srv2 /w "
# Check errors are returned (when docker returns an error code)
assert_raises "docker -H tcp://$HOST1:12375 run -e 'WEAVE_CIDR=10.2.1.3/24' $SMALL_IMAGE foo 2>&1 | grep 'exec: \"foo\": executable file not found in \$PATH'"
# Check errors still happen when no command is specified
assert_raises "docker -H tcp://$HOST1:12375 run -e 'WEAVE_CIDR=10.2.1.3/24' $SMALL_IMAGE 2>&1 | grep 'Error response from daemon: No command specified'"
end_suite