Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
a780db9a
Commit
a780db9a
authored
Sep 07, 2016
by
Chao Xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes in federation controllers
parent
31d8f112
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
124 additions
and
112 deletions
+124
-112
controllermanager.go
...md/federation-controller-manager/app/controllermanager.go
+1
-1
clustercontroller.go
...on/pkg/federation-controller/cluster/clustercontroller.go
+1
-1
clustercontroller_test.go
...g/federation-controller/cluster/clustercontroller_test.go
+1
-1
ingress_controller.go
...n/pkg/federation-controller/ingress/ingress_controller.go
+12
-12
ingress_controller_test.go
.../federation-controller/ingress/ingress_controller_test.go
+7
-7
namespace_controller.go
...g/federation-controller/namespace/namespace_controller.go
+8
-8
namespace_controller_test.go
...eration-controller/namespace/namespace_controller_test.go
+7
-7
replicasetcontroller.go
.../federation-controller/replicaset/replicasetcontroller.go
+2
-2
replicasetcontroller_test.go
...ration-controller/replicaset/replicasetcontroller_test.go
+4
-4
secret_controller.go
...ion/pkg/federation-controller/secret/secret_controller.go
+8
-8
secret_controller_test.go
...kg/federation-controller/secret/secret_controller_test.go
+7
-7
cluster_helper.go
...ation/pkg/federation-controller/service/cluster_helper.go
+4
-4
endpoint_helper.go
...tion/pkg/federation-controller/service/endpoint_helper.go
+2
-2
service_helper.go
...ation/pkg/federation-controller/service/service_helper.go
+3
-3
servicecontroller.go
...on/pkg/federation-controller/service/servicecontroller.go
+7
-7
cluster_util.go
federation/pkg/federation-controller/util/cluster_util.go
+3
-3
eventsink.go
...ion/pkg/federation-controller/util/eventsink/eventsink.go
+3
-3
eventsink_test.go
...kg/federation-controller/util/eventsink/eventsink_test.go
+2
-2
federated_informer.go
...tion/pkg/federation-controller/util/federated_informer.go
+12
-12
federated_informer_test.go
...pkg/federation-controller/util/federated_informer_test.go
+7
-7
federated_updater.go
...ation/pkg/federation-controller/util/federated_updater.go
+2
-2
federated_updater_test.go
.../pkg/federation-controller/util/federated_updater_test.go
+9
-9
fake_pod_expansion.go
...ated/release_1_5/typed/core/v1/fake/fake_pod_expansion.go
+12
-0
No files found.
federation/cmd/federation-controller-manager/app/controllermanager.go
View file @
a780db9a
...
@@ -26,7 +26,7 @@ import (
...
@@ -26,7 +26,7 @@ import (
"net/http/pprof"
"net/http/pprof"
"strconv"
"strconv"
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
4
"
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
5
"
"k8s.io/kubernetes/federation/cmd/federation-controller-manager/app/options"
"k8s.io/kubernetes/federation/cmd/federation-controller-manager/app/options"
"k8s.io/kubernetes/federation/pkg/dnsprovider"
"k8s.io/kubernetes/federation/pkg/dnsprovider"
clustercontroller
"k8s.io/kubernetes/federation/pkg/federation-controller/cluster"
clustercontroller
"k8s.io/kubernetes/federation/pkg/federation-controller/cluster"
...
...
federation/pkg/federation-controller/cluster/clustercontroller.go
View file @
a780db9a
...
@@ -23,7 +23,7 @@ import (
...
@@ -23,7 +23,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
federation_v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
cluster_cache
"k8s.io/kubernetes/federation/client/cache"
cluster_cache
"k8s.io/kubernetes/federation/client/cache"
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
4
"
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
5
"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
...
...
federation/pkg/federation-controller/cluster/clustercontroller_test.go
View file @
a780db9a
...
@@ -24,7 +24,7 @@ import (
...
@@ -24,7 +24,7 @@ import (
"testing"
"testing"
federation_v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
4
"
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
5
"
controller_util
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
controller_util
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/testapi"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
...
...
federation/pkg/federation-controller/ingress/ingress_controller.go
View file @
a780db9a
...
@@ -23,14 +23,14 @@ import (
...
@@ -23,14 +23,14 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation
_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
federation
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
extensions_v1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensions_v1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/conversion"
"k8s.io/kubernetes/pkg/conversion"
...
@@ -83,7 +83,7 @@ type IngressController struct {
...
@@ -83,7 +83,7 @@ type IngressController struct {
ingressInformerController
cache
.
ControllerInterface
ingressInformerController
cache
.
ControllerInterface
// Client to federated api server.
// Client to federated api server.
federatedApiClient
federation
_release_1_4
.
Interface
federatedApiClient
federation
clientset
.
Interface
// Backoff manager for ingresses
// Backoff manager for ingresses
ingressBackoff
*
flowcontrol
.
Backoff
ingressBackoff
*
flowcontrol
.
Backoff
...
@@ -101,7 +101,7 @@ type IngressController struct {
...
@@ -101,7 +101,7 @@ type IngressController struct {
}
}
// NewIngressController returns a new ingress controller
// NewIngressController returns a new ingress controller
func
NewIngressController
(
client
federation
_release_1_4
.
Interface
)
*
IngressController
{
func
NewIngressController
(
client
federation
clientset
.
Interface
)
*
IngressController
{
glog
.
V
(
4
)
.
Infof
(
"->NewIngressController V(4)"
)
glog
.
V
(
4
)
.
Infof
(
"->NewIngressController V(4)"
)
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
.
StartRecordingToSink
(
eventsink
.
NewFederatedEventSink
(
client
))
broadcaster
.
StartRecordingToSink
(
eventsink
.
NewFederatedEventSink
(
client
))
...
@@ -144,7 +144,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -144,7 +144,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
// Federated informer on ingresses in members of federation.
// Federated informer on ingresses in members of federation.
ic
.
ingressFederatedInformer
=
util
.
NewFederatedInformer
(
ic
.
ingressFederatedInformer
=
util
.
NewFederatedInformer
(
client
,
client
,
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
_release_1_4
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
clientset
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
return
cache
.
NewInformer
(
return
cache
.
NewInformer
(
&
cache
.
ListWatch
{
&
cache
.
ListWatch
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
pkg_runtime
.
Object
,
error
)
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
pkg_runtime
.
Object
,
error
)
{
...
@@ -176,7 +176,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -176,7 +176,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
// Federated informer on configmaps for ingress controllers in members of the federation.
// Federated informer on configmaps for ingress controllers in members of the federation.
ic
.
configMapFederatedInformer
=
util
.
NewFederatedInformer
(
ic
.
configMapFederatedInformer
=
util
.
NewFederatedInformer
(
client
,
client
,
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
_release_1_4
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
clientset
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
glog
.
V
(
4
)
.
Infof
(
"Returning new informer for cluster %q"
,
cluster
.
Name
)
glog
.
V
(
4
)
.
Infof
(
"Returning new informer for cluster %q"
,
cluster
.
Name
)
return
cache
.
NewInformer
(
return
cache
.
NewInformer
(
&
cache
.
ListWatch
{
&
cache
.
ListWatch
{
...
@@ -213,7 +213,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -213,7 +213,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
// Federated ingress updater along with Create/Update/Delete operations.
// Federated ingress updater along with Create/Update/Delete operations.
ic
.
federatedIngressUpdater
=
util
.
NewFederatedUpdater
(
ic
.
ingressFederatedInformer
,
ic
.
federatedIngressUpdater
=
util
.
NewFederatedUpdater
(
ic
.
ingressFederatedInformer
,
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
ingress
:=
obj
.
(
*
extensions_v1beta1
.
Ingress
)
ingress
:=
obj
.
(
*
extensions_v1beta1
.
Ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to create Ingress: %v"
,
ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to create Ingress: %v"
,
ingress
)
_
,
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Create
(
ingress
)
_
,
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Create
(
ingress
)
...
@@ -224,7 +224,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -224,7 +224,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
}
}
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
ingress
:=
obj
.
(
*
extensions_v1beta1
.
Ingress
)
ingress
:=
obj
.
(
*
extensions_v1beta1
.
Ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to update Ingress: %v"
,
ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to update Ingress: %v"
,
ingress
)
_
,
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Update
(
ingress
)
_
,
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Update
(
ingress
)
...
@@ -235,7 +235,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -235,7 +235,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
}
}
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
ingress
:=
obj
.
(
*
extensions_v1beta1
.
Ingress
)
ingress
:=
obj
.
(
*
extensions_v1beta1
.
Ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to delete Ingress: %v"
,
ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to delete Ingress: %v"
,
ingress
)
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Delete
(
ingress
.
Name
,
&
api
.
DeleteOptions
{})
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Delete
(
ingress
.
Name
,
&
api
.
DeleteOptions
{})
...
@@ -244,14 +244,14 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -244,14 +244,14 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
// Federated configmap updater along with Create/Update/Delete operations. Only Update should ever be called.
// Federated configmap updater along with Create/Update/Delete operations. Only Update should ever be called.
ic
.
federatedConfigMapUpdater
=
util
.
NewFederatedUpdater
(
ic
.
configMapFederatedInformer
,
ic
.
federatedConfigMapUpdater
=
util
.
NewFederatedUpdater
(
ic
.
configMapFederatedInformer
,
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
glog
.
Errorf
(
"Internal error: Incorrectly attempting to create ConfigMap: %q"
,
configMapName
)
glog
.
Errorf
(
"Internal error: Incorrectly attempting to create ConfigMap: %q"
,
configMapName
)
_
,
err
:=
client
.
Core
()
.
ConfigMaps
(
configMap
.
Namespace
)
.
Create
(
configMap
)
_
,
err
:=
client
.
Core
()
.
ConfigMaps
(
configMap
.
Namespace
)
.
Create
(
configMap
)
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
glog
.
V
(
4
)
.
Infof
(
"Attempting to update ConfigMap: %v"
,
configMap
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to update ConfigMap: %v"
,
configMap
)
...
@@ -263,7 +263,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
...
@@ -263,7 +263,7 @@ func NewIngressController(client federation_release_1_4.Interface) *IngressContr
}
}
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
glog
.
Errorf
(
"Internal error: Incorrectly attempting to delete ConfigMap: %q"
,
configMapName
)
glog
.
Errorf
(
"Internal error: Incorrectly attempting to delete ConfigMap: %q"
,
configMapName
)
...
...
federation/pkg/federation-controller/ingress/ingress_controller_test.go
View file @
a780db9a
...
@@ -23,13 +23,13 @@ import (
...
@@ -23,13 +23,13 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fake_fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
/fake"
fake_fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
/fake"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
extensions_v1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensions_v1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
fake_kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
/fake"
fake_kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
/fake"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/assert"
...
@@ -45,7 +45,7 @@ func TestIngressController(t *testing.T) {
...
@@ -45,7 +45,7 @@ func TestIngressController(t *testing.T) {
cfg2
:=
NewConfigMap
(
"bar"
)
// Different UID from cfg1, so that we can check that they get reconciled.
cfg2
:=
NewConfigMap
(
"bar"
)
// Different UID from cfg1, so that we can check that they get reconciled.
t
.
Log
(
"Creating fake infrastructure"
)
t
.
Log
(
"Creating fake infrastructure"
)
fedClient
:=
&
fake_fed
eration_release_1_4
.
Clientset
{}
fedClient
:=
&
fake_fed
clientset
.
Clientset
{}
RegisterFakeList
(
"clusters"
,
&
fedClient
.
Fake
,
&
fakeClusterList
)
RegisterFakeList
(
"clusters"
,
&
fedClient
.
Fake
,
&
fakeClusterList
)
RegisterFakeList
(
"ingresses"
,
&
fedClient
.
Fake
,
&
extensions_v1beta1
.
IngressList
{
Items
:
[]
extensions_v1beta1
.
Ingress
{}})
RegisterFakeList
(
"ingresses"
,
&
fedClient
.
Fake
,
&
extensions_v1beta1
.
IngressList
{
Items
:
[]
extensions_v1beta1
.
Ingress
{}})
fedIngressWatch
:=
RegisterFakeWatch
(
"ingresses"
,
&
fedClient
.
Fake
)
fedIngressWatch
:=
RegisterFakeWatch
(
"ingresses"
,
&
fedClient
.
Fake
)
...
@@ -53,7 +53,7 @@ func TestIngressController(t *testing.T) {
...
@@ -53,7 +53,7 @@ func TestIngressController(t *testing.T) {
fedClusterUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"clusters"
,
&
fedClient
.
Fake
,
clusterWatch
)
fedClusterUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"clusters"
,
&
fedClient
.
Fake
,
clusterWatch
)
fedIngressUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"ingresses"
,
&
fedClient
.
Fake
,
fedIngressWatch
)
fedIngressUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"ingresses"
,
&
fedClient
.
Fake
,
fedIngressWatch
)
cluster1Client
:=
&
fake_kube
_release_1_4
.
Clientset
{}
cluster1Client
:=
&
fake_kube
clientset
.
Clientset
{}
RegisterFakeList
(
"ingresses"
,
&
cluster1Client
.
Fake
,
&
extensions_v1beta1
.
IngressList
{
Items
:
[]
extensions_v1beta1
.
Ingress
{}})
RegisterFakeList
(
"ingresses"
,
&
cluster1Client
.
Fake
,
&
extensions_v1beta1
.
IngressList
{
Items
:
[]
extensions_v1beta1
.
Ingress
{}})
RegisterFakeList
(
"configmaps"
,
&
cluster1Client
.
Fake
,
&
fakeConfigMapList1
)
RegisterFakeList
(
"configmaps"
,
&
cluster1Client
.
Fake
,
&
fakeConfigMapList1
)
cluster1IngressWatch
:=
RegisterFakeWatch
(
"ingresses"
,
&
cluster1Client
.
Fake
)
cluster1IngressWatch
:=
RegisterFakeWatch
(
"ingresses"
,
&
cluster1Client
.
Fake
)
...
@@ -61,7 +61,7 @@ func TestIngressController(t *testing.T) {
...
@@ -61,7 +61,7 @@ func TestIngressController(t *testing.T) {
cluster1IngressCreateChan
:=
RegisterFakeCopyOnCreate
(
"ingresses"
,
&
cluster1Client
.
Fake
,
cluster1IngressWatch
)
cluster1IngressCreateChan
:=
RegisterFakeCopyOnCreate
(
"ingresses"
,
&
cluster1Client
.
Fake
,
cluster1IngressWatch
)
cluster1IngressUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"ingresses"
,
&
cluster1Client
.
Fake
,
cluster1IngressWatch
)
cluster1IngressUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"ingresses"
,
&
cluster1Client
.
Fake
,
cluster1IngressWatch
)
cluster2Client
:=
&
fake_kube
_release_1_4
.
Clientset
{}
cluster2Client
:=
&
fake_kube
clientset
.
Clientset
{}
RegisterFakeList
(
"ingresses"
,
&
cluster2Client
.
Fake
,
&
extensions_v1beta1
.
IngressList
{
Items
:
[]
extensions_v1beta1
.
Ingress
{}})
RegisterFakeList
(
"ingresses"
,
&
cluster2Client
.
Fake
,
&
extensions_v1beta1
.
IngressList
{
Items
:
[]
extensions_v1beta1
.
Ingress
{}})
RegisterFakeList
(
"configmaps"
,
&
cluster2Client
.
Fake
,
&
fakeConfigMapList2
)
RegisterFakeList
(
"configmaps"
,
&
cluster2Client
.
Fake
,
&
fakeConfigMapList2
)
cluster2IngressWatch
:=
RegisterFakeWatch
(
"ingresses"
,
&
cluster2Client
.
Fake
)
cluster2IngressWatch
:=
RegisterFakeWatch
(
"ingresses"
,
&
cluster2Client
.
Fake
)
...
@@ -69,7 +69,7 @@ func TestIngressController(t *testing.T) {
...
@@ -69,7 +69,7 @@ func TestIngressController(t *testing.T) {
cluster2IngressCreateChan
:=
RegisterFakeCopyOnCreate
(
"ingresses"
,
&
cluster2Client
.
Fake
,
cluster2IngressWatch
)
cluster2IngressCreateChan
:=
RegisterFakeCopyOnCreate
(
"ingresses"
,
&
cluster2Client
.
Fake
,
cluster2IngressWatch
)
cluster2ConfigMapUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"configmaps"
,
&
cluster2Client
.
Fake
,
cluster2ConfigMapWatch
)
cluster2ConfigMapUpdateChan
:=
RegisterFakeCopyOnUpdate
(
"configmaps"
,
&
cluster2Client
.
Fake
,
cluster2ConfigMapWatch
)
clientFactoryFunc
:=
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
{
clientFactoryFunc
:=
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
{
switch
cluster
.
Name
{
switch
cluster
.
Name
{
case
cluster1
.
Name
:
case
cluster1
.
Name
:
return
cluster1Client
,
nil
return
cluster1Client
,
nil
...
...
federation/pkg/federation-controller/namespace/namespace_controller.go
View file @
a780db9a
...
@@ -22,14 +22,14 @@ import (
...
@@ -22,14 +22,14 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation
_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
federation
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
...
@@ -64,7 +64,7 @@ type NamespaceController struct {
...
@@ -64,7 +64,7 @@ type NamespaceController struct {
namespaceInformerController
cache
.
ControllerInterface
namespaceInformerController
cache
.
ControllerInterface
// Client to federated api server.
// Client to federated api server.
federatedApiClient
federation
_release_1_4
.
Interface
federatedApiClient
federation
clientset
.
Interface
// Backoff manager for namespaces
// Backoff manager for namespaces
namespaceBackoff
*
flowcontrol
.
Backoff
namespaceBackoff
*
flowcontrol
.
Backoff
...
@@ -79,7 +79,7 @@ type NamespaceController struct {
...
@@ -79,7 +79,7 @@ type NamespaceController struct {
}
}
// NewNamespaceController returns a new namespace controller
// NewNamespaceController returns a new namespace controller
func
NewNamespaceController
(
client
federation
_release_1_4
.
Interface
)
*
NamespaceController
{
func
NewNamespaceController
(
client
federation
clientset
.
Interface
)
*
NamespaceController
{
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
.
StartRecordingToSink
(
eventsink
.
NewFederatedEventSink
(
client
))
broadcaster
.
StartRecordingToSink
(
eventsink
.
NewFederatedEventSink
(
client
))
recorder
:=
broadcaster
.
NewRecorder
(
api
.
EventSource
{
Component
:
"federated-namespace-controller"
})
recorder
:=
broadcaster
.
NewRecorder
(
api
.
EventSource
{
Component
:
"federated-namespace-controller"
})
...
@@ -115,7 +115,7 @@ func NewNamespaceController(client federation_release_1_4.Interface) *NamespaceC
...
@@ -115,7 +115,7 @@ func NewNamespaceController(client federation_release_1_4.Interface) *NamespaceC
// Federated informer on namespaces in members of federation.
// Federated informer on namespaces in members of federation.
nc
.
namespaceFederatedInformer
=
util
.
NewFederatedInformer
(
nc
.
namespaceFederatedInformer
=
util
.
NewFederatedInformer
(
client
,
client
,
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
_release_1_4
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
clientset
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
return
cache
.
NewInformer
(
return
cache
.
NewInformer
(
&
cache
.
ListWatch
{
&
cache
.
ListWatch
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
pkg_runtime
.
Object
,
error
)
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
pkg_runtime
.
Object
,
error
)
{
...
@@ -144,17 +144,17 @@ func NewNamespaceController(client federation_release_1_4.Interface) *NamespaceC
...
@@ -144,17 +144,17 @@ func NewNamespaceController(client federation_release_1_4.Interface) *NamespaceC
// Federated updeater along with Create/Update/Delete operations.
// Federated updeater along with Create/Update/Delete operations.
nc
.
federatedUpdater
=
util
.
NewFederatedUpdater
(
nc
.
namespaceFederatedInformer
,
nc
.
federatedUpdater
=
util
.
NewFederatedUpdater
(
nc
.
namespaceFederatedInformer
,
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
namespace
:=
obj
.
(
*
api_v1
.
Namespace
)
namespace
:=
obj
.
(
*
api_v1
.
Namespace
)
_
,
err
:=
client
.
Core
()
.
Namespaces
()
.
Create
(
namespace
)
_
,
err
:=
client
.
Core
()
.
Namespaces
()
.
Create
(
namespace
)
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
namespace
:=
obj
.
(
*
api_v1
.
Namespace
)
namespace
:=
obj
.
(
*
api_v1
.
Namespace
)
_
,
err
:=
client
.
Core
()
.
Namespaces
()
.
Update
(
namespace
)
_
,
err
:=
client
.
Core
()
.
Namespaces
()
.
Update
(
namespace
)
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
namespace
:=
obj
.
(
*
api_v1
.
Namespace
)
namespace
:=
obj
.
(
*
api_v1
.
Namespace
)
err
:=
client
.
Core
()
.
Namespaces
()
.
Delete
(
namespace
.
Name
,
&
api
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
Namespaces
()
.
Delete
(
namespace
.
Name
,
&
api
.
DeleteOptions
{})
return
err
return
err
...
...
federation/pkg/federation-controller/namespace/namespace_controller_test.go
View file @
a780db9a
...
@@ -22,13 +22,13 @@ import (
...
@@ -22,13 +22,13 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fake_fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
/fake"
fake_fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
/fake"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
extensionsv1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensionsv1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
fake_kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
/fake"
fake_kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
/fake"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
...
@@ -45,19 +45,19 @@ func TestNamespaceController(t *testing.T) {
...
@@ -45,19 +45,19 @@ func TestNamespaceController(t *testing.T) {
},
},
}
}
fakeClient
:=
&
fake_fed
eration_release_1_4
.
Clientset
{}
fakeClient
:=
&
fake_fed
clientset
.
Clientset
{}
RegisterFakeList
(
"clusters"
,
&
fakeClient
.
Fake
,
&
federation_api
.
ClusterList
{
Items
:
[]
federation_api
.
Cluster
{
*
cluster1
}})
RegisterFakeList
(
"clusters"
,
&
fakeClient
.
Fake
,
&
federation_api
.
ClusterList
{
Items
:
[]
federation_api
.
Cluster
{
*
cluster1
}})
RegisterFakeList
(
"namespaces"
,
&
fakeClient
.
Fake
,
&
api_v1
.
NamespaceList
{
Items
:
[]
api_v1
.
Namespace
{}})
RegisterFakeList
(
"namespaces"
,
&
fakeClient
.
Fake
,
&
api_v1
.
NamespaceList
{
Items
:
[]
api_v1
.
Namespace
{}})
namespaceWatch
:=
RegisterFakeWatch
(
"namespaces"
,
&
fakeClient
.
Fake
)
namespaceWatch
:=
RegisterFakeWatch
(
"namespaces"
,
&
fakeClient
.
Fake
)
clusterWatch
:=
RegisterFakeWatch
(
"clusters"
,
&
fakeClient
.
Fake
)
clusterWatch
:=
RegisterFakeWatch
(
"clusters"
,
&
fakeClient
.
Fake
)
cluster1Client
:=
&
fake_kube
_release_1_4
.
Clientset
{}
cluster1Client
:=
&
fake_kube
clientset
.
Clientset
{}
cluster1Watch
:=
RegisterFakeWatch
(
"namespaces"
,
&
cluster1Client
.
Fake
)
cluster1Watch
:=
RegisterFakeWatch
(
"namespaces"
,
&
cluster1Client
.
Fake
)
RegisterFakeList
(
"namespaces"
,
&
cluster1Client
.
Fake
,
&
api_v1
.
NamespaceList
{
Items
:
[]
api_v1
.
Namespace
{}})
RegisterFakeList
(
"namespaces"
,
&
cluster1Client
.
Fake
,
&
api_v1
.
NamespaceList
{
Items
:
[]
api_v1
.
Namespace
{}})
cluster1CreateChan
:=
RegisterFakeCopyOnCreate
(
"namespaces"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster1CreateChan
:=
RegisterFakeCopyOnCreate
(
"namespaces"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster1UpdateChan
:=
RegisterFakeCopyOnUpdate
(
"namespaces"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster1UpdateChan
:=
RegisterFakeCopyOnUpdate
(
"namespaces"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster2Client
:=
&
fake_kube
_release_1_4
.
Clientset
{}
cluster2Client
:=
&
fake_kube
clientset
.
Clientset
{}
cluster2Watch
:=
RegisterFakeWatch
(
"namespaces"
,
&
cluster2Client
.
Fake
)
cluster2Watch
:=
RegisterFakeWatch
(
"namespaces"
,
&
cluster2Client
.
Fake
)
RegisterFakeList
(
"namespaces"
,
&
cluster2Client
.
Fake
,
&
api_v1
.
NamespaceList
{
Items
:
[]
api_v1
.
Namespace
{}})
RegisterFakeList
(
"namespaces"
,
&
cluster2Client
.
Fake
,
&
api_v1
.
NamespaceList
{
Items
:
[]
api_v1
.
Namespace
{}})
cluster2CreateChan
:=
RegisterFakeCopyOnCreate
(
"namespaces"
,
&
cluster2Client
.
Fake
,
cluster2Watch
)
cluster2CreateChan
:=
RegisterFakeCopyOnCreate
(
"namespaces"
,
&
cluster2Client
.
Fake
,
cluster2Watch
)
...
@@ -87,7 +87,7 @@ func TestNamespaceController(t *testing.T) {
...
@@ -87,7 +87,7 @@ func TestNamespaceController(t *testing.T) {
namespaceController
:=
NewNamespaceController
(
fakeClient
)
namespaceController
:=
NewNamespaceController
(
fakeClient
)
informer
:=
ToFederatedInformerForTestOnly
(
namespaceController
.
namespaceFederatedInformer
)
informer
:=
ToFederatedInformerForTestOnly
(
namespaceController
.
namespaceFederatedInformer
)
informer
.
SetClientFactory
(
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
{
informer
.
SetClientFactory
(
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
{
switch
cluster
.
Name
{
switch
cluster
.
Name
{
case
cluster1
.
Name
:
case
cluster1
.
Name
:
return
cluster1Client
,
nil
return
cluster1Client
,
nil
...
...
federation/pkg/federation-controller/replicaset/replicasetcontroller.go
View file @
a780db9a
...
@@ -28,7 +28,7 @@ import (
...
@@ -28,7 +28,7 @@ import (
fed
"k8s.io/kubernetes/federation/apis/federation"
fed
"k8s.io/kubernetes/federation/apis/federation"
fedv1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fedv1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fedclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
4
"
fedclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
5
"
planner
"k8s.io/kubernetes/federation/pkg/federation-controller/replicaset/planner"
planner
"k8s.io/kubernetes/federation/pkg/federation-controller/replicaset/planner"
fedutil
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
fedutil
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
...
@@ -36,7 +36,7 @@ import (
...
@@ -36,7 +36,7 @@ import (
apiv1
"k8s.io/kubernetes/pkg/api/v1"
apiv1
"k8s.io/kubernetes/pkg/api/v1"
extensionsv1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensionsv1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
kubeclientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_
4
"
kubeclientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_
5
"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
...
...
federation/pkg/federation-controller/replicaset/replicasetcontroller_test.go
View file @
a780db9a
...
@@ -23,13 +23,13 @@ import (
...
@@ -23,13 +23,13 @@ import (
"time"
"time"
fedv1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fedv1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fedclientfake
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
4
/fake"
fedclientfake
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_
5
/fake"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/meta"
apiv1
"k8s.io/kubernetes/pkg/api/v1"
apiv1
"k8s.io/kubernetes/pkg/api/v1"
extensionsv1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensionsv1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
kubeclientfake
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_
4
/fake"
kubeclientfake
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_
5
/fake"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/watch"
"k8s.io/kubernetes/pkg/watch"
...
@@ -97,7 +97,7 @@ func TestReplicaSetController(t *testing.T) {
...
@@ -97,7 +97,7 @@ func TestReplicaSetController(t *testing.T) {
kube2Podwatch
:=
watch
.
NewFake
()
kube2Podwatch
:=
watch
.
NewFake
()
kube2clientset
.
PrependWatchReactor
(
"pods"
,
core
.
DefaultWatchReactor
(
kube2Podwatch
,
nil
))
kube2clientset
.
PrependWatchReactor
(
"pods"
,
core
.
DefaultWatchReactor
(
kube2Podwatch
,
nil
))
fedInformerClientFactory
:=
func
(
cluster
*
fedv1
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
{
fedInformerClientFactory
:=
func
(
cluster
*
fedv1
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
{
switch
cluster
.
Name
{
switch
cluster
.
Name
{
case
"k8s-1"
:
case
"k8s-1"
:
return
kube1clientset
,
nil
return
kube1clientset
,
nil
...
...
federation/pkg/federation-controller/secret/secret_controller.go
View file @
a780db9a
...
@@ -21,13 +21,13 @@ import (
...
@@ -21,13 +21,13 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation
_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
federation
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/federation/pkg/federation-controller/util/eventsink"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
...
@@ -61,7 +61,7 @@ type SecretController struct {
...
@@ -61,7 +61,7 @@ type SecretController struct {
secretInformerController
cache
.
ControllerInterface
secretInformerController
cache
.
ControllerInterface
// Client to federated api server.
// Client to federated api server.
federatedApiClient
federation
_release_1_4
.
Interface
federatedApiClient
federation
clientset
.
Interface
// Backoff manager for secrets
// Backoff manager for secrets
secretBackoff
*
flowcontrol
.
Backoff
secretBackoff
*
flowcontrol
.
Backoff
...
@@ -76,7 +76,7 @@ type SecretController struct {
...
@@ -76,7 +76,7 @@ type SecretController struct {
}
}
// NewSecretController returns a new secret controller
// NewSecretController returns a new secret controller
func
NewSecretController
(
client
federation
_release_1_4
.
Interface
)
*
SecretController
{
func
NewSecretController
(
client
federation
clientset
.
Interface
)
*
SecretController
{
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
.
StartRecordingToSink
(
eventsink
.
NewFederatedEventSink
(
client
))
broadcaster
.
StartRecordingToSink
(
eventsink
.
NewFederatedEventSink
(
client
))
recorder
:=
broadcaster
.
NewRecorder
(
api
.
EventSource
{
Component
:
"federated-secrets-controller"
})
recorder
:=
broadcaster
.
NewRecorder
(
api
.
EventSource
{
Component
:
"federated-secrets-controller"
})
...
@@ -112,7 +112,7 @@ func NewSecretController(client federation_release_1_4.Interface) *SecretControl
...
@@ -112,7 +112,7 @@ func NewSecretController(client federation_release_1_4.Interface) *SecretControl
// Federated informer on secrets in members of federation.
// Federated informer on secrets in members of federation.
secretcontroller
.
secretFederatedInformer
=
util
.
NewFederatedInformer
(
secretcontroller
.
secretFederatedInformer
=
util
.
NewFederatedInformer
(
client
,
client
,
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
_release_1_4
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
func
(
cluster
*
federation_api
.
Cluster
,
targetClient
kube
clientset
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
return
cache
.
NewInformer
(
return
cache
.
NewInformer
(
&
cache
.
ListWatch
{
&
cache
.
ListWatch
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
pkg_runtime
.
Object
,
error
)
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
pkg_runtime
.
Object
,
error
)
{
...
@@ -143,17 +143,17 @@ func NewSecretController(client federation_release_1_4.Interface) *SecretControl
...
@@ -143,17 +143,17 @@ func NewSecretController(client federation_release_1_4.Interface) *SecretControl
// Federated updeater along with Create/Update/Delete operations.
// Federated updeater along with Create/Update/Delete operations.
secretcontroller
.
federatedUpdater
=
util
.
NewFederatedUpdater
(
secretcontroller
.
secretFederatedInformer
,
secretcontroller
.
federatedUpdater
=
util
.
NewFederatedUpdater
(
secretcontroller
.
secretFederatedInformer
,
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
secret
:=
obj
.
(
*
api_v1
.
Secret
)
secret
:=
obj
.
(
*
api_v1
.
Secret
)
_
,
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Create
(
secret
)
_
,
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Create
(
secret
)
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
secret
:=
obj
.
(
*
api_v1
.
Secret
)
secret
:=
obj
.
(
*
api_v1
.
Secret
)
_
,
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Update
(
secret
)
_
,
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Update
(
secret
)
return
err
return
err
},
},
func
(
client
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
client
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
secret
:=
obj
.
(
*
api_v1
.
Secret
)
secret
:=
obj
.
(
*
api_v1
.
Secret
)
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Delete
(
secret
.
Name
,
&
api
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Delete
(
secret
.
Name
,
&
api
.
DeleteOptions
{})
return
err
return
err
...
...
federation/pkg/federation-controller/secret/secret_controller_test.go
View file @
a780db9a
...
@@ -23,11 +23,11 @@ import (
...
@@ -23,11 +23,11 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fake_fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
/fake"
fake_fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
/fake"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
fake_kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
/fake"
fake_kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
/fake"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/assert"
...
@@ -37,26 +37,26 @@ func TestSecretController(t *testing.T) {
...
@@ -37,26 +37,26 @@ func TestSecretController(t *testing.T) {
cluster1
:=
NewCluster
(
"cluster1"
,
api_v1
.
ConditionTrue
)
cluster1
:=
NewCluster
(
"cluster1"
,
api_v1
.
ConditionTrue
)
cluster2
:=
NewCluster
(
"cluster2"
,
api_v1
.
ConditionTrue
)
cluster2
:=
NewCluster
(
"cluster2"
,
api_v1
.
ConditionTrue
)
fakeClient
:=
&
fake_fed
eration_release_1_4
.
Clientset
{}
fakeClient
:=
&
fake_fed
clientset
.
Clientset
{}
RegisterFakeList
(
"clusters"
,
&
fakeClient
.
Fake
,
&
federation_api
.
ClusterList
{
Items
:
[]
federation_api
.
Cluster
{
*
cluster1
}})
RegisterFakeList
(
"clusters"
,
&
fakeClient
.
Fake
,
&
federation_api
.
ClusterList
{
Items
:
[]
federation_api
.
Cluster
{
*
cluster1
}})
RegisterFakeList
(
"secrets"
,
&
fakeClient
.
Fake
,
&
api_v1
.
SecretList
{
Items
:
[]
api_v1
.
Secret
{}})
RegisterFakeList
(
"secrets"
,
&
fakeClient
.
Fake
,
&
api_v1
.
SecretList
{
Items
:
[]
api_v1
.
Secret
{}})
secretWatch
:=
RegisterFakeWatch
(
"secrets"
,
&
fakeClient
.
Fake
)
secretWatch
:=
RegisterFakeWatch
(
"secrets"
,
&
fakeClient
.
Fake
)
clusterWatch
:=
RegisterFakeWatch
(
"clusters"
,
&
fakeClient
.
Fake
)
clusterWatch
:=
RegisterFakeWatch
(
"clusters"
,
&
fakeClient
.
Fake
)
cluster1Client
:=
&
fake_kube
_release_1_4
.
Clientset
{}
cluster1Client
:=
&
fake_kube
clientset
.
Clientset
{}
cluster1Watch
:=
RegisterFakeWatch
(
"secrets"
,
&
cluster1Client
.
Fake
)
cluster1Watch
:=
RegisterFakeWatch
(
"secrets"
,
&
cluster1Client
.
Fake
)
RegisterFakeList
(
"secrets"
,
&
cluster1Client
.
Fake
,
&
api_v1
.
SecretList
{
Items
:
[]
api_v1
.
Secret
{}})
RegisterFakeList
(
"secrets"
,
&
cluster1Client
.
Fake
,
&
api_v1
.
SecretList
{
Items
:
[]
api_v1
.
Secret
{}})
cluster1CreateChan
:=
RegisterFakeCopyOnCreate
(
"secrets"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster1CreateChan
:=
RegisterFakeCopyOnCreate
(
"secrets"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster1UpdateChan
:=
RegisterFakeCopyOnUpdate
(
"secrets"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster1UpdateChan
:=
RegisterFakeCopyOnUpdate
(
"secrets"
,
&
cluster1Client
.
Fake
,
cluster1Watch
)
cluster2Client
:=
&
fake_kube
_release_1_4
.
Clientset
{}
cluster2Client
:=
&
fake_kube
clientset
.
Clientset
{}
cluster2Watch
:=
RegisterFakeWatch
(
"secrets"
,
&
cluster2Client
.
Fake
)
cluster2Watch
:=
RegisterFakeWatch
(
"secrets"
,
&
cluster2Client
.
Fake
)
RegisterFakeList
(
"secrets"
,
&
cluster2Client
.
Fake
,
&
api_v1
.
SecretList
{
Items
:
[]
api_v1
.
Secret
{}})
RegisterFakeList
(
"secrets"
,
&
cluster2Client
.
Fake
,
&
api_v1
.
SecretList
{
Items
:
[]
api_v1
.
Secret
{}})
cluster2CreateChan
:=
RegisterFakeCopyOnCreate
(
"secrets"
,
&
cluster2Client
.
Fake
,
cluster2Watch
)
cluster2CreateChan
:=
RegisterFakeCopyOnCreate
(
"secrets"
,
&
cluster2Client
.
Fake
,
cluster2Watch
)
secretController
:=
NewSecretController
(
fakeClient
)
secretController
:=
NewSecretController
(
fakeClient
)
informer
:=
ToFederatedInformerForTestOnly
(
secretController
.
secretFederatedInformer
)
informer
:=
ToFederatedInformerForTestOnly
(
secretController
.
secretFederatedInformer
)
informer
.
SetClientFactory
(
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
{
informer
.
SetClientFactory
(
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
{
switch
cluster
.
Name
{
switch
cluster
.
Name
{
case
cluster1
.
Name
:
case
cluster1
.
Name
:
return
cluster1Client
,
nil
return
cluster1Client
,
nil
...
...
federation/pkg/federation-controller/service/cluster_helper.go
View file @
a780db9a
...
@@ -23,7 +23,7 @@ import (
...
@@ -23,7 +23,7 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
v1
"k8s.io/kubernetes/pkg/api/v1"
v1
"k8s.io/kubernetes/pkg/api/v1"
cache
"k8s.io/kubernetes/pkg/client/cache"
cache
"k8s.io/kubernetes/pkg/client/cache"
release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kubeclientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/restclient"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/wait"
"k8s.io/kubernetes/pkg/util/wait"
...
@@ -37,7 +37,7 @@ import (
...
@@ -37,7 +37,7 @@ import (
)
)
type
clusterCache
struct
{
type
clusterCache
struct
{
clientset
*
release_1_4
.
Clientset
clientset
*
kubeclientset
.
Clientset
cluster
*
v1beta1
.
Cluster
cluster
*
v1beta1
.
Cluster
// A store of services, populated by the serviceController
// A store of services, populated by the serviceController
serviceStore
cache
.
StoreToServiceLister
serviceStore
cache
.
StoreToServiceLister
...
@@ -196,10 +196,10 @@ func (cc *clusterClientCache) addToClientMap(obj interface{}) {
...
@@ -196,10 +196,10 @@ func (cc *clusterClientCache) addToClientMap(obj interface{}) {
}
}
}
}
func
newClusterClientset
(
c
*
v1beta1
.
Cluster
)
(
*
release_1_4
.
Clientset
,
error
)
{
func
newClusterClientset
(
c
*
v1beta1
.
Cluster
)
(
*
kubeclientset
.
Clientset
,
error
)
{
clusterConfig
,
err
:=
util
.
BuildClusterConfig
(
c
)
clusterConfig
,
err
:=
util
.
BuildClusterConfig
(
c
)
if
clusterConfig
!=
nil
{
if
clusterConfig
!=
nil
{
clientset
:=
release_1_4
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
clusterConfig
,
UserAgentName
))
clientset
:=
kubeclientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
clusterConfig
,
UserAgentName
))
return
clientset
,
nil
return
clientset
,
nil
}
}
return
nil
,
err
return
nil
,
err
...
...
federation/pkg/federation-controller/service/endpoint_helper.go
View file @
a780db9a
...
@@ -20,7 +20,7 @@ import (
...
@@ -20,7 +20,7 @@ import (
"fmt"
"fmt"
"time"
"time"
fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
v1
"k8s.io/kubernetes/pkg/api/v1"
v1
"k8s.io/kubernetes/pkg/api/v1"
cache
"k8s.io/kubernetes/pkg/client/cache"
cache
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
...
@@ -75,7 +75,7 @@ ForLoop:
...
@@ -75,7 +75,7 @@ ForLoop:
// Whenever there is change on endpoint, the federation service should be updated
// Whenever there is change on endpoint, the federation service should be updated
// key is the namespaced name of endpoint
// key is the namespaced name of endpoint
func
(
cc
*
clusterClientCache
)
syncEndpoint
(
key
,
clusterName
string
,
clusterCache
*
clusterCache
,
serviceCache
*
serviceCache
,
fedClient
fed
eration_release_1_4
.
Interface
,
serviceController
*
ServiceController
)
error
{
func
(
cc
*
clusterClientCache
)
syncEndpoint
(
key
,
clusterName
string
,
clusterCache
*
clusterCache
,
serviceCache
*
serviceCache
,
fedClient
fed
clientset
.
Interface
,
serviceController
*
ServiceController
)
error
{
cachedService
,
ok
:=
serviceCache
.
get
(
key
)
cachedService
,
ok
:=
serviceCache
.
get
(
key
)
if
!
ok
{
if
!
ok
{
// here we filtered all non-federation services
// here we filtered all non-federation services
...
...
federation/pkg/federation-controller/service/service_helper.go
View file @
a780db9a
...
@@ -20,7 +20,7 @@ import (
...
@@ -20,7 +20,7 @@ import (
"fmt"
"fmt"
"time"
"time"
fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
v1
"k8s.io/kubernetes/pkg/api/v1"
v1
"k8s.io/kubernetes/pkg/api/v1"
cache
"k8s.io/kubernetes/pkg/client/cache"
cache
"k8s.io/kubernetes/pkg/client/cache"
...
@@ -77,7 +77,7 @@ ForLoop:
...
@@ -77,7 +77,7 @@ ForLoop:
}
}
// Whenever there is change on service, the federation service should be updated
// Whenever there is change on service, the federation service should be updated
func
(
cc
*
clusterClientCache
)
syncService
(
key
,
clusterName
string
,
clusterCache
*
clusterCache
,
serviceCache
*
serviceCache
,
fedClient
fed
eration_release_1_4
.
Interface
,
sc
*
ServiceController
)
error
{
func
(
cc
*
clusterClientCache
)
syncService
(
key
,
clusterName
string
,
clusterCache
*
clusterCache
,
serviceCache
*
serviceCache
,
fedClient
fed
clientset
.
Interface
,
sc
*
ServiceController
)
error
{
// obj holds the latest service info from apiserver, return if there is no federation cache for the service
// obj holds the latest service info from apiserver, return if there is no federation cache for the service
cachedService
,
ok
:=
serviceCache
.
get
(
key
)
cachedService
,
ok
:=
serviceCache
.
get
(
key
)
if
!
ok
{
if
!
ok
{
...
@@ -257,7 +257,7 @@ func (cc *clusterClientCache) processServiceUpdate(cachedService *cachedService,
...
@@ -257,7 +257,7 @@ func (cc *clusterClientCache) processServiceUpdate(cachedService *cachedService,
return
needUpdate
return
needUpdate
}
}
func
(
cc
*
clusterClientCache
)
persistFedServiceUpdate
(
cachedService
*
cachedService
,
fedClient
fed
eration_release_1_4
.
Interface
)
error
{
func
(
cc
*
clusterClientCache
)
persistFedServiceUpdate
(
cachedService
*
cachedService
,
fedClient
fed
clientset
.
Interface
)
error
{
service
:=
cachedService
.
lastState
service
:=
cachedService
.
lastState
glog
.
V
(
5
)
.
Infof
(
"Persist federation service status %s/%s"
,
service
.
Namespace
,
service
.
Name
)
glog
.
V
(
5
)
.
Infof
(
"Persist federation service status %s/%s"
,
service
.
Namespace
,
service
.
Name
)
var
err
error
var
err
error
...
...
federation/pkg/federation-controller/service/servicecontroller.go
View file @
a780db9a
...
@@ -26,13 +26,13 @@ import (
...
@@ -26,13 +26,13 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federationcache
"k8s.io/kubernetes/federation/client/cache"
federationcache
"k8s.io/kubernetes/federation/client/cache"
fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
"k8s.io/kubernetes/federation/pkg/dnsprovider"
"k8s.io/kubernetes/federation/pkg/dnsprovider"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/errors"
v1
"k8s.io/kubernetes/pkg/api/v1"
v1
"k8s.io/kubernetes/pkg/api/v1"
cache
"k8s.io/kubernetes/pkg/client/cache"
cache
"k8s.io/kubernetes/pkg/client/cache"
release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kubeclientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/controller"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
...
@@ -100,7 +100,7 @@ type serviceCache struct {
...
@@ -100,7 +100,7 @@ type serviceCache struct {
type
ServiceController
struct
{
type
ServiceController
struct
{
dns
dnsprovider
.
Interface
dns
dnsprovider
.
Interface
federationClient
fed
eration_release_1_4
.
Interface
federationClient
fed
clientset
.
Interface
federationName
string
federationName
string
zoneName
string
zoneName
string
// each federation should be configured with a single zone (e.g. "mycompany.com")
// each federation should be configured with a single zone (e.g. "mycompany.com")
...
@@ -135,7 +135,7 @@ type ServiceController struct {
...
@@ -135,7 +135,7 @@ type ServiceController struct {
// New returns a new service controller to keep DNS provider service resources
// New returns a new service controller to keep DNS provider service resources
// (like Kubernetes Services and DNS server records for service discovery) in sync with the registry.
// (like Kubernetes Services and DNS server records for service discovery) in sync with the registry.
func
New
(
federationClient
fed
eration_release_1_4
.
Interface
,
dns
dnsprovider
.
Interface
,
federationName
,
zoneName
string
)
*
ServiceController
{
func
New
(
federationClient
fed
clientset
.
Interface
,
dns
dnsprovider
.
Interface
,
federationName
,
zoneName
string
)
*
ServiceController
{
broadcaster
:=
record
.
NewBroadcaster
()
broadcaster
:=
record
.
NewBroadcaster
()
// federationClient event is not supported yet
// federationClient event is not supported yet
// broadcaster.StartRecordingToSink(&unversioned_core.EventSinkImpl{Interface: kubeClient.Core().Events("")})
// broadcaster.StartRecordingToSink(&unversioned_core.EventSinkImpl{Interface: kubeClient.Core().Events("")})
...
@@ -322,7 +322,7 @@ func wantsDNSRecords(service *v1.Service) bool {
...
@@ -322,7 +322,7 @@ func wantsDNSRecords(service *v1.Service) bool {
// processServiceForCluster creates or updates service to all registered running clusters,
// processServiceForCluster creates or updates service to all registered running clusters,
// update DNS records and update the service info with DNS entries to federation apiserver.
// update DNS records and update the service info with DNS entries to federation apiserver.
// the function returns any error caught
// the function returns any error caught
func
(
s
*
ServiceController
)
processServiceForCluster
(
cachedService
*
cachedService
,
clusterName
string
,
service
*
v1
.
Service
,
client
*
release_1_4
.
Clientset
)
error
{
func
(
s
*
ServiceController
)
processServiceForCluster
(
cachedService
*
cachedService
,
clusterName
string
,
service
*
v1
.
Service
,
client
*
kubeclientset
.
Clientset
)
error
{
glog
.
V
(
4
)
.
Infof
(
"Process service %s/%s for cluster %s"
,
service
.
Namespace
,
service
.
Name
,
clusterName
)
glog
.
V
(
4
)
.
Infof
(
"Process service %s/%s for cluster %s"
,
service
.
Namespace
,
service
.
Name
,
clusterName
)
// Create or Update k8s Service
// Create or Update k8s Service
err
:=
s
.
ensureClusterService
(
cachedService
,
clusterName
,
service
,
client
)
err
:=
s
.
ensureClusterService
(
cachedService
,
clusterName
,
service
,
client
)
...
@@ -382,7 +382,7 @@ func (s *ServiceController) deleteFederationService(cachedService *cachedService
...
@@ -382,7 +382,7 @@ func (s *ServiceController) deleteFederationService(cachedService *cachedService
return
nil
,
!
retryable
return
nil
,
!
retryable
}
}
func
(
s
*
ServiceController
)
deleteClusterService
(
clusterName
string
,
cachedService
*
cachedService
,
clientset
*
release_1_4
.
Clientset
)
error
{
func
(
s
*
ServiceController
)
deleteClusterService
(
clusterName
string
,
cachedService
*
cachedService
,
clientset
*
kubeclientset
.
Clientset
)
error
{
service
:=
cachedService
.
lastState
service
:=
cachedService
.
lastState
glog
.
V
(
4
)
.
Infof
(
"Deleting service %s/%s from cluster %s"
,
service
.
Namespace
,
service
.
Name
,
clusterName
)
glog
.
V
(
4
)
.
Infof
(
"Deleting service %s/%s from cluster %s"
,
service
.
Namespace
,
service
.
Name
,
clusterName
)
var
err
error
var
err
error
...
@@ -399,7 +399,7 @@ func (s *ServiceController) deleteClusterService(clusterName string, cachedServi
...
@@ -399,7 +399,7 @@ func (s *ServiceController) deleteClusterService(clusterName string, cachedServi
return
err
return
err
}
}
func
(
s
*
ServiceController
)
ensureClusterService
(
cachedService
*
cachedService
,
clusterName
string
,
service
*
v1
.
Service
,
client
*
release_1_4
.
Clientset
)
error
{
func
(
s
*
ServiceController
)
ensureClusterService
(
cachedService
*
cachedService
,
clusterName
string
,
service
*
v1
.
Service
,
client
*
kubeclientset
.
Clientset
)
error
{
var
err
error
var
err
error
var
needUpdate
bool
var
needUpdate
bool
for
i
:=
0
;
i
<
clientRetryCount
;
i
++
{
for
i
:=
0
;
i
<
clientRetryCount
;
i
++
{
...
...
federation/pkg/federation-controller/util/cluster_util.go
View file @
a780db9a
...
@@ -24,7 +24,7 @@ import (
...
@@ -24,7 +24,7 @@ import (
"github.com/golang/glog"
"github.com/golang/glog"
federation_v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_v1beta1
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/restclient"
client
"k8s.io/kubernetes/pkg/client/unversioned"
client
"k8s.io/kubernetes/pkg/client/unversioned"
...
@@ -133,10 +133,10 @@ var KubeconfigGetterForSecret = func(secretName string) clientcmd.KubeconfigGett
...
@@ -133,10 +133,10 @@ var KubeconfigGetterForSecret = func(secretName string) clientcmd.KubeconfigGett
}
}
// Retruns Clientset for the given cluster.
// Retruns Clientset for the given cluster.
func
GetClientsetForCluster
(
cluster
*
federation_v1beta1
.
Cluster
)
(
*
fed
eration_release_1_4
.
Clientset
,
error
)
{
func
GetClientsetForCluster
(
cluster
*
federation_v1beta1
.
Cluster
)
(
*
fed
clientset
.
Clientset
,
error
)
{
clusterConfig
,
err
:=
BuildClusterConfig
(
cluster
)
clusterConfig
,
err
:=
BuildClusterConfig
(
cluster
)
if
err
!=
nil
&&
clusterConfig
!=
nil
{
if
err
!=
nil
&&
clusterConfig
!=
nil
{
clientset
:=
fed
eration_release_1_4
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
clusterConfig
,
userAgentName
))
clientset
:=
fed
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
clusterConfig
,
userAgentName
))
return
clientset
,
nil
return
clientset
,
nil
}
}
return
nil
,
err
return
nil
,
err
...
...
federation/pkg/federation-controller/util/eventsink/eventsink.go
View file @
a780db9a
...
@@ -17,7 +17,7 @@ limitations under the License.
...
@@ -17,7 +17,7 @@ limitations under the License.
package
eventsink
package
eventsink
import
(
import
(
fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
api
"k8s.io/kubernetes/pkg/api"
api
"k8s.io/kubernetes/pkg/api"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
...
@@ -25,13 +25,13 @@ import (
...
@@ -25,13 +25,13 @@ import (
// Implemnts k8s.io/kubernetes/pkg/client/record.EventSink.
// Implemnts k8s.io/kubernetes/pkg/client/record.EventSink.
type
FederatedEventSink
struct
{
type
FederatedEventSink
struct
{
clientset
fed
eration_release_1_4
.
Interface
clientset
fed
clientset
.
Interface
}
}
// To check if all required functions are implemented.
// To check if all required functions are implemented.
var
_
record
.
EventSink
=
&
FederatedEventSink
{}
var
_
record
.
EventSink
=
&
FederatedEventSink
{}
func
NewFederatedEventSink
(
clientset
fed
eration_release_1_4
.
Interface
)
*
FederatedEventSink
{
func
NewFederatedEventSink
(
clientset
fed
clientset
.
Interface
)
*
FederatedEventSink
{
return
&
FederatedEventSink
{
return
&
FederatedEventSink
{
clientset
:
clientset
,
clientset
:
clientset
,
}
}
...
...
federation/pkg/federation-controller/util/eventsink/eventsink_test.go
View file @
a780db9a
...
@@ -19,7 +19,7 @@ package eventsink
...
@@ -19,7 +19,7 @@ package eventsink
import
(
import
(
"testing"
"testing"
fake_fed
eration_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
/fake"
fake_fed
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
/fake"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
.
"k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
api
"k8s.io/kubernetes/pkg/api"
api
"k8s.io/kubernetes/pkg/api"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
...
@@ -30,7 +30,7 @@ import (
...
@@ -30,7 +30,7 @@ import (
)
)
func
TestEventSink
(
t
*
testing
.
T
)
{
func
TestEventSink
(
t
*
testing
.
T
)
{
fakeFederationClient
:=
&
fake_fed
eration_release_1_4
.
Clientset
{}
fakeFederationClient
:=
&
fake_fed
clientset
.
Clientset
{}
createdChan
:=
make
(
chan
runtime
.
Object
,
100
)
createdChan
:=
make
(
chan
runtime
.
Object
,
100
)
fakeFederationClient
.
AddReactor
(
"create"
,
"events"
,
func
(
action
core
.
Action
)
(
bool
,
runtime
.
Object
,
error
)
{
fakeFederationClient
.
AddReactor
(
"create"
,
"events"
,
func
(
action
core
.
Action
)
(
bool
,
runtime
.
Object
,
error
)
{
createAction
:=
action
.
(
core
.
CreateAction
)
createAction
:=
action
.
(
core
.
CreateAction
)
...
...
federation/pkg/federation-controller/util/federated_informer.go
View file @
a780db9a
...
@@ -23,11 +23,11 @@ import (
...
@@ -23,11 +23,11 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation
_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
"
federation
clientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
"
api
"k8s.io/kubernetes/pkg/api"
api
"k8s.io/kubernetes/pkg/api"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/restclient"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/watch"
"k8s.io/kubernetes/pkg/watch"
...
@@ -72,7 +72,7 @@ type FederatedReadOnlyStore interface {
...
@@ -72,7 +72,7 @@ type FederatedReadOnlyStore interface {
// An interface to access federation members and clients.
// An interface to access federation members and clients.
type
FederationView
interface
{
type
FederationView
interface
{
// GetClientsetForCluster returns a clientset for the cluster, if present.
// GetClientsetForCluster returns a clientset for the cluster, if present.
GetClientsetForCluster
(
clusterName
string
)
(
kube
_release_1_4
.
Interface
,
error
)
GetClientsetForCluster
(
clusterName
string
)
(
kube
clientset
.
Interface
,
error
)
// GetReadyClusers returns all clusters for which the sub-informers are run.
// GetReadyClusers returns all clusters for which the sub-informers are run.
GetReadyClusters
()
([]
*
federation_api
.
Cluster
,
error
)
GetReadyClusters
()
([]
*
federation_api
.
Cluster
,
error
)
...
@@ -106,12 +106,12 @@ type FederatedInformer interface {
...
@@ -106,12 +106,12 @@ type FederatedInformer interface {
type
FederatedInformerForTestOnly
interface
{
type
FederatedInformerForTestOnly
interface
{
FederatedInformer
FederatedInformer
SetClientFactory
(
func
(
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
))
SetClientFactory
(
func
(
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
))
}
}
// A function that should be used to create an informer on the target object. Store should use
// A function that should be used to create an informer on the target object. Store should use
// cache.DeletionHandlingMetaNamespaceKeyFunc as a keying function.
// cache.DeletionHandlingMetaNamespaceKeyFunc as a keying function.
type
TargetInformerFactory
func
(
*
federation_api
.
Cluster
,
kube
_release_1_4
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
type
TargetInformerFactory
func
(
*
federation_api
.
Cluster
,
kube
clientset
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
// A structure with cluster lifecycle handler functions. Cluster is available (and ClusterAvailable is fired)
// A structure with cluster lifecycle handler functions. Cluster is available (and ClusterAvailable is fired)
// when it is created in federated etcd and ready. Cluster becomes unavailable (and ClusterUnavailable is fired)
// when it is created in federated etcd and ready. Cluster becomes unavailable (and ClusterUnavailable is fired)
...
@@ -127,16 +127,16 @@ type ClusterLifecycleHandlerFuncs struct {
...
@@ -127,16 +127,16 @@ type ClusterLifecycleHandlerFuncs struct {
// Builds a FederatedInformer for the given federation client and factory.
// Builds a FederatedInformer for the given federation client and factory.
func
NewFederatedInformer
(
func
NewFederatedInformer
(
federationClient
federation
_release_1_4
.
Interface
,
federationClient
federation
clientset
.
Interface
,
targetInformerFactory
TargetInformerFactory
,
targetInformerFactory
TargetInformerFactory
,
clusterLifecycle
*
ClusterLifecycleHandlerFuncs
)
FederatedInformer
{
clusterLifecycle
*
ClusterLifecycleHandlerFuncs
)
FederatedInformer
{
federatedInformer
:=
&
federatedInformerImpl
{
federatedInformer
:=
&
federatedInformerImpl
{
targetInformerFactory
:
targetInformerFactory
,
targetInformerFactory
:
targetInformerFactory
,
clientFactory
:
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
{
clientFactory
:
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
{
clusterConfig
,
err
:=
BuildClusterConfig
(
cluster
)
clusterConfig
,
err
:=
BuildClusterConfig
(
cluster
)
if
err
==
nil
&&
clusterConfig
!=
nil
{
if
err
==
nil
&&
clusterConfig
!=
nil
{
clientset
:=
kube
_release_1_4
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
clusterConfig
,
userAgentName
))
clientset
:=
kube
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
clusterConfig
,
userAgentName
))
return
clientset
,
nil
return
clientset
,
nil
}
}
return
nil
,
err
return
nil
,
err
...
@@ -255,7 +255,7 @@ type federatedInformerImpl struct {
...
@@ -255,7 +255,7 @@ type federatedInformerImpl struct {
targetInformers
map
[
string
]
informer
targetInformers
map
[
string
]
informer
// A function to build clients.
// A function to build clients.
clientFactory
func
(
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
clientFactory
func
(
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
}
}
type
federatedStoreImpl
struct
{
type
federatedStoreImpl
struct
{
...
@@ -283,7 +283,7 @@ func (f *federatedInformerImpl) Start() {
...
@@ -283,7 +283,7 @@ func (f *federatedInformerImpl) Start() {
go
f
.
clusterInformer
.
controller
.
Run
(
f
.
clusterInformer
.
stopChan
)
go
f
.
clusterInformer
.
controller
.
Run
(
f
.
clusterInformer
.
stopChan
)
}
}
func
(
f
*
federatedInformerImpl
)
SetClientFactory
(
clientFactory
func
(
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
))
{
func
(
f
*
federatedInformerImpl
)
SetClientFactory
(
clientFactory
func
(
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
))
{
f
.
Lock
()
f
.
Lock
()
defer
f
.
Unlock
()
defer
f
.
Unlock
()
...
@@ -291,13 +291,13 @@ func (f *federatedInformerImpl) SetClientFactory(clientFactory func(*federation_
...
@@ -291,13 +291,13 @@ func (f *federatedInformerImpl) SetClientFactory(clientFactory func(*federation_
}
}
// GetClientsetForCluster returns a clientset for the cluster, if present.
// GetClientsetForCluster returns a clientset for the cluster, if present.
func
(
f
*
federatedInformerImpl
)
GetClientsetForCluster
(
clusterName
string
)
(
kube
_release_1_4
.
Interface
,
error
)
{
func
(
f
*
federatedInformerImpl
)
GetClientsetForCluster
(
clusterName
string
)
(
kube
clientset
.
Interface
,
error
)
{
f
.
Lock
()
f
.
Lock
()
defer
f
.
Unlock
()
defer
f
.
Unlock
()
return
f
.
getClientsetForClusterUnlocked
(
clusterName
)
return
f
.
getClientsetForClusterUnlocked
(
clusterName
)
}
}
func
(
f
*
federatedInformerImpl
)
getClientsetForClusterUnlocked
(
clusterName
string
)
(
kube
_release_1_4
.
Interface
,
error
)
{
func
(
f
*
federatedInformerImpl
)
getClientsetForClusterUnlocked
(
clusterName
string
)
(
kube
clientset
.
Interface
,
error
)
{
// No locking needed. Will happen in f.GetCluster.
// No locking needed. Will happen in f.GetCluster.
glog
.
V
(
4
)
.
Infof
(
"Getting clientset for cluster %q"
,
clusterName
)
glog
.
V
(
4
)
.
Infof
(
"Getting clientset for cluster %q"
,
clusterName
)
if
cluster
,
found
,
err
:=
f
.
getReadyClusterUnlocked
(
clusterName
);
found
&&
err
==
nil
{
if
cluster
,
found
,
err
:=
f
.
getReadyClusterUnlocked
(
clusterName
);
found
&&
err
==
nil
{
...
...
federation/pkg/federation-controller/util/federated_informer_test.go
View file @
a780db9a
...
@@ -21,12 +21,12 @@ import (
...
@@ -21,12 +21,12 @@ import (
"time"
"time"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
fake
_federation_release_1_4
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_4
/fake"
fake
federationclientset
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5
/fake"
api
"k8s.io/kubernetes/pkg/api"
api
"k8s.io/kubernetes/pkg/api"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/cache"
"k8s.io/kubernetes/pkg/client/cache"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
fake_kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
/fake"
fake_kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
/fake"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/watch"
"k8s.io/kubernetes/pkg/watch"
...
@@ -37,7 +37,7 @@ import (
...
@@ -37,7 +37,7 @@ import (
// Basic test for Federated Informer. Checks whether the subinformer are added and deleted
// Basic test for Federated Informer. Checks whether the subinformer are added and deleted
// when the corresponding cluster entries appear and disappear from etcd.
// when the corresponding cluster entries appear and disappear from etcd.
func
TestFederatedInformer
(
t
*
testing
.
T
)
{
func
TestFederatedInformer
(
t
*
testing
.
T
)
{
fakeFederationClient
:=
&
fake
_federation_release_1_4
.
Clientset
{}
fakeFederationClient
:=
&
fake
federationclientset
.
Clientset
{}
// Add a single cluster to federation and remove it when needed.
// Add a single cluster to federation and remove it when needed.
cluster
:=
federation_api
.
Cluster
{
cluster
:=
federation_api
.
Cluster
{
...
@@ -63,7 +63,7 @@ func TestFederatedInformer(t *testing.T) {
...
@@ -63,7 +63,7 @@ func TestFederatedInformer(t *testing.T) {
return
true
,
fakeWatch
,
nil
return
true
,
fakeWatch
,
nil
})
})
fakeKubeClient
:=
&
fake_kube
_release_1_4
.
Clientset
{}
fakeKubeClient
:=
&
fake_kube
clientset
.
Clientset
{}
// There is a single service ns1/s1 in cluster mycluster.
// There is a single service ns1/s1 in cluster mycluster.
service
:=
api_v1
.
Service
{
service
:=
api_v1
.
Service
{
ObjectMeta
:
api_v1
.
ObjectMeta
{
ObjectMeta
:
api_v1
.
ObjectMeta
{
...
@@ -78,7 +78,7 @@ func TestFederatedInformer(t *testing.T) {
...
@@ -78,7 +78,7 @@ func TestFederatedInformer(t *testing.T) {
return
true
,
watch
.
NewFake
(),
nil
return
true
,
watch
.
NewFake
(),
nil
})
})
targetInformerFactory
:=
func
(
cluster
*
federation_api
.
Cluster
,
clientset
kube
_release_1_4
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
targetInformerFactory
:=
func
(
cluster
*
federation_api
.
Cluster
,
clientset
kube
clientset
.
Interface
)
(
cache
.
Store
,
cache
.
ControllerInterface
)
{
return
cache
.
NewInformer
(
return
cache
.
NewInformer
(
&
cache
.
ListWatch
{
&
cache
.
ListWatch
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
runtime
.
Object
,
error
)
{
ListFunc
:
func
(
options
api
.
ListOptions
)
(
runtime
.
Object
,
error
)
{
...
@@ -107,7 +107,7 @@ func TestFederatedInformer(t *testing.T) {
...
@@ -107,7 +107,7 @@ func TestFederatedInformer(t *testing.T) {
}
}
informer
:=
NewFederatedInformer
(
fakeFederationClient
,
targetInformerFactory
,
&
lifecycle
)
.
(
*
federatedInformerImpl
)
informer
:=
NewFederatedInformer
(
fakeFederationClient
,
targetInformerFactory
,
&
lifecycle
)
.
(
*
federatedInformerImpl
)
informer
.
clientFactory
=
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
_release_1_4
.
Interface
,
error
)
{
informer
.
clientFactory
=
func
(
cluster
*
federation_api
.
Cluster
)
(
kube
clientset
.
Interface
,
error
)
{
return
fakeKubeClient
,
nil
return
fakeKubeClient
,
nil
}
}
assert
.
NotNil
(
t
,
informer
)
assert
.
NotNil
(
t
,
informer
)
...
...
federation/pkg/federation-controller/util/federated_updater.go
View file @
a780db9a
...
@@ -20,7 +20,7 @@ import (
...
@@ -20,7 +20,7 @@ import (
"fmt"
"fmt"
"time"
"time"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
)
)
...
@@ -52,7 +52,7 @@ type FederatedUpdater interface {
...
@@ -52,7 +52,7 @@ type FederatedUpdater interface {
}
}
// A function that executes some operation using the passed client and object.
// A function that executes some operation using the passed client and object.
type
FederatedOperationHandler
func
(
kube
_release_1_4
.
Interface
,
pkg_runtime
.
Object
)
error
type
FederatedOperationHandler
func
(
kube
clientset
.
Interface
,
pkg_runtime
.
Object
)
error
type
federatedUpdaterImpl
struct
{
type
federatedUpdaterImpl
struct
{
federation
FederationView
federation
FederationView
...
...
federation/pkg/federation-controller/util/federated_updater_test.go
View file @
a780db9a
...
@@ -23,8 +23,8 @@ import (
...
@@ -23,8 +23,8 @@ import (
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
federation_api
"k8s.io/kubernetes/federation/apis/federation/v1beta1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
api_v1
"k8s.io/kubernetes/pkg/api/v1"
kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
"
kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
"
fake_kube
_release_1_4
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_4
/fake"
fake_kube
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5
/fake"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
pkg_runtime
"k8s.io/kubernetes/pkg/runtime"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/assert"
...
@@ -34,8 +34,8 @@ import (
...
@@ -34,8 +34,8 @@ import (
type
fakeFederationView
struct
{
type
fakeFederationView
struct
{
}
}
func
(
f
fakeFederationView
)
GetClientsetForCluster
(
clusterName
string
)
(
kube
_release_1_4
.
Interface
,
error
)
{
func
(
f
fakeFederationView
)
GetClientsetForCluster
(
clusterName
string
)
(
kube
clientset
.
Interface
,
error
)
{
return
&
fake_kube
_release_1_4
.
Clientset
{},
nil
return
&
fake_kube
clientset
.
Clientset
{},
nil
}
}
func
(
f
*
fakeFederationView
)
GetReadyClusters
()
([]
*
federation_api
.
Cluster
,
error
)
{
func
(
f
*
fakeFederationView
)
GetReadyClusters
()
([]
*
federation_api
.
Cluster
,
error
)
{
...
@@ -55,12 +55,12 @@ func TestFederatedUpdaterOK(t *testing.T) {
...
@@ -55,12 +55,12 @@ func TestFederatedUpdaterOK(t *testing.T) {
updateChan
:=
make
(
chan
string
,
5
)
updateChan
:=
make
(
chan
string
,
5
)
updater
:=
NewFederatedUpdater
(
&
fakeFederationView
{},
updater
:=
NewFederatedUpdater
(
&
fakeFederationView
{},
func
(
_
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
_
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
service
:=
obj
.
(
*
api_v1
.
Service
)
service
:=
obj
.
(
*
api_v1
.
Service
)
addChan
<-
service
.
Name
addChan
<-
service
.
Name
return
nil
return
nil
},
},
func
(
_
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
_
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
service
:=
obj
.
(
*
api_v1
.
Service
)
service
:=
obj
.
(
*
api_v1
.
Service
)
updateChan
<-
service
.
Name
updateChan
<-
service
.
Name
return
nil
return
nil
...
@@ -86,7 +86,7 @@ func TestFederatedUpdaterOK(t *testing.T) {
...
@@ -86,7 +86,7 @@ func TestFederatedUpdaterOK(t *testing.T) {
func
TestFederatedUpdaterError
(
t
*
testing
.
T
)
{
func
TestFederatedUpdaterError
(
t
*
testing
.
T
)
{
updater
:=
NewFederatedUpdater
(
&
fakeFederationView
{},
updater
:=
NewFederatedUpdater
(
&
fakeFederationView
{},
func
(
_
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
_
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
return
fmt
.
Errorf
(
"boom"
)
return
fmt
.
Errorf
(
"boom"
)
},
noop
,
noop
)
},
noop
,
noop
)
...
@@ -106,7 +106,7 @@ func TestFederatedUpdaterError(t *testing.T) {
...
@@ -106,7 +106,7 @@ func TestFederatedUpdaterError(t *testing.T) {
func
TestFederatedUpdaterTimeout
(
t
*
testing
.
T
)
{
func
TestFederatedUpdaterTimeout
(
t
*
testing
.
T
)
{
start
:=
time
.
Now
()
start
:=
time
.
Now
()
updater
:=
NewFederatedUpdater
(
&
fakeFederationView
{},
updater
:=
NewFederatedUpdater
(
&
fakeFederationView
{},
func
(
_
kube
_release_1_4
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
func
(
_
kube
clientset
.
Interface
,
obj
pkg_runtime
.
Object
)
error
{
time
.
Sleep
(
time
.
Minute
)
time
.
Sleep
(
time
.
Minute
)
return
nil
return
nil
},
},
...
@@ -136,6 +136,6 @@ func makeService(cluster, name string) *api_v1.Service {
...
@@ -136,6 +136,6 @@ func makeService(cluster, name string) *api_v1.Service {
}
}
}
}
func
noop
(
_
kube
_release_1_4
.
Interface
,
_
pkg_runtime
.
Object
)
error
{
func
noop
(
_
kube
clientset
.
Interface
,
_
pkg_runtime
.
Object
)
error
{
return
nil
return
nil
}
}
pkg/client/clientset_generated/release_1_5/typed/core/v1/fake/fake_pod_expansion.go
View file @
a780db9a
...
@@ -18,6 +18,7 @@ package fake
...
@@ -18,6 +18,7 @@ package fake
import
(
import
(
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
policy
"k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/testing/core"
"k8s.io/kubernetes/pkg/client/testing/core"
)
)
...
@@ -44,3 +45,14 @@ func (c *FakePods) GetLogs(name string, opts *v1.PodLogOptions) *restclient.Requ
...
@@ -44,3 +45,14 @@ func (c *FakePods) GetLogs(name string, opts *v1.PodLogOptions) *restclient.Requ
_
,
_
=
c
.
Fake
.
Invokes
(
action
,
&
v1
.
Pod
{})
_
,
_
=
c
.
Fake
.
Invokes
(
action
,
&
v1
.
Pod
{})
return
&
restclient
.
Request
{}
return
&
restclient
.
Request
{}
}
}
func
(
c
*
FakePods
)
Evict
(
eviction
*
policy
.
Eviction
)
error
{
action
:=
core
.
CreateActionImpl
{}
action
.
Verb
=
"create"
action
.
Resource
=
podsResource
action
.
Subresource
=
"eviction"
action
.
Object
=
eviction
_
,
err
:=
c
.
Fake
.
Invokes
(
action
,
eviction
)
return
err
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment