Switch serviceaccounts controller to generated shared informers
This commit is contained in:
@@ -23,12 +23,10 @@ import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
core "k8s.io/client-go/testing"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
"k8s.io/kubernetes/pkg/api/v1"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake"
|
||||
"k8s.io/kubernetes/pkg/client/legacylisters"
|
||||
informers "k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions"
|
||||
"k8s.io/kubernetes/pkg/controller"
|
||||
"k8s.io/kubernetes/pkg/controller/informers"
|
||||
)
|
||||
|
||||
type serverResponse struct {
|
||||
@@ -159,17 +157,25 @@ func TestServiceAccountCreation(t *testing.T) {
|
||||
|
||||
for k, tc := range testcases {
|
||||
client := fake.NewSimpleClientset(defaultServiceAccount, managedServiceAccount)
|
||||
informers := informers.NewSharedInformerFactory(fake.NewSimpleClientset(), nil, controller.NoResyncPeriodFunc())
|
||||
informers := informers.NewSharedInformerFactory(fake.NewSimpleClientset(), controller.NoResyncPeriodFunc())
|
||||
options := DefaultServiceAccountsControllerOptions()
|
||||
options.ServiceAccounts = []v1.ServiceAccount{
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: defaultName}},
|
||||
{ObjectMeta: metav1.ObjectMeta{Name: managedName}},
|
||||
}
|
||||
controller := NewServiceAccountsController(informers.ServiceAccounts(), informers.Namespaces(), client, options)
|
||||
controller.saLister = &listers.StoreToServiceAccountLister{Indexer: cache.NewIndexer(cache.DeletionHandlingMetaNamespaceKeyFunc, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc})}
|
||||
controller.nsLister = &listers.IndexerToNamespaceLister{Indexer: cache.NewIndexer(cache.DeletionHandlingMetaNamespaceKeyFunc, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc})}
|
||||
controller.saSynced = alwaysReady
|
||||
controller.nsSynced = alwaysReady
|
||||
saInformer := informers.Core().V1().ServiceAccounts()
|
||||
nsInformer := informers.Core().V1().Namespaces()
|
||||
controller := NewServiceAccountsController(
|
||||
saInformer,
|
||||
nsInformer,
|
||||
client,
|
||||
options,
|
||||
)
|
||||
controller.saListerSynced = alwaysReady
|
||||
controller.nsListerSynced = alwaysReady
|
||||
|
||||
saStore := saInformer.Informer().GetStore()
|
||||
nsStore := nsInformer.Informer().GetStore()
|
||||
|
||||
syncCalls := make(chan struct{})
|
||||
controller.syncHandler = func(key string) error {
|
||||
@@ -186,18 +192,18 @@ func TestServiceAccountCreation(t *testing.T) {
|
||||
go controller.Run(1, stopCh)
|
||||
|
||||
if tc.ExistingNamespace != nil {
|
||||
controller.nsLister.Add(tc.ExistingNamespace)
|
||||
nsStore.Add(tc.ExistingNamespace)
|
||||
}
|
||||
for _, s := range tc.ExistingServiceAccounts {
|
||||
controller.saLister.Indexer.Add(s)
|
||||
saStore.Add(s)
|
||||
}
|
||||
|
||||
if tc.AddedNamespace != nil {
|
||||
controller.nsLister.Add(tc.AddedNamespace)
|
||||
nsStore.Add(tc.AddedNamespace)
|
||||
controller.namespaceAdded(tc.AddedNamespace)
|
||||
}
|
||||
if tc.UpdatedNamespace != nil {
|
||||
controller.nsLister.Add(tc.UpdatedNamespace)
|
||||
nsStore.Add(tc.UpdatedNamespace)
|
||||
controller.namespaceUpdated(nil, tc.UpdatedNamespace)
|
||||
}
|
||||
if tc.DeletedServiceAccount != nil {
|
||||
|
Reference in New Issue
Block a user