Merge pull request #43831 from jayunit100/local-up-conformance

Automatic merge from submit-queue

local up dns defaults/Privileged defaults so that [Conformance] sets mostly pass on local clusters.

Fixes #43651 So that only 4 tests fail out of the box.
This commit is contained in:
Kubernetes Submit Queue 2017-04-12 20:44:02 -07:00 committed by GitHub
commit 765755376e
2 changed files with 19 additions and 16 deletions

View File

@ -48,11 +48,11 @@ EVICTION_HARD=${EVICTION_HARD:-"memory.available<100Mi"}
EVICTION_SOFT=${EVICTION_SOFT:-""} EVICTION_SOFT=${EVICTION_SOFT:-""}
EVICTION_PRESSURE_TRANSITION_PERIOD=${EVICTION_PRESSURE_TRANSITION_PERIOD:-"1m"} EVICTION_PRESSURE_TRANSITION_PERIOD=${EVICTION_PRESSURE_TRANSITION_PERIOD:-"1m"}
# We disable cluster DNS by default because this script uses docker0 (or whatever # This script uses docker0 (or whatever container bridge docker is currently using)
# container bridge docker is currently using) and we don't know the IP of the # and we don't know the IP of the DNS pod to pass in as --cluster-dns.
# DNS pod to pass in as --cluster-dns. To set this up by hand, set this flag # To set this up by hand, set this flag and change DNS_SERVER_IP.
# and change DNS_SERVER_IP to the appropriate IP. # Note also that you need API_HOST (defined above) for correct DNS.
ENABLE_CLUSTER_DNS=${KUBE_ENABLE_CLUSTER_DNS:-false} ENABLE_CLUSTER_DNS=${KUBE_ENABLE_CLUSTER_DNS:-true}
DNS_SERVER_IP=${KUBE_DNS_SERVER_IP:-10.0.0.10} DNS_SERVER_IP=${KUBE_DNS_SERVER_IP:-10.0.0.10}
DNS_DOMAIN=${KUBE_DNS_NAME:-"cluster.local"} DNS_DOMAIN=${KUBE_DNS_NAME:-"cluster.local"}
KUBECTL=${KUBECTL:-cluster/kubectl.sh} KUBECTL=${KUBECTL:-cluster/kubectl.sh}
@ -182,9 +182,12 @@ set +e
API_PORT=${API_PORT:-8080} API_PORT=${API_PORT:-8080}
API_SECURE_PORT=${API_SECURE_PORT:-6443} API_SECURE_PORT=${API_SECURE_PORT:-6443}
# WARNING: For DNS to work on most setups you should export API_HOST as the docker0 ip address,
API_HOST=${API_HOST:-localhost} API_HOST=${API_HOST:-localhost}
API_HOST_IP=${API_HOST_IP:-"127.0.0.1"} API_HOST_IP=${API_HOST_IP:-"127.0.0.1"}
API_BIND_ADDR=${API_BIND_ADDR:-"0.0.0.0"} API_BIND_ADDR=${API_BIND_ADDR:-"0.0.0.0"}
KUBELET_HOST=${KUBELET_HOST:-"127.0.0.1"} KUBELET_HOST=${KUBELET_HOST:-"127.0.0.1"}
# By default only allow CORS for requests on localhost # By default only allow CORS for requests on localhost
API_CORS_ALLOWED_ORIGINS=${API_CORS_ALLOWED_ORIGINS:-/127.0.0.1(:[0-9]+)?$,/localhost(:[0-9]+)?$} API_CORS_ALLOWED_ORIGINS=${API_CORS_ALLOWED_ORIGINS:-/127.0.0.1(:[0-9]+)?$,/localhost(:[0-9]+)?$}
@ -309,7 +312,7 @@ cleanup()
{ {
echo "Cleaning up..." echo "Cleaning up..."
# delete running images # delete running images
# if [[ "${ENABLE_CLUSTER_DNS}" = true ]]; then # if [[ "${ENABLE_CLUSTER_DNS}" == true ]]; then
# Still need to figure why this commands throw an error: Error from server: client: etcd cluster is unavailable or misconfigured # Still need to figure why this commands throw an error: Error from server: client: etcd cluster is unavailable or misconfigured
# ${KUBECTL} --namespace=kube-system delete service kube-dns # ${KUBECTL} --namespace=kube-system delete service kube-dns
# And this one hang forever: # And this one hang forever:
@ -858,5 +861,3 @@ print_success
if [[ "${ENABLE_DAEMON}" = false ]]; then if [[ "${ENABLE_DAEMON}" = false ]]; then
while true; do sleep 1; done while true; do sleep 1; done
fi fi

View File

@ -157,6 +157,7 @@ func (c *portForwardCommand) Stop() {
framework.TryKill(c.cmd) framework.TryKill(c.cmd)
} }
// runPortForward runs port-forward, warning, this may need root functionality on some systems.
func runPortForward(ns, podName string, port int) *portForwardCommand { func runPortForward(ns, podName string, port int) *portForwardCommand {
cmd := framework.KubectlCmd("port-forward", fmt.Sprintf("--namespace=%v", ns), podName, fmt.Sprintf(":%d", port)) cmd := framework.KubectlCmd("port-forward", fmt.Sprintf("--namespace=%v", ns), podName, fmt.Sprintf(":%d", port))
// This is somewhat ugly but is the only way to retrieve the port that was picked // This is somewhat ugly but is the only way to retrieve the port that was picked
@ -473,16 +474,16 @@ var _ = framework.KubeDescribe("Port forwarding", func() {
framework.KubeDescribe("With a server listening on 0.0.0.0", func() { framework.KubeDescribe("With a server listening on 0.0.0.0", func() {
framework.KubeDescribe("that expects a client request", func() { framework.KubeDescribe("that expects a client request", func() {
It("should support a client that connects, sends no data, and disconnects", func() { It("should support a client that connects, sends NO DATA, and disconnects", func() {
doTestMustConnectSendNothing("0.0.0.0", f) doTestMustConnectSendNothing("0.0.0.0", f)
}) })
It("should support a client that connects, sends data, and disconnects", func() { It("should support a client that connects, sends DATA, and disconnects", func() {
doTestMustConnectSendDisconnect("0.0.0.0", f) doTestMustConnectSendDisconnect("0.0.0.0", f)
}) })
}) })
framework.KubeDescribe("that expects no client request", func() { framework.KubeDescribe("that expects NO client request", func() {
It("should support a client that connects, sends data, and disconnects", func() { It("should support a client that connects, sends DATA, and disconnects", func() {
doTestConnectSendDisconnect("0.0.0.0", f) doTestConnectSendDisconnect("0.0.0.0", f)
}) })
}) })
@ -492,18 +493,19 @@ var _ = framework.KubeDescribe("Port forwarding", func() {
}) })
}) })
// kubectl port-forward may need elevated privileges to do its job.
framework.KubeDescribe("With a server listening on localhost", func() { framework.KubeDescribe("With a server listening on localhost", func() {
framework.KubeDescribe("that expects a client request", func() { framework.KubeDescribe("that expects a client request", func() {
It("should support a client that connects, sends no data, and disconnects [Conformance]", func() { It("should support a client that connects, sends NO DATA, and disconnects", func() {
doTestMustConnectSendNothing("localhost", f) doTestMustConnectSendNothing("localhost", f)
}) })
It("should support a client that connects, sends data, and disconnects [Conformance]", func() { It("should support a client that connects, sends DATA, and disconnects", func() {
doTestMustConnectSendDisconnect("localhost", f) doTestMustConnectSendDisconnect("localhost", f)
}) })
}) })
framework.KubeDescribe("that expects no client request", func() { framework.KubeDescribe("that expects NO client request", func() {
It("should support a client that connects, sends data, and disconnects [Conformance]", func() { It("should support a client that connects, sends DATA, and disconnects", func() {
doTestConnectSendDisconnect("localhost", f) doTestConnectSendDisconnect("localhost", f)
}) })
}) })