Skip to content

Commit aed6393

Browse files
author
OpenShift Bot
authored
Merge pull request #14562 from smarterclayton/remove_imagestream_legacy
Merged by openshift-bot
2 parents e166740 + 78917fc commit aed6393

24 files changed

+139
-327
lines changed

pkg/cmd/server/kubernetes/master/master_config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ func buildControllerManagerServer(masterConfig configapi.MasterConfig) (*cmapp.C
334334
componentconfig.GroupResource{Group: "user.openshift.io", Resource: "groups"},
335335
componentconfig.GroupResource{Group: "user.openshift.io", Resource: "identities"},
336336
componentconfig.GroupResource{Group: "user.openshift.io", Resource: "users"},
337+
componentconfig.GroupResource{Group: "image.openshift.io", Resource: "images"},
337338

338339
// virtual resource
339340
componentconfig.GroupResource{Group: "project.openshift.io", Resource: "projects"},

pkg/cmd/server/origin/controller/apps.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (c *DeploymentConfigControllerConfig) RunController(ctx ControllerContext)
6262
}
6363

6464
go deployconfigcontroller.NewDeploymentConfigController(
65-
ctx.DeprecatedOpenshiftInformers.DeploymentConfigs().Informer(),
65+
ctx.AppInformers.Apps().InternalVersion().DeploymentConfigs().Informer(),
6666
ctx.DeprecatedOpenshiftInformers.InternalKubernetesInformers().Core().InternalVersion().ReplicationControllers(),
6767
deprecatedOcDcClient,
6868
internalDcKubeClient,
@@ -82,9 +82,9 @@ func (c *DeploymentTriggerControllerConfig) RunController(ctx ControllerContext)
8282
}
8383

8484
go triggercontroller.NewDeploymentTriggerController(
85-
ctx.DeprecatedOpenshiftInformers.DeploymentConfigs().Informer(),
85+
ctx.AppInformers.Apps().InternalVersion().DeploymentConfigs().Informer(),
8686
ctx.DeprecatedOpenshiftInformers.InternalKubernetesInformers().Core().InternalVersion().ReplicationControllers().Informer(),
87-
ctx.DeprecatedOpenshiftInformers.ImageStreams().Informer(),
87+
ctx.ImageInformers.Image().InternalVersion().ImageStreams().Informer(),
8888
deprecatedOcTriggerClient,
8989
c.Codec,
9090
).Run(5, ctx.Stop)

pkg/cmd/server/origin/controller/interfaces.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import (
99

1010
osclient "github.com/openshift/origin/pkg/client"
1111
"github.com/openshift/origin/pkg/controller/shared"
12+
appinformer "github.com/openshift/origin/pkg/deploy/generated/informers/internalversion"
13+
imageinformer "github.com/openshift/origin/pkg/image/generated/informers/internalversion"
1214
templateinformer "github.com/openshift/origin/pkg/template/generated/informers/internalversion"
1315
templateclient "github.com/openshift/origin/pkg/template/generated/internalclientset"
1416
)
@@ -19,6 +21,8 @@ type ControllerContext struct {
1921
// ClientBuilder will provide a client for this controller to use
2022
ClientBuilder ControllerClientBuilder
2123

24+
AppInformers appinformer.SharedInformerFactory
25+
ImageInformers imageinformer.SharedInformerFactory
2226
TemplateInformers templateinformer.SharedInformerFactory
2327

2428
DeprecatedOpenshiftInformers shared.InformerFactory

pkg/cmd/server/origin/master_config.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,13 @@ import (
8080
"github.com/openshift/origin/pkg/cmd/util/variable"
8181
"github.com/openshift/origin/pkg/controller"
8282
"github.com/openshift/origin/pkg/controller/shared"
83+
appinformer "github.com/openshift/origin/pkg/deploy/generated/informers/internalversion"
84+
appclient "github.com/openshift/origin/pkg/deploy/generated/internalclientset"
8385
imageadmission "github.com/openshift/origin/pkg/image/admission"
8486
imagepolicy "github.com/openshift/origin/pkg/image/admission/imagepolicy/api"
8587
imageapi "github.com/openshift/origin/pkg/image/api"
88+
imageinformer "github.com/openshift/origin/pkg/image/generated/informers/internalversion"
89+
imageclient "github.com/openshift/origin/pkg/image/generated/internalclientset"
8690
ingressadmission "github.com/openshift/origin/pkg/ingress/admission"
8791
accesstokenregistry "github.com/openshift/origin/pkg/oauth/registry/oauthaccesstoken"
8892
accesstokenetcd "github.com/openshift/origin/pkg/oauth/registry/oauthaccesstoken/etcd"
@@ -183,7 +187,9 @@ type MasterConfig struct {
183187
// from here so that we only end up with a single cache of objects
184188
Informers shared.InformerFactory
185189

190+
AppInformers appinformer.SharedInformerFactory
186191
AuthorizationInformers authorizationinformer.SharedInformerFactory
192+
ImageInformers imageinformer.SharedInformerFactory
187193
TemplateInformers templateinformer.SharedInformerFactory
188194
}
189195

@@ -216,10 +222,18 @@ func BuildMasterConfig(options configapi.MasterConfig) (*MasterConfig, error) {
216222
if err != nil {
217223
return nil, err
218224
}
225+
appClient, err := appclient.NewForConfig(privilegedLoopbackClientConfig)
226+
if err != nil {
227+
return nil, err
228+
}
219229
authorizationClient, err := authorizationclient.NewForConfig(privilegedLoopbackClientConfig)
220230
if err != nil {
221231
return nil, err
222232
}
233+
imageClient, err := imageclient.NewForConfig(privilegedLoopbackClientConfig)
234+
if err != nil {
235+
return nil, err
236+
}
223237
templateClient, err := templateclient.NewForConfig(privilegedLoopbackClientConfig)
224238
if err != nil {
225239
return nil, err
@@ -234,7 +248,9 @@ func BuildMasterConfig(options configapi.MasterConfig) (*MasterConfig, error) {
234248
const defaultInformerResyncPeriod = 10 * time.Minute
235249
internalkubeInformerFactory := kinternalinformers.NewSharedInformerFactory(privilegedLoopbackKubeClientsetInternal, defaultInformerResyncPeriod)
236250
externalkubeInformerFactory := kinformers.NewSharedInformerFactory(privilegedLoopbackKubeClientsetExternal, defaultInformerResyncPeriod)
251+
appInformers := appinformer.NewSharedInformerFactory(appClient, defaultInformerResyncPeriod)
237252
authorizationInformers := authorizationinformer.NewSharedInformerFactory(authorizationClient, defaultInformerResyncPeriod)
253+
imageInformers := imageinformer.NewSharedInformerFactory(imageClient, defaultInformerResyncPeriod)
238254
templateInformers := templateinformer.NewSharedInformerFactory(templateClient, defaultInformerResyncPeriod)
239255
informerFactory := shared.NewInformerFactory(internalkubeInformerFactory, externalkubeInformerFactory, privilegedLoopbackKubeClientsetInternal, privilegedLoopbackOpenShiftClient, customListerWatchers, defaultInformerResyncPeriod)
240256

@@ -270,7 +286,7 @@ func BuildMasterConfig(options configapi.MasterConfig) (*MasterConfig, error) {
270286

271287
kubeletClientConfig := configapi.GetKubeletClientConfig(options)
272288

273-
quotaRegistry := quota.NewAllResourceQuotaRegistryForAdmission(informerFactory, privilegedLoopbackOpenShiftClient, privilegedLoopbackKubeClientsetExternal)
289+
quotaRegistry := quota.NewAllResourceQuotaRegistryForAdmission(informerFactory, imageInformers.Image().InternalVersion().ImageStreams(), privilegedLoopbackOpenShiftClient, privilegedLoopbackKubeClientsetExternal)
274290
ruleResolver := rulevalidation.NewDefaultRuleResolver(
275291
informerFactory.Policies().Lister(),
276292
informerFactory.PolicyBindings().Lister(),
@@ -362,8 +378,11 @@ func BuildMasterConfig(options configapi.MasterConfig) (*MasterConfig, error) {
362378
PrivilegedLoopbackOpenShiftClient: privilegedLoopbackOpenShiftClient,
363379
PrivilegedLoopbackKubernetesClientsetInternal: privilegedLoopbackKubeClientsetInternal,
364380
PrivilegedLoopbackKubernetesClientsetExternal: privilegedLoopbackKubeClientsetExternal,
381+
365382
Informers: informerFactory,
383+
AppInformers: appInformers,
366384
AuthorizationInformers: authorizationInformers,
385+
ImageInformers: imageInformers,
367386
TemplateInformers: templateInformers,
368387
}
369388

pkg/cmd/server/origin/run_components.go

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"github.com/openshift/origin/pkg/authorization/controller/authorizationsync"
2929
buildclient "github.com/openshift/origin/pkg/build/client"
3030
osclient "github.com/openshift/origin/pkg/client"
31-
oscache "github.com/openshift/origin/pkg/client/cache"
3231
configapi "github.com/openshift/origin/pkg/cmd/server/api"
3332
"github.com/openshift/origin/pkg/cmd/server/crypto"
3433
cmdutil "github.com/openshift/origin/pkg/cmd/util"
@@ -130,15 +129,6 @@ func (c *MasterConfig) RunProjectCache() {
130129
go c.ProjectCache.Run(utilwait.NeverStop)
131130
}
132131

133-
// TODO: remove when generated informers exist
134-
type temporaryLister struct {
135-
*oscache.StoreToImageStreamLister
136-
}
137-
138-
func (l temporaryLister) ImageStreams(namespace string) imagetriggercontroller.ImageStreamNamespaceLister {
139-
return l.StoreToImageStreamLister.ImageStreams(namespace)
140-
}
141-
142132
type podSpecUpdater struct {
143133
kclient kclientsetexternal.Interface
144134
}
@@ -163,8 +153,7 @@ func (u podSpecUpdater) Update(obj runtime.Object) error {
163153
}
164154

165155
func (c *MasterConfig) RunImageTriggerController() {
166-
streamInformer := c.Informers.ImageStreams().Informer()
167-
lister := temporaryLister{c.Informers.ImageStreams().Lister()}
156+
informer := c.ImageInformers.Image().InternalVersion().ImageStreams()
168157

169158
oclient, _, kclient := c.ImageTriggerControllerClients()
170159
updater := podSpecUpdater{kclient}
@@ -174,8 +163,8 @@ func (c *MasterConfig) RunImageTriggerController() {
174163
sources := []imagetriggercontroller.TriggerSource{
175164
{
176165
Resource: schema.GroupResource{Group: "apps.openshift.io", Resource: "deploymentconfigs"},
177-
Informer: c.Informers.DeploymentConfigs().Informer(),
178-
Store: c.Informers.DeploymentConfigs().Indexer(),
166+
Informer: c.AppInformers.Apps().InternalVersion().DeploymentConfigs().Informer(),
167+
Store: c.AppInformers.Apps().InternalVersion().DeploymentConfigs().Informer().GetIndexer(),
179168
TriggerFn: triggerdeploymentconfigs.NewDeploymentConfigTriggerIndexer,
180169
Reactor: &triggerdeploymentconfigs.DeploymentConfigReactor{Client: oclient},
181170
},
@@ -228,8 +217,7 @@ func (c *MasterConfig) RunImageTriggerController() {
228217

229218
trigger := imagetriggercontroller.NewTriggerController(
230219
broadcaster,
231-
streamInformer,
232-
lister,
220+
informer,
233221
sources...,
234222
)
235223
go trigger.Run(5, utilwait.NeverStop)
@@ -271,8 +259,8 @@ func (c *MasterConfig) RunServiceServingCertController(client kclientsetinternal
271259

272260
// RunImageImportController starts the image import trigger controller process.
273261
func (c *MasterConfig) RunImageImportController() {
274-
controller := imagecontroller.NewImageStreamController(c.ImageImportControllerClient(), c.Informers.ImageStreams())
275-
scheduledController := imagecontroller.NewScheduledImageStreamController(c.ImageImportControllerClient(), c.Informers.ImageStreams(), imagecontroller.ScheduledImageStreamControllerOptions{
262+
controller := imagecontroller.NewImageStreamController(c.ImageImportControllerClient(), c.ImageInformers.Image().InternalVersion().ImageStreams())
263+
scheduledController := imagecontroller.NewScheduledImageStreamController(c.ImageImportControllerClient(), c.ImageInformers.Image().InternalVersion().ImageStreams(), imagecontroller.ScheduledImageStreamControllerOptions{
276264
Resync: time.Duration(c.Options.ImagePolicyConfig.ScheduledImageImportMinimumIntervalSeconds) * time.Second,
277265

278266
Enabled: !c.Options.ImagePolicyConfig.DisableScheduledImport,
@@ -368,14 +356,14 @@ func (c *MasterConfig) RunResourceQuotaManager(cm *cmapp.CMServer) {
368356
}
369357

370358
osClient, _, kClientExternal := c.ResourceQuotaManagerClients()
371-
resourceQuotaRegistry := quota.NewAllResourceQuotaRegistry(c.Informers, osClient, kClientExternal)
359+
resourceQuotaRegistry := quota.NewAllResourceQuotaRegistry(c.Informers, c.ImageInformers.Image().InternalVersion().ImageStreams(), osClient, kClientExternal)
372360
resourceQuotaControllerOptions := &kresourcequota.ResourceQuotaControllerOptions{
373361
KubeClient: kClientExternal,
374362
ResourceQuotaInformer: c.Informers.KubernetesInformers().Core().V1().ResourceQuotas(),
375363
ResyncPeriod: controller.StaticResyncPeriodFunc(resourceQuotaSyncPeriod),
376364
Registry: resourceQuotaRegistry,
377365
GroupKindsToReplenish: quota.AllEvaluatedGroupKinds,
378-
ControllerFactory: quotacontroller.NewAllResourceReplenishmentControllerFactory(c.Informers, osClient),
366+
ControllerFactory: quotacontroller.NewAllResourceReplenishmentControllerFactory(c.Informers, c.ImageInformers.Image().InternalVersion().ImageStreams(), osClient),
379367
ReplenishmentResyncPeriod: replenishmentSyncPeriodFunc,
380368
}
381369
go kresourcequota.NewResourceQuotaController(resourceQuotaControllerOptions).Run(concurrentResourceQuotaSyncs, utilwait.NeverStop)
@@ -391,7 +379,7 @@ func (c *MasterConfig) RunClusterQuotaMappingController() {
391379

392380
func (c *MasterConfig) RunClusterQuotaReconciliationController() {
393381
osClient, _, kClientExternal := c.ResourceQuotaManagerClients()
394-
resourceQuotaRegistry := quota.NewAllResourceQuotaRegistry(c.Informers, osClient, kClientExternal)
382+
resourceQuotaRegistry := quota.NewAllResourceQuotaRegistry(c.Informers, c.ImageInformers.Image().InternalVersion().ImageStreams(), osClient, kClientExternal)
395383
groupKindsToReplenish := quota.AllEvaluatedGroupKinds
396384

397385
options := clusterquotareconciliation.ClusterQuotaReconcilationControllerOptions{
@@ -401,7 +389,7 @@ func (c *MasterConfig) RunClusterQuotaReconciliationController() {
401389

402390
Registry: resourceQuotaRegistry,
403391
ResyncPeriod: defaultResourceQuotaSyncPeriod,
404-
ControllerFactory: quotacontroller.NewAllResourceReplenishmentControllerFactory(c.Informers, osClient),
392+
ControllerFactory: quotacontroller.NewAllResourceReplenishmentControllerFactory(c.Informers, c.ImageInformers.Image().InternalVersion().ImageStreams(), osClient),
405393
ReplenishmentResyncPeriod: controller.StaticResyncPeriodFunc(defaultReplenishmentSyncPeriod),
406394
GroupKindsToReplenish: groupKindsToReplenish,
407395
}

pkg/cmd/server/start/start_master.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,14 +461,18 @@ func (m *Master) Start() error {
461461
openshiftConfig.Informers.KubernetesInformers().Start(utilwait.NeverStop)
462462
openshiftConfig.Informers.Start(utilwait.NeverStop)
463463
openshiftConfig.Informers.StartCore(utilwait.NeverStop)
464+
openshiftConfig.AppInformers.Start(utilwait.NeverStop)
464465
openshiftConfig.AuthorizationInformers.Start(utilwait.NeverStop)
466+
openshiftConfig.ImageInformers.Start(utilwait.NeverStop)
465467
openshiftConfig.TemplateInformers.Start(utilwait.NeverStop)
466468
}()
467469
} else {
468470
openshiftConfig.Informers.InternalKubernetesInformers().Start(utilwait.NeverStop)
469471
openshiftConfig.Informers.KubernetesInformers().Start(utilwait.NeverStop)
470472
openshiftConfig.Informers.Start(utilwait.NeverStop)
473+
openshiftConfig.AppInformers.Start(utilwait.NeverStop)
471474
openshiftConfig.AuthorizationInformers.Start(utilwait.NeverStop)
475+
openshiftConfig.ImageInformers.Start(utilwait.NeverStop)
472476
openshiftConfig.TemplateInformers.Start(utilwait.NeverStop)
473477
}
474478

@@ -659,6 +663,8 @@ func startControllers(oc *origin.MasterConfig, kc *kubernetes.MasterConfig) erro
659663
Namespace: bootstrappolicy.DefaultOpenShiftInfraNamespace,
660664
},
661665
},
666+
AppInformers: oc.AppInformers,
667+
ImageInformers: oc.ImageInformers,
662668
TemplateInformers: oc.TemplateInformers,
663669
DeprecatedOpenshiftInformers: oc.Informers,
664670
Stop: utilwait.NeverStop,
@@ -703,11 +709,17 @@ func startControllers(oc *origin.MasterConfig, kc *kubernetes.MasterConfig) erro
703709
// use our existing internal informers to satisfy the generic informer requests (which don't require strong
704710
// types).
705711
genericInternalResourceInformerFunc(func(resource schema.GroupVersionResource) (kinformers.GenericInformer, error) {
706-
return oc.TemplateInformers.ForResource(resource)
712+
return oc.AppInformers.ForResource(resource)
707713
}),
708714
genericInternalResourceInformerFunc(func(resource schema.GroupVersionResource) (kinformers.GenericInformer, error) {
709715
return oc.AuthorizationInformers.ForResource(resource)
710716
}),
717+
genericInternalResourceInformerFunc(func(resource schema.GroupVersionResource) (kinformers.GenericInformer, error) {
718+
return oc.ImageInformers.ForResource(resource)
719+
}),
720+
genericInternalResourceInformerFunc(func(resource schema.GroupVersionResource) (kinformers.GenericInformer, error) {
721+
return oc.TemplateInformers.ForResource(resource)
722+
}),
711723
oc.Informers,
712724
},
713725
},
@@ -794,7 +806,6 @@ func startControllers(oc *origin.MasterConfig, kc *kubernetes.MasterConfig) erro
794806

795807
glog.Infof("Started Kubernetes Controllers")
796808
openshiftControllerContext.Stop = controllerContext.Stop
797-
798809
openshiftControllerInitializers, err := oc.NewOpenshiftControllerInitializers()
799810
if err != nil {
800811
return err

pkg/controller/shared/deploy_informers.go

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)