diff --git a/.gitignore b/.gitignore
index 0eb72d8..2f56ea4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
-SOURCES/contrib-1c4eb2d.tar.gz
-SOURCES/kubernetes-4c8e6f4.tar.gz
-SOURCES/ose-b57e8bd.tar.gz
+SOURCES/contrib-7fbd252.tar.gz
+SOURCES/kubernetes-114a51d.tar.gz
+SOURCES/ose-738b760.tar.gz
diff --git a/.kubernetes.metadata b/.kubernetes.metadata
index 9051411..a7dd4b9 100644
--- a/.kubernetes.metadata
+++ b/.kubernetes.metadata
@@ -1,3 +1,3 @@
-393766b555fb5db21b01eae455c251c2eebc7dc7 SOURCES/contrib-1c4eb2d.tar.gz
-fa0f406753d9ce5832c69298f9046a31a9b913ce SOURCES/kubernetes-4c8e6f4.tar.gz
-ed62e62269b1248adf1b40251f8a3a546beca88c SOURCES/ose-b57e8bd.tar.gz
+aeadd20e11fecfec6428039206120bdc91d6ad3c SOURCES/contrib-7fbd252.tar.gz
+d9fc239ea31e622f4226d461bf5e5942001b34d6 SOURCES/kubernetes-114a51d.tar.gz
+0db66cd61859e345b8a7b14860ff8adf693a3908 SOURCES/ose-738b760.tar.gz
diff --git a/SOURCES/disable-v1beta3.patch b/SOURCES/disable-v1beta3.patch
new file mode 100644
index 0000000..8158d85
--- /dev/null
+++ b/SOURCES/disable-v1beta3.patch
@@ -0,0 +1,25 @@
+From 45ec297eb47cca180efc3a8d872d5022097a32fe Mon Sep 17 00:00:00 2001
+From: Jan Chaloupka <jchaloup@redhat.com>
+Date: Fri, 15 Apr 2016 16:18:07 +0200
+Subject: [PATCH] disable v1beta3
+
+---
+ pkg/api/install/install.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pkg/api/install/install.go b/pkg/api/install/install.go
+index fc4dcac..7cbacd9 100644
+--- a/pkg/api/install/install.go
++++ b/pkg/api/install/install.go
+@@ -39,7 +39,7 @@ const importPrefix = "k8s.io/kubernetes/pkg/api"
+ var accessor = meta.NewAccessor()
+ 
+ // availableVersions lists all known external versions for this group from most preferred to least preferred
+-var availableVersions = []unversioned.GroupVersion{v1.SchemeGroupVersion, v1beta3.SchemeGroupVersion}
++var availableVersions = []unversioned.GroupVersion{v1.SchemeGroupVersion}
+ 
+ func init() {
+ 	registered.RegisterVersions(availableVersions)
+-- 
+1.9.3
+
diff --git a/SOURCES/hack-test-cmd.sh.patch b/SOURCES/hack-test-cmd.sh.patch
index bce47e8..edca2cb 100644
--- a/SOURCES/hack-test-cmd.sh.patch
+++ b/SOURCES/hack-test-cmd.sh.patch
@@ -1,36 +1,25 @@
-From a739fe820689504f34137a9d7c6783524a6ba217 Mon Sep 17 00:00:00 2001
+From ce126401cb7ba22e74faa1e97298f2faa26f804c Mon Sep 17 00:00:00 2001
 From: Jan Chaloupka <jchaloup@redhat.com>
-Date: Thu, 26 Nov 2015 10:30:37 +0100
+Date: Fri, 15 Apr 2016 14:48:26 +0200
 Subject: [PATCH] hack hack/test-cmd.sh
 
 ---
  hack/lib/init.sh | 2 +-
- hack/test-cmd.sh | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/hack/lib/init.sh b/hack/lib/init.sh
-index 8a2c428..75ee958 100644
+index 9fa47ca..1a18946 100644
 --- a/hack/lib/init.sh
 +++ b/hack/lib/init.sh
-@@ -39,4 +39,4 @@ source "${KUBE_ROOT}/hack/lib/version.sh"
+@@ -40,7 +40,7 @@ source "${KUBE_ROOT}/hack/lib/version.sh"
  source "${KUBE_ROOT}/hack/lib/golang.sh"
  source "${KUBE_ROOT}/hack/lib/etcd.sh"
  
 -KUBE_OUTPUT_HOSTBIN="${KUBE_OUTPUT_BINPATH}/$(kube::util::host_platform)"
 +KUBE_OUTPUT_HOSTBIN="/usr/bin"
-diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh
-index fb440ac..0fbc5f4 100755
---- a/hack/test-cmd.sh
-+++ b/hack/test-cmd.sh
-@@ -724,7 +724,7 @@ __EOF__
-   kubectl create -f examples/guestbook/redis-master-controller.yaml "${kube_flags[@]}"
-   kubectl create -f examples/guestbook/redis-slave-controller.yaml "${kube_flags[@]}"
-   # Command
--  kubectl scale rc/redis-master rc/redis-slave --replicas=4
-+  kubectl scale rc/redis-master rc/redis-slave --replicas=4 "${kube_flags[@]}"
-   # Post-condition: 4 replicas each
-   kube::test::get_object_assert 'rc redis-master' "{{$rc_replicas_field}}" '4'
-   kube::test::get_object_assert 'rc redis-slave' "{{$rc_replicas_field}}" '4'
+ 
+ # emulates "readlink -f" which is not available on BSD (OS X).
+ function readlinkdashf {
 -- 
 1.9.3
 
diff --git a/SOURCES/hyperkube.server-don-t-parse-args-for-any-command.patch b/SOURCES/hyperkube.server-don-t-parse-args-for-any-command.patch
index 8323c9f..b26b4c0 100644
--- a/SOURCES/hyperkube.server-don-t-parse-args-for-any-command.patch
+++ b/SOURCES/hyperkube.server-don-t-parse-args-for-any-command.patch
@@ -1,17 +1,16 @@
-From b123592e8315d15c068adf67fd9aef44d6fc7c55 Mon Sep 17 00:00:00 2001
+From 2c4222f97ad37f60ee300f7e40b1965e2638017c Mon Sep 17 00:00:00 2001
 From: Jan Chaloupka <jchaloup@redhat.com>
-Date: Tue, 8 Mar 2016 19:22:24 +0100
+Date: Fri, 15 Apr 2016 16:44:09 +0200
 Subject: [PATCH] hyperkube.server: don't parse args for any command
 
 ---
  cmd/hyperkube/hyperkube.go               | 16 +++++++++-------
  cmd/hyperkube/kube-controller-manager.go |  1 +
- cmd/hyperkube/kube-proxy.go              |  1 +
  cmd/hyperkube/kube-scheduler.go          |  1 +
  cmd/hyperkube/kubectl.go                 |  1 +
  cmd/hyperkube/kubelet.go                 |  1 +
  cmd/hyperkube/server.go                  |  1 +
- 7 files changed, 15 insertions(+), 7 deletions(-)
+ 6 files changed, 14 insertions(+), 7 deletions(-)
 
 diff --git a/cmd/hyperkube/hyperkube.go b/cmd/hyperkube/hyperkube.go
 index 5272c5d..fda068a 100644
@@ -42,43 +41,31 @@ index 5272c5d..fda068a 100644
  
  	verflag.PrintAndExitIfRequested()
 diff --git a/cmd/hyperkube/kube-controller-manager.go b/cmd/hyperkube/kube-controller-manager.go
-index 009b14a..8c9fd98 100644
+index 1fc5107..5b3c4a8 100644
 --- a/cmd/hyperkube/kube-controller-manager.go
 +++ b/cmd/hyperkube/kube-controller-manager.go
-@@ -33,6 +33,7 @@ func NewKubeControllerManager() *Server {
+@@ -34,6 +34,7 @@ func NewKubeControllerManager() *Server {
  		Run: func(_ *Server, args []string) error {
- 			return s.Run(args)
+ 			return app.Run(s)
  		},
 +		NoParse: false,
  	}
  	s.AddFlags(hks.Flags())
  	return &hks
-diff --git a/cmd/hyperkube/kube-proxy.go b/cmd/hyperkube/kube-proxy.go
-index cf3b12a..69ea610 100644
---- a/cmd/hyperkube/kube-proxy.go
-+++ b/cmd/hyperkube/kube-proxy.go
-@@ -33,6 +33,7 @@ func NewKubeProxy() *Server {
- 		services and forwarding it to the appropriate pods. It generally runs on
- 		nodes next to the Kubelet and proxies traffic from local pods to remote pods.
- 		It is also used when handling incoming external traffic.`,
-+		NoParse: false,
- 	}
- 
- 	config.AddFlags(hks.Flags())
 diff --git a/cmd/hyperkube/kube-scheduler.go b/cmd/hyperkube/kube-scheduler.go
-index aba7c4f..7a272de 100644
+index 4be08e1..5efdf42 100644
 --- a/cmd/hyperkube/kube-scheduler.go
 +++ b/cmd/hyperkube/kube-scheduler.go
-@@ -33,6 +33,7 @@ func NewScheduler() *Server {
- 		Run: func(_ *Server, args []string) error {
- 			return s.Run(args)
+@@ -34,6 +34,7 @@ func NewScheduler() *Server {
+ 		Run: func(_ *Server, _ []string) error {
+ 			return app.Run(s)
  		},
 +		NoParse: false,
  	}
  	s.AddFlags(hks.Flags())
  	return &hks
 diff --git a/cmd/hyperkube/kubectl.go b/cmd/hyperkube/kubectl.go
-index 954422d..f35c75c 100644
+index 954422d..922853b 100644
 --- a/cmd/hyperkube/kubectl.go
 +++ b/cmd/hyperkube/kubectl.go
 @@ -34,5 +34,6 @@ func NewKubectlServer() *Server {
@@ -89,12 +76,12 @@ index 954422d..f35c75c 100644
  	}
  }
 diff --git a/cmd/hyperkube/kubelet.go b/cmd/hyperkube/kubelet.go
-index e12b20d..40d9ef1 100644
+index 0c2f616..a0a1037 100644
 --- a/cmd/hyperkube/kubelet.go
 +++ b/cmd/hyperkube/kubelet.go
-@@ -35,6 +35,7 @@ func NewKubelet() *Server {
+@@ -36,6 +36,7 @@ func NewKubelet() *Server {
  		Run: func(_ *Server, _ []string) error {
- 			return s.Run(nil)
+ 			return app.Run(s, nil)
  		},
 +		NoParse: false,
  	}
diff --git a/SOURCES/keep-solid-port-for-kube-proxy.patch b/SOURCES/keep-solid-port-for-kube-proxy.patch
deleted file mode 100644
index 9e7f43c..0000000
--- a/SOURCES/keep-solid-port-for-kube-proxy.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 805d0b60b4e97561f201ea5e457e8c71b067f25b Mon Sep 17 00:00:00 2001
-From: Jan Chaloupka <jchaloup@redhat.com>
-Date: Thu, 26 Nov 2015 13:00:29 +0100
-Subject: [PATCH] keep solid port for kube-proxy
-
----
- hack/test-cmd.sh | 19 ++++++-------------
- 1 file changed, 6 insertions(+), 13 deletions(-)
-
-diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh
-index fb440ac..9daac99 100755
---- a/hack/test-cmd.sh
-+++ b/hack/test-cmd.sh
-@@ -30,7 +30,6 @@ function stop-proxy()
- {
-   [[ -n "${PROXY_PID-}" ]] && kill "${PROXY_PID}" 1>&2 2>/dev/null
-   PROXY_PID=
--  PROXY_PORT=
- }
- 
- # Starts "kubect proxy" to test the client proxy. $1: api_prefix
-@@ -40,18 +39,11 @@ function start-proxy()
- 
-   kube::log::status "Starting kubectl proxy"
- 
--  for retry in $(seq 1 3); do
--    PROXY_PORT=$(kube::util::get_random_port)
--    kube::log::status "On try ${retry}, use proxy port ${PROXY_PORT} if it's free"
--    if kube::util::test_host_port_free "127.0.0.1" "${PROXY_PORT}"; then
--      if [ $# -eq 0 ]; then
--        kubectl proxy -p ${PROXY_PORT} --www=. 1>&2 & break
--      else
--        kubectl proxy -p ${PROXY_PORT} --www=. --api-prefix="$1" 1>&2 & break
--      fi
--    fi
--    sleep 1;
--  done
-+  if [ $# -eq 0 ]; then
-+    kubectl proxy -p ${PROXY_PORT} --www=. 1>&2 &
-+  else
-+    kubectl proxy -p ${PROXY_PORT} --www=. --api-prefix="$1" 1>&2 &
-+  fi
- 
-   PROXY_PID=$!
-   if [ $# -eq 0 ]; then
-@@ -119,6 +111,7 @@ API_HOST=${API_HOST:-127.0.0.1}
- KUBELET_PORT=${KUBELET_PORT:-10250}
- KUBELET_HEALTHZ_PORT=${KUBELET_HEALTHZ_PORT:-10248}
- CTLRMGR_PORT=${CTLRMGR_PORT:-10252}
-+PROXY_PORT=${PROXY_PORT:-8001}
- PROXY_HOST=127.0.0.1 # kubectl only serves on localhost.
- 
- # ensure ~/.kube/config isn't loaded by tests
--- 
-1.9.3
-
diff --git a/SOURCES/reenable-ui.patch b/SOURCES/reenable-ui.patch
index 95cdc50..1ceac22 100644
--- a/SOURCES/reenable-ui.patch
+++ b/SOURCES/reenable-ui.patch
@@ -1,38 +1,37 @@
-From c42439278f1709fc3d5eec16a30ff1c1db11f78f Mon Sep 17 00:00:00 2001
+From c8106ef81c9ff31bd7d3bf25634d2d6c74a6765d Mon Sep 17 00:00:00 2001
 From: Jan Chaloupka <jchaloup@redhat.com>
-Date: Tue, 24 Nov 2015 15:52:03 +0100
-Subject: [PATCH] reenable /ui, origin e9a12151d67cedb4d3816a791ff02cfc61f024c9
+Date: Fri, 15 Apr 2016 14:58:39 +0200
+Subject: [PATCH] reenable /ui
 
 ---
- Godeps/_workspace/src/k8s.io/kubernetes/pkg/master/master.go | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ pkg/genericapiserver/genericapiserver.go | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
 
-diff --git a/Godeps/_workspace/src/k8s.io/kubernetes/pkg/master/master.go b/Godeps/_workspace/src/k8s.io/kubernetes/pkg/master/master.go
-index 22e2d6e..c602abd 100644
---- a/Godeps/_workspace/src/k8s.io/kubernetes/pkg/master/master.go
-+++ b/Godeps/_workspace/src/k8s.io/kubernetes/pkg/master/master.go
-@@ -78,7 +78,7 @@ import (
+diff --git a/pkg/genericapiserver/genericapiserver.go b/pkg/genericapiserver/genericapiserver.go
+index 6db1406..2a24fac 100644
+--- a/pkg/genericapiserver/genericapiserver.go
++++ b/pkg/genericapiserver/genericapiserver.go
+@@ -43,6 +43,7 @@ import (
+ 	ipallocator "k8s.io/kubernetes/pkg/registry/service/ipallocator"
+ 	"k8s.io/kubernetes/pkg/runtime"
  	"k8s.io/kubernetes/pkg/storage"
- 	etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
- 	"k8s.io/kubernetes/pkg/tools"
--	//"k8s.io/kubernetes/pkg/ui"
 +	"k8s.io/kubernetes/pkg/ui"
  	"k8s.io/kubernetes/pkg/util"
- 	"k8s.io/kubernetes/pkg/util/sets"
- 
-@@ -688,9 +688,9 @@ func (m *Master) init(c *Config) {
+ 	utilnet "k8s.io/kubernetes/pkg/util/net"
+ 	utilruntime "k8s.io/kubernetes/pkg/util/runtime"
+@@ -549,9 +550,9 @@ func (s *GenericAPIServer) init(c *Config) {
  	if c.EnableLogsSupport {
- 		apiserver.InstallLogsSupport(m.muxHelper)
+ 		apiserver.InstallLogsSupport(s.MuxHelper)
  	}
--	/*if c.EnableUISupport {
--		ui.InstallSupport(m.mux)
--	}*/
+-	// if c.EnableUISupport {
+-	// 	ui.InstallSupport(s.MuxHelper, s.enableSwaggerSupport)
+-	// }
 +	if c.EnableUISupport {
-+		ui.InstallSupport(m.mux, m.enableSwaggerSupport)
++		ui.InstallSupport(s.MuxHelper, s.enableSwaggerSupport)
 +	}
  
  	if c.EnableProfiling {
- 		m.mux.HandleFunc("/debug/pprof/", pprof.Index)
+ 		s.mux.HandleFunc("/debug/pprof/", pprof.Index)
 -- 
 1.9.3
 
diff --git a/SOURCES/remove-apiserver-backport-kubectl-add-kube-prefix-fo.patch b/SOURCES/remove-apiserver-backport-kubectl-add-kube-prefix-fo.patch
index d8d02e9..f1b00c2 100644
--- a/SOURCES/remove-apiserver-backport-kubectl-add-kube-prefix-fo.patch
+++ b/SOURCES/remove-apiserver-backport-kubectl-add-kube-prefix-fo.patch
@@ -1,38 +1,34 @@
-From 0416f00d323dcc5ad1c5c9c0a6c66dcad7cac458 Mon Sep 17 00:00:00 2001
+From 9e1554c9b74b2976e0e93d9f34bab82297313419 Mon Sep 17 00:00:00 2001
 From: Jan Chaloupka <jchaloup@redhat.com>
-Date: Mon, 7 Mar 2016 12:53:44 +0100
+Date: Fri, 15 Apr 2016 15:06:40 +0200
 Subject: [PATCH] remove apiserver, backport kubectl, add kube-prefix for
 
 ---
- cmd/hyperkube/kube-controller-manager.go |  2 +-
- cmd/hyperkube/kube-proxy.go              |  2 +-
- cmd/hyperkube/kube-scheduler.go          |  2 +-
- cmd/hyperkube/kubectl.go                 | 39 ++++++++++++++++++++++++++++++++
- cmd/hyperkube/main.go                    |  2 +-
- cmd/kubectl/app/kubectl.go               | 29 ++++++++++++++++++++++++
- 6 files changed, 72 insertions(+), 4 deletions(-)
- create mode 100644 cmd/hyperkube/kubectl.go
- create mode 100644 cmd/kubectl/app/kubectl.go
+ cmd/hyperkube/kube-controller-manager.go | 2 +-
+ cmd/hyperkube/kube-proxy.go              | 2 +-
+ cmd/hyperkube/kube-scheduler.go          | 2 +-
+ cmd/hyperkube/main.go                    | 1 -
+ 4 files changed, 3 insertions(+), 4 deletions(-)
 
 diff --git a/cmd/hyperkube/kube-controller-manager.go b/cmd/hyperkube/kube-controller-manager.go
-index 646dcc5..009b14a 100644
+index 57d4856..1fc5107 100644
 --- a/cmd/hyperkube/kube-controller-manager.go
 +++ b/cmd/hyperkube/kube-controller-manager.go
-@@ -28,7 +28,7 @@ func NewKubeControllerManager() *Server {
- 	s := controllermgr.NewCMServer()
+@@ -29,7 +29,7 @@ func NewKubeControllerManager() *Server {
+ 	s := options.NewCMServer()
  
  	hks := Server{
 -		SimpleUsage: "controller-manager",
 +		SimpleUsage: "kube-controller-manager",
  		Long:        "A server that runs a set of active components. This includes replication controllers, service endpoints and nodes.",
  		Run: func(_ *Server, args []string) error {
- 			return s.Run(args)
+ 			return app.Run(s)
 diff --git a/cmd/hyperkube/kube-proxy.go b/cmd/hyperkube/kube-proxy.go
-index e3b3c46..cf3b12a 100644
+index 5b5231d..9580074 100644
 --- a/cmd/hyperkube/kube-proxy.go
 +++ b/cmd/hyperkube/kube-proxy.go
-@@ -28,7 +28,7 @@ func NewKubeProxy() *Server {
- 	config := kubeproxy.NewProxyConfig()
+@@ -34,7 +34,7 @@ func NewKubeProxy() *Server {
+ 	config := options.NewProxyConfig()
  
  	hks := Server{
 -		SimpleUsage: "proxy",
@@ -41,111 +37,30 @@ index e3b3c46..cf3b12a 100644
  		services and forwarding it to the appropriate pods. It generally runs on
  		nodes next to the Kubelet and proxies traffic from local pods to remote pods.
 diff --git a/cmd/hyperkube/kube-scheduler.go b/cmd/hyperkube/kube-scheduler.go
-index f27a3f8..aba7c4f 100644
+index 799038d..4be08e1 100644
 --- a/cmd/hyperkube/kube-scheduler.go
 +++ b/cmd/hyperkube/kube-scheduler.go
-@@ -28,7 +28,7 @@ func NewScheduler() *Server {
- 	s := scheduler.NewSchedulerServer()
+@@ -29,7 +29,7 @@ func NewScheduler() *Server {
+ 	s := options.NewSchedulerServer()
  
  	hks := Server{
 -		SimpleUsage: "scheduler",
 +		SimpleUsage: "kube-scheduler",
  		Long:        "Implements a Kubernetes scheduler.  This will assign pods to kubelets based on capacity and constraints.",
- 		Run: func(_ *Server, args []string) error {
- 			return s.Run(args)
-diff --git a/cmd/hyperkube/kubectl.go b/cmd/hyperkube/kubectl.go
-new file mode 100644
-index 0000000..9da15cf
---- /dev/null
-+++ b/cmd/hyperkube/kubectl.go
-@@ -0,0 +1,39 @@
-+/*
-+Copyright 2015 The Kubernetes Authors All rights reserved.
-+
-+Licensed under the Apache License, Version 2.0 (the "License");
-+you may not use this file except in compliance with the License.
-+You may obtain a copy of the License at
-+
-+    http://www.apache.org/licenses/LICENSE-2.0
-+
-+Unless required by applicable law or agreed to in writing, software
-+distributed under the License is distributed on an "AS IS" BASIS,
-+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+See the License for the specific language governing permissions and
-+limitations under the License.
-+*/
-+
-+package main
-+
-+import (
-+	"os"
-+
-+	"k8s.io/kubernetes/cmd/kubectl/app"
-+)
-+
-+func NewKubectlServer() *Server {
-+	return &Server{
-+		name:        "kubectl",
-+		SimpleUsage: "Kubernetes command line client",
-+		Long:        "Kubernetes command line client",
-+		Run: func(s *Server, args []string) error {
-+			os.Args = os.Args[1:]
-+			if err := app.Run(); err != nil {
-+				os.Exit(1)
-+			}
-+			os.Exit(0)
-+			return nil
-+		},
-+	}
-+}
+ 		Run: func(_ *Server, _ []string) error {
+ 			return app.Run(s)
 diff --git a/cmd/hyperkube/main.go b/cmd/hyperkube/main.go
-index 3a2b92f..8b060ba 100644
+index 4d9c499..8b060ba 100644
 --- a/cmd/hyperkube/main.go
 +++ b/cmd/hyperkube/main.go
-@@ -31,7 +31,7 @@ func main() {
- 		Long: "This is an all-in-one binary that can run any of the various Kubernetes servers.",
+@@ -32,7 +32,6 @@ func main() {
  	}
  
+ 	hk.AddServer(NewKubectlServer())
 -	hk.AddServer(NewKubeAPIServer())
-+	hk.AddServer(NewKubectlServer())
  	hk.AddServer(NewKubeControllerManager())
  	hk.AddServer(NewScheduler())
  	hk.AddServer(NewKubelet())
-diff --git a/cmd/kubectl/app/kubectl.go b/cmd/kubectl/app/kubectl.go
-new file mode 100644
-index 0000000..5c25410
---- /dev/null
-+++ b/cmd/kubectl/app/kubectl.go
-@@ -0,0 +1,29 @@
-+/*
-+Copyright 2015 The Kubernetes Authors All rights reserved.
-+
-+Licensed under the Apache License, Version 2.0 (the "License");
-+you may not use this file except in compliance with the License.
-+You may obtain a copy of the License at
-+
-+    http://www.apache.org/licenses/LICENSE-2.0
-+
-+Unless required by applicable law or agreed to in writing, software
-+distributed under the License is distributed on an "AS IS" BASIS,
-+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+See the License for the specific language governing permissions and
-+limitations under the License.
-+*/
-+
-+package app
-+
-+import (
-+	"os"
-+
-+	"k8s.io/kubernetes/pkg/kubectl/cmd"
-+	cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
-+)
-+
-+func Run() error {
-+	cmd := cmd.NewKubectlCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr)
-+	return cmd.Execute()
-+}
 -- 
 1.9.3
 
diff --git a/SPECS/kubernetes.spec b/SPECS/kubernetes.spec
index 45182ea..356db27 100644
--- a/SPECS/kubernetes.spec
+++ b/SPECS/kubernetes.spec
@@ -21,7 +21,7 @@
 # https://github.com/openshift/ose
 %global provider_prefix	%{provider}.%{provider_tld}/%{project}/%{repo}
 %global import_path     k8s.io/kubernetes
-%global commit		b57e8bdc7c3871e3f6077b13c42d205ae1813fbd
+%global commit		738b7603b042dcda7a5ba419ab0e7f40a617080c
 %global shortcommit	%(c=%{commit}; echo ${c:0:7})
 
 %global openshift_ip    github.com/openshift/origin
@@ -32,7 +32,7 @@
 %global k8s_repo            kubernetes
 # https://github.com/kubernetes/kubernetes
 %global k8s_provider_prefix %{k8s_provider}.%{k8s_provider_tld}/%{k8s_project}/%{k8s_repo}
-%global k8s_commit      4c8e6f47ec23f390978e651232b375f5f9cde3c7
+%global k8s_commit      114a51dfbc43a8bcf07db1774a20e05d560e34b0
 %global k8s_shortcommit %(c=%{k8s_commit}; echo ${c:0:7})
 %global k8s_src_dir     Godeps/_workspace/src/k8s.io/kubernetes/
 %global k8s_src_dir_sed Godeps\\/_workspace\\/src\\/k8s\\.io\\/kubernetes\\/
@@ -43,13 +43,13 @@
 %global con_repo            contrib
 # https://github.com/kubernetes/kubernetes
 %global con_provider_prefix %{con_provider}.%{con_provider_tld}/%{con_project}/%{con_repo}
-%global con_commit      1c4eb2d56c70adfb2eda7c7d2543b40274d5ede8
+%global con_commit      7fbd2520863b3c6a1d4a2e503cd76497f3ebc0e2
 %global con_shortcommit %(c=%{con_commit}; echo ${c:0:7})
 
 %global O4N_GIT_MAJOR_VERSION 3
-%global O4N_GIT_MINOR_VERSION 1+
-%global O4N_GIT_VERSION       v3.1.1.6
-%global K8S_GIT_VERSION       v1.2.0-alpha.1-1107-g4c8e6f47ec23f3
+%global O4N_GIT_MINOR_VERSION 2+
+%global O4N_GIT_VERSION       v3.2.0.15
+%global K8S_GIT_VERSION       v1.2.0-36-g4a3f9c5b19c7
 %global kube_version          1.2.0
 %global kube_git_version      v%{kube_version}
 
@@ -60,7 +60,7 @@
 
 Name:		kubernetes
 Version:	%{kube_version}
-Release:	0.9.alpha1.git%{shortcommit}%{?dist}
+Release:	0.11.git%{shortcommit}%{?dist}
 Summary:        Container cluster management
 License:        ASL 2.0
 URL:            %{import_path}
@@ -75,8 +75,6 @@ Patch1:         add-pod-infrastructure-container.patch
 Patch2:         Change-etcd-server-port.patch
 
 Patch9:         hack-test-cmd.sh.patch
-# Due to k8s 5d08dcf8377e76f2ce303dc79404f511ebef82e3
-Patch10:        keep-solid-port-for-kube-proxy.patch
 
 # ui is enable in pure kubernetes
 Patch12:        reenable-ui.patch
@@ -87,6 +85,9 @@ Patch13:        remove-apiserver-backport-kubectl-add-kube-prefix-fo.patch
 Patch14:        hyperkube-kubectl-dont-shift-os.Args.patch
 Patch15:        hyperkube.server-don-t-parse-args-for-any-command.patch
 
+# Disable v1beta3 by default
+Patch16:        disable-v1beta3.patch
+
 # It obsoletes cadvisor but needs its source code (literally integrated)
 Obsoletes:      cadvisor
 
@@ -169,8 +170,6 @@ Kubernetes client tools like kubectl
 %endif
 # Hack test-cmd.sh to be run with os binaries
 %patch9 -p1
-# Keep solid port for kube-proxy
-%patch10 -p1
 
 %setup -q -n %{con_repo}-%{con_commit} -T -b 2
 %patch1 -p1
@@ -181,9 +180,6 @@ Kubernetes client tools like kubectl
 dirs=$(ls | grep -v "^Godeps")
 rm -rf $dirs
 
-# reenable /ui
-%patch12 -p1
-
 # move k8s code from Godeps
 mv Godeps/_workspace/src/k8s.io/kubernetes/* .
 # copy missing source code
@@ -195,6 +191,7 @@ cp ../%{k8s_repo}-%{k8s_commit}/plugin/cmd/kube-scheduler/scheduler.go plugin/cm
 cp -r ../%{k8s_repo}-%{k8s_commit}/cmd/kubectl cmd/.
 # copy hack directory
 cp -r ../%{k8s_repo}-%{k8s_commit}/hack .
+cp -r ../%{k8s_repo}-%{k8s_commit}/cluster .
 # copy contrib directory
 cp -r ../%{k8s_repo}-%{k8s_commit}/contrib .
 # copy contrib folder
@@ -202,14 +199,16 @@ cp -r ../%{con_repo}-%{con_commit}/init contrib/.
 # copy docs
 cp -r ../%{k8s_repo}-%{k8s_commit}/docs/admin docs/.
 cp -r ../%{k8s_repo}-%{k8s_commit}/docs/man docs/.
-# copy cmd/kube-version change
-cp -r ../%{k8s_repo}-%{k8s_commit}/cmd/kube-version-change cmd/.
-rm -rf cmd/kube-version-change/import_known_versions.go
 # copy LICENSE and *.md
 cp ../%{k8s_repo}-%{k8s_commit}/LICENSE .
 cp ../%{k8s_repo}-%{k8s_commit}/*.md .
 # copy hyperkube
 cp -r ../%{k8s_repo}-%{k8s_commit}/cmd/hyperkube cmd/.
+# copy swagger
+cp -r ../%{k8s_repo}-%{k8s_commit}/pkg/ui/data/swagger pkg/ui/data/.
+
+# reenable /ui
+%patch12 -p1
 
 %patch2 -p1
 
@@ -219,12 +218,15 @@ cp -r ../%{k8s_repo}-%{k8s_commit}/cmd/hyperkube cmd/.
 %patch14 -p1
 %patch15 -p1
 
+# disable v1beta3
+%patch16 -p1
+
 %build
 export KUBE_GIT_TREE_STATE="clean"
 export KUBE_GIT_COMMIT=%{commit}
 export KUBE_GIT_VERSION=%{kube_git_version}
 
-hack/build-go.sh --use_go_build cmd/hyperkube cmd/kube-apiserver cmd/kube-version-change
+hack/build-go.sh --use_go_build cmd/hyperkube cmd/kube-apiserver
 
 # convert md to man
 pushd docs
@@ -249,9 +251,6 @@ install -p -m 755 -t %{buildroot}%{_bindir} ${output_path}/hyperkube
 echo "+++ INSTALLING kube-apiserver"
 install -p -m 754 -t %{buildroot}%{_bindir} ${output_path}/kube-apiserver
 
-echo "+++ INSTALLING kube-version-change"
-install -p -m 754 -t %{buildroot}%{_bindir} ${output_path}/kube-version-change
-
 binaries=(kube-controller-manager kube-scheduler kube-proxy kubelet kubectl)
 for bin in "${binaries[@]}"; do
   echo "+++ HARDLINKING ${bin} to hyperkube"
@@ -286,7 +285,7 @@ install -p -m 0644 -t %{buildroot}/%{_tmpfilesdir} contrib/init/systemd/tmpfiles
 install -d -m 0755 %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/
 pushd ../%{k8s_repo}-%{k8s_commit}
 # only files for hack/test-cmd.sh atm
-for d in docs examples hack; do
+for d in docs examples hack cluster; do
   cp -a $d %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/
 done
 popd
@@ -298,6 +297,7 @@ chmod 0644 %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/docs/devel/schedu
 chmod 0644 %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/docs/devel/scheduler_algorithm.md
 chmod 0755 %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/hack/build-ui.sh
 chmod 0644 %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/hack/lib/util.sh
+chmod 0644 %{buildroot}%{_sharedstatedir}/kubernetes-unit-test/docs/user-guide/ui.md
 
 %check
 # Fedora, RHEL7 and CentOS are tested via unit-test subpackage
@@ -331,7 +331,6 @@ fi
 %attr(754, -, kube) %caps(cap_net_bind_service=ep) %{_bindir}/kube-apiserver
 %{_bindir}/kube-controller-manager
 %{_bindir}/kube-scheduler
-%{_bindir}/kube-version-change
 %{_bindir}/hyperkube
 %{_unitdir}/kube-apiserver.service
 %{_unitdir}/kube-controller-manager.service
@@ -350,7 +349,6 @@ fi
 %{_mandir}/man1/kube-proxy.1*
 %{_bindir}/kubelet
 %{_bindir}/kube-proxy
-%{_bindir}/kube-version-change
 %{_bindir}/hyperkube
 %{_unitdir}/kube-proxy.service
 %{_unitdir}/kubelet.service
@@ -367,7 +365,6 @@ fi
 %{_mandir}/man1/kubectl.1*
 %{_mandir}/man1/kubectl-*
 %{_bindir}/kubectl
-%{_bindir}/kube-version-change
 %{_bindir}/hyperkube
 %{_datadir}/bash-completion/completions/kubectl
 
@@ -404,6 +401,14 @@ getent passwd kube >/dev/null || useradd -r -g kube -d / -s /sbin/nologin \
 %systemd_postun
 
 %changelog
+* Tue Apr 19 2016 jchaloup <jchaloup@redhat.com> - 1.2.0-0.11.git738b760
+- Set correct permissions for kubernetes-unit-test/docs/user-guide/ui.md (not shipped)
+  related: #1327666
+
+* Fri Apr 15 2016 jchaloup <jchaloup@redhat.com> - 1.2.0-0.10.gite88b10d
+- Rebase to ose v3.2.0.16, kubernetes v1.2.0
+  resolves: #1327666
+
 * Tue Mar 08 2016 jchaloup <jchaloup@redhat.com> - 1.2.0-0.9.alpha1.gitb57e8bd
 - hyperkube.server: don't parse args for any command
   related: #1314728