Resource manager: add service lister and remove unused lock. (#559)
* Remove unused lock from the resource manager. * Add service lister to the resource manager. This change adds a service lister in the resource manager. This will be used to set the service env vars. Also added a List method to the resource manager and a simple test to confirm it's a pass through.
This commit is contained in:
@@ -54,3 +54,13 @@ func FakeSecret(namespace, name string, data map[string]string) *corev1.Secret {
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
// FakeService returns a service with the specified namespace and name.
|
||||
func FakeService(namespace, name string) *corev1.Service {
|
||||
return &corev1.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Namespace: namespace,
|
||||
Name: name,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,22 +17,24 @@ import (
|
||||
func FakeResourceManager(objects ...runtime.Object) *manager.ResourceManager {
|
||||
// Create a fake Kubernetes client that will list the specified objects.
|
||||
kubeClient := fake.NewSimpleClientset(objects...)
|
||||
// Create a shared informer factory from where we can grab informers and listers for pods, configmaps and secrets.
|
||||
// Create a shared informer factory from where we can grab informers and listers for pods, configmaps, secrets and services.
|
||||
kubeInformerFactory := informers.NewSharedInformerFactory(kubeClient, 30*time.Second)
|
||||
// Grab informers for pods, configmaps and secrets.
|
||||
pInformer := kubeInformerFactory.Core().V1().Pods()
|
||||
mInformer := kubeInformerFactory.Core().V1().ConfigMaps()
|
||||
sInformer := kubeInformerFactory.Core().V1().Secrets()
|
||||
svcInformer := kubeInformerFactory.Core().V1().Services()
|
||||
// Start all the required informers.
|
||||
go pInformer.Informer().Run(wait.NeverStop)
|
||||
go mInformer.Informer().Run(wait.NeverStop)
|
||||
go sInformer.Informer().Run(wait.NeverStop)
|
||||
go svcInformer.Informer().Run(wait.NeverStop)
|
||||
// Wait for the caches to be synced.
|
||||
if !cache.WaitForCacheSync(wait.NeverStop, pInformer.Informer().HasSynced, mInformer.Informer().HasSynced, sInformer.Informer().HasSynced) {
|
||||
if !cache.WaitForCacheSync(wait.NeverStop, pInformer.Informer().HasSynced, mInformer.Informer().HasSynced, sInformer.Informer().HasSynced, svcInformer.Informer().HasSynced) {
|
||||
panic("failed to wait for caches to be synced")
|
||||
}
|
||||
// Create a new instance of the resource manager using the listers for pods, configmaps and secrets.
|
||||
r, err := manager.NewResourceManager(pInformer.Lister(), sInformer.Lister(), mInformer.Lister())
|
||||
r, err := manager.NewResourceManager(pInformer.Lister(), sInformer.Lister(), mInformer.Lister(), svcInformer.Lister())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user