Skip to content

Commit

Permalink
Bug 1782318 - add to scheme in main.go instead of remote watch (#477)
Browse files Browse the repository at this point in the history
DeploymentConfig and ImageStream APIs need to be added to the scheme
in main.go rather than in remote watch. When adding them via remote watch
there's a period of time right at startup where they are unavailable
and trigger reconcile failures.
  • Loading branch information
sseago committed Apr 2, 2020
1 parent eebbc91 commit 9712873
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 22 deletions.
16 changes: 13 additions & 3 deletions cmd/manager/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ import (
"github.com/konveyor/mig-controller/pkg/apis"
"github.com/konveyor/mig-controller/pkg/compat/conversion"
"github.com/konveyor/mig-controller/pkg/controller"
"github.com/konveyor/mig-controller/pkg/imagescheme"
"github.com/konveyor/mig-controller/pkg/webhook"
appsv1 "github.com/openshift/api/apps/v1"
"github.com/prometheus/client_golang/prometheus/promhttp"
velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
Expand Down Expand Up @@ -64,15 +66,23 @@ func main() {
// Setup Scheme for all resources
log.Info("setting up scheme")
if err := apis.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "unable add K8s APIs to scheme")
log.Error(err, "unable to add K8s APIs to scheme")
os.Exit(1)
}
if err := velerov1.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "unable add Velero APIs to scheme")
log.Error(err, "unable to add Velero APIs to scheme")
os.Exit(1)
}
if err := imagescheme.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "unable to add OpenShift image APIs to scheme")
os.Exit(1)
}
if err := appsv1.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "unable to add OpenShift apps APIs to scheme")
os.Exit(1)
}
if err := clusterregv1alpha1.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "unable add Cluster Registry APIs to scheme")
log.Error(err, "unable to add Cluster Registry APIs to scheme")
os.Exit(1)
}
if err := conversion.RegisterConversions(mgr.GetScheme()); err != nil {
Expand Down
19 changes: 0 additions & 19 deletions pkg/controller/migcluster/remote_watch.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ package migcluster

import (
"github.com/konveyor/mig-controller/pkg/controller/remotewatcher"
"github.com/konveyor/mig-controller/pkg/imagescheme"
"github.com/konveyor/mig-controller/pkg/remote"
appsv1 "github.com/openshift/api/apps/v1"
velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/event"
"sigs.k8s.io/controller-runtime/pkg/handler"
Expand All @@ -41,22 +38,6 @@ func StartRemoteWatch(r *ReconcileMigCluster, config remote.ManagerConfig) error
return err
}

log.Info("[rWatch] Adding Velero to scheme")
if err := velerov1.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "[rWatch] Unable add Velero APIs to scheme")
return err
}
log.Info("[rWatch] Adding OpenShift imagestream to scheme")
if err := imagescheme.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "[rWatch] Unable add OpenShift image APIs to scheme")
return err
}
log.Info("[rWatch] Adding OpenShift deploymentconfig to scheme")
if err := appsv1.AddToScheme(mgr.GetScheme()); err != nil {
log.Error(err, "[rWatch] Unable add OpenShift apps APIs to scheme")
return err
}

// Parent controller watches for events from forwardChannel.
log.Info("[rWatch] Creating forwardChannel")
forwardChannel := make(chan event.GenericEvent)
Expand Down

0 comments on commit 9712873

Please sign in to comment.