1. 01 Jul, 2016 7 commits
    • k8s-merge-robot's avatar
      Merge pull request #23866 from intelsdi-x/chcon_invalid_argument_in_dockerized_kubelet · 1ab7671f
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      invalid arg during applying SELinux label
      
      Tested with Ubuntu 16.04 with SELINUX support. Actually, after `chcon `with long label got: `chcon: failed to set type security context component to ‘system_u:object_r:svirt_sandbox_file_t:s0’: Invalid argument`
      1ab7671f
    • k8s-merge-robot's avatar
      Merge pull request #28228 from mtaufen/e2e-killcmd-cleanup · 480233c5
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Use slices of items to clean up after tests
      
      Fixes #27582.
      
      We used to maintain a pointer variable for each process to kill after the
      tests finish. @lavalamp suggested using a slice instead, which is a much
      cleaner solution. This implements @lavalamp's suggestion and also extends
      the idea to tracking directories that need to be removed after the tests finish.
      
      This also means that we should no longer check for nil `killCmd`s inside
      `func (k *killCmd) Kill() error {...}` (see #27582 and #27589). If a nil
      `killCmd` makes it in there, something is bad elsewhere and we want to see
      the nil pointer exception immediately.
      
      Mentioning @timstclair and @euank wrt the original issue/PR. 
      480233c5
    • k8s-merge-robot's avatar
      Merge pull request #28143 from xiangpengzhao/service-node-port-range · ff281525
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Should set default value for --service-node-port-range flag before verifying
      
      For the flag `--service-node-port-range` of kube-apiserver, we know that it defaults to `30000-32767` if not specified. But if we only pass the flag `--kubernetes-service-node-port` with a valid value between `30000-32767` when starting kube-apiserver, a fatal error will occurs as the last below. It means that service port range is not 30000-32767 but empty. The log is from code [DefaultAndValidateRunOptions-->ValidateRunOptions-->verifyServiceNodePort](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/genericapiserver.go#L580) where the flags are verified. 
      
      After tracing the apiserver related code, we can find the call stack:
      ```
      func main() {
      	......
      	s := options.NewAPIServer()
      	......
      	app.Run(s)
      	......
      }
      ```
      In the `app.Run`, it calls [genericapiserver.DefaultAndValidateRunOptions(s.ServerRunOptions)](https://github.com/xiangpengzhao/kubernetes/blob/master/cmd/kube-apiserver/app/server.go#L80). But the `--kubernetes-service-node-port` hasn't been defaulted before there, so it's empty. It's then defaulted in `app.Run`-->[master.New](https://github.com/xiangpengzhao/kubernetes/blob/master/cmd/kube-apiserver/app/server.go#L276)-->[genericapiserver.New](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/master/master.go#L179)-->[setDefaults](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/genericapiserver.go#L338)-->[defaultServiceNodePortRange](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/genericapiserver.go#L281).
      
      So, we have to set default value for `--kubernetes-service-node-port` in [NewServerRunOptions](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/options/server_run_options.go#L105), as is done for `--secure-port` and/or `--insecure-port`. The `NewServerRunOptions` will be called in options.[NewAPIServer](https://github.com/xiangpengzhao/kubernetes/blob/master/cmd/kube-apiserver/app/options/options.go#L50)().
      
      Hope that I have described the issue clearly. Thanks!
      
      ```
      root@vm:~# kube-apiserver --etcd-servers=http://172.16.1.11:4001 --service-cluster-ip-range=192.168.122.0/24 --insecure-bind-address=0.0.0.0 --logtostderr=false --log-dir=/home/paas/zxp/log/kube --v=10 --kubernetes-service-node-port=30001 &
      [2] 24629
      root@vm:~# F0627 23:46:37.308726   24629 genericapiserver.go:580] Kubernetes service port range  doesn't contain 30001
      goroutine 1 [running]:
      k8s.io/kubernetes/vendor/github.com/golang/glog.stacks(0x44f2500, 0x0, 0x0, 0x0)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:766 +0xb8
      k8s.io/kubernetes/vendor/github.com/golang/glog.(*loggingT).output(0x44d2020, 0xc800000003, 0xc820238000, 0x438c73b, 0x13, 0x244, 0x0)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:717 +0x259
      k8s.io/kubernetes/vendor/github.com/golang/glog.(*loggingT).printf(0x44d2020, 0xc800000003, 0x3223dc0, 0x33, 0xc8204c4cc8, 0x2, 0x2)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:655 +0x1d4
      k8s.io/kubernetes/vendor/github.com/golang/glog.Fatalf(0x3223dc0, 0x33, 0xc8204c4cc8, 0x2, 0x2)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:1145 +0x5d
      k8s.io/kubernetes/pkg/genericapiserver.verifyServiceNodePort(0xc8202a8400)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/genericapiserver/genericapiserver.go:580 +0x1d5
      k8s.io/kubernetes/pkg/genericapiserver.ValidateRunOptions(0xc8202a8400)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/genericapiserver/genericapiserver.go:605 +0x2f
      k8s.io/kubernetes/pkg/genericapiserver.DefaultAndValidateRunOptions(0xc8202a8400)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/genericapiserver/genericapiserver.go:612 +0x4e
      k8s.io/kubernetes/cmd/kube-apiserver/app.Run(0xc820224fc0, 0x0, 0x0)
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:80 +0x70
      main.main()
      	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/apiserver.go:50 +0x121
      
      [2]+  Exit 255                kube-apiserver --etcd-servers=http://172.16.1.11:4001 --service-cluster-ip-range=192.168.122.0/24 --insecure-bind-address=0.0.0.0 --logtostderr=false --log-dir=/home/paas/zxp/log/kube --v=10 --kubernetes-service-node-port=30001
      root@vm:~#
      
      ```
      ff281525
    • k8s-merge-robot's avatar
      Merge pull request #28134 from mml/fed-rrset-verbose · a32350a1
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Add printf formatting for rrset objects.
      
      Without this you just get two pointers in the debug log.
      
      Before:
      
      ```
      I0627 21:48:44.136615       1 dns.go:215] Existing recordset {0xc820168830 0xc820691540} is not equal to needed recordset &{0xc820168848 0xc820686040}, removing existing and adding needed.
      ```
      
      After:
      
      ```
      I0627 22:26:46.221856       1 dns.go:215] Existing recordset                <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
      I0627 22:26:46.221885       1 dns.go:216] ... not equal to needed recordset <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
      I0627 22:26:46.221919       1 dns.go:217] ... removing existing and adding needed.
      ```
      a32350a1
    • David McMahon's avatar
      Update CHANGELOG.md for v1.3.0-beta.3. · 251798d9
      David McMahon authored
      251798d9
    • k8s-merge-robot's avatar
      Merge pull request #27124 from gitfred/parallel-waiting · e2b3aad6
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Parallel waiting for pods in e2e
      
      Fixes #27120 
      e2b3aad6
    • k8s-merge-robot's avatar
      Merge pull request #28110 from mfojtik/describe-volume-mounts · f549570e
      k8s-merge-robot authored
      Automatic merge from submit-queue
      
      Describe container volume mounts
      
      This patch will list the volume mounts defined for the container in `kubectl describe`:
      
      ```console
      [root@localhost origin]# kubectl describe pods/ruby-ex-3-ehchv
      Name:			ruby-ex-3-ehchv
      Namespace:		test
      Security Policy:	restricted
      Node:			localhost/10.0.2.15
      Start Time:		Mon, 27 Jun 2016 11:15:19 +0000
      Labels:			app=ruby-ex
      			deployment=ruby-ex-3
      			deploymentconfig=ruby-ex
      Status:			Running
      IP:			172.17.0.3
      Controllers:		ReplicationController/ruby-ex-3
      Containers:
        ruby-ex:
          Container ID:	docker://75869f5dd5da39025ebfcf4cb970004d9cc99ee2f95524732f9102254b289b1e
          Image:		172.30.159.185:5000/test/ruby-ex@sha256:0faa1fcca255a269378a4db51b8eef2ae67312de8b21b033c46fe0ff414efaea
          Image ID:		docker://052fe9b4b929cc883fcbbf1e223373d2fbe8bdf407170210ee29a94c33b40cd3
          Port:		8080/TCP
          QoS Tier:
            cpu:		BestEffort
            memory:		BestEffort
          State:		Running
            Started:		Mon, 27 Jun 2016 11:15:20 +0000
          Ready:		True
          Restart Count:	0
          Volume Mounts:
            volume-eckcb:		/test
            default-token-uffs0:	/var/run/secrets/kubernetes.io/serviceaccount
          Environment Variables:	<none>
      ```
      f549570e
  2. 30 Jun, 2016 31 commits
  3. 29 Jun, 2016 2 commits