Skip to content

Commit 414ead1

Browse files
Merge pull request #1008 from ecordell/grpc-update
Bug 1745626: Update GRPC libs
2 parents 3fe25c4 + fdb582f commit 414ead1

File tree

32 files changed

+5843
-337
lines changed

32 files changed

+5843
-337
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ require (
5555
go.uber.org/zap v1.10.0 // indirect
5656
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4
5757
gonum.org/v1/gonum v0.0.0-20190710053202-4340aa3071a0 // indirect
58-
google.golang.org/grpc v1.22.0
58+
google.golang.org/grpc v1.23.0
5959
k8s.io/api v0.0.0-20190717022910-653c86b0609b
6060
k8s.io/apiextensions-apiserver v0.0.0-20181204003618-e419c5771cdc
6161
k8s.io/apimachinery v0.0.0-20190717022731-0bb8574e0887

go.sum

Lines changed: 4 additions & 38 deletions
Large diffs are not rendered by default.

pkg/controller/operators/catalog/operator.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
rbacv1 "k8s.io/api/rbac/v1"
1616
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
1717
v1beta1ext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
18-
validation "k8s.io/apiextensions-apiserver/pkg/apiserver/validation"
18+
"k8s.io/apiextensions-apiserver/pkg/apiserver/validation"
1919
extinf "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions"
2020
k8serrors "k8s.io/apimachinery/pkg/api/errors"
2121
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -30,6 +30,7 @@ import (
3030
"k8s.io/client-go/util/workqueue"
3131

3232
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry/grpc"
33+
sharedtime "github.com/operator-framework/operator-lifecycle-manager/pkg/lib/time"
3334

3435
"github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/reference"
3536
"github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1"
@@ -77,7 +78,7 @@ type Operator struct {
7778
nsResolveQueue workqueue.RateLimitingInterface
7879
namespace string
7980
sources *grpc.SourceStore
80-
sourcesLastUpdate metav1.Time
81+
sourcesLastUpdate sharedtime.SharedTime
8182
resolver resolver.Resolver
8283
reconciler reconciler.RegistryReconcilerFactory
8384
csvProvidedAPIsIndexer map[string]cache.Indexer
@@ -332,7 +333,7 @@ func (o *Operator) now() metav1.Time {
332333
}
333334

334335
func (o *Operator) syncSourceState(state grpc.SourceState) {
335-
o.sourcesLastUpdate = o.now()
336+
o.sourcesLastUpdate.Set(o.now().Time)
336337

337338
o.logger.Infof("state.Key.Namespace=%s state.Key.Name=%s state.State=%s", state.Key.Namespace, state.Key.Name, state.State.String())
338339

@@ -467,7 +468,7 @@ func (o *Operator) syncConfigMap(logger *logrus.Entry, in *v1alpha1.CatalogSourc
467468
out.SetError(v1alpha1.CatalogSourceConfigMapError, syncError)
468469
return
469470
}
470-
471+
471472
logger.Debug("adopted configmap")
472473
}
473474

@@ -541,8 +542,8 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
541542
// update operator's view of sources
542543
now := o.now()
543544
address := in.Address()
544-
545-
connectFunc := func() (source *grpc.SourceMeta, connErr error){
545+
546+
connectFunc := func() (source *grpc.SourceMeta, connErr error) {
546547
newSource, err := o.sources.Add(sourceKey, address)
547548
if err != nil {
548549
connErr = fmt.Errorf("couldn't connect to registry - %v", err)
@@ -560,10 +561,10 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
560561

561562
updateConnectionStateFunc := func(out *v1alpha1.CatalogSource, source *grpc.SourceMeta) {
562563
out.Status.GRPCConnectionState = &v1alpha1.GRPCConnectionState{
563-
Address: source.Address,
564+
Address: source.Address,
564565
LastObservedState: source.ConnectionState.String(),
565-
LastConnectTime: source.LastConnect,
566-
}
566+
LastConnectTime: source.LastConnect,
567+
}
567568
}
568569

569570
source := o.sources.GetMeta(sourceKey)
@@ -573,7 +574,7 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
573574
out.SetError(v1alpha1.CatalogSourceRegistryServerError, syncError)
574575
return
575576
}
576-
577+
577578
// Set connection status and return.
578579
updateConnectionStateFunc(out, source)
579580
return
@@ -593,7 +594,7 @@ func (o *Operator) syncConnection(logger *logrus.Entry, in *v1alpha1.CatalogSour
593594
}
594595

595596
// connection is already good, but we need to update the sync time
596-
if out.Status.GRPCConnectionState != nil && out.Status.GRPCConnectionState.LastConnectTime.Before(&o.sourcesLastUpdate) {
597+
if out.Status.GRPCConnectionState != nil && o.sourcesLastUpdate.After(out.Status.GRPCConnectionState.LastConnectTime.Time) {
597598
// Set connection status and return.
598599
out.Status.GRPCConnectionState.LastConnectTime = now
599600
out.Status.GRPCConnectionState.LastObservedState = source.ConnectionState.String()
@@ -617,7 +618,7 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
617618
logger.Debug("syncing catsrc")
618619

619620
syncFunc := func(in *v1alpha1.CatalogSource, chain []CatalogSourceSyncFunc) (out *v1alpha1.CatalogSource, syncErr error) {
620-
out = in
621+
out = in
621622
for _, syncFunc := range chain {
622623
cont := false
623624
out, cont, syncErr = syncFunc(logger, in)
@@ -628,13 +629,13 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
628629
if !cont {
629630
return
630631
}
631-
632+
632633
in = out
633634
}
634635

635636
return
636637
}
637-
638+
638639
equalFunc := func(a, b *v1alpha1.CatalogSourceStatus) bool {
639640
return reflect.DeepEqual(a, b)
640641
}
@@ -648,7 +649,7 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
648649

649650
out := latest.DeepCopy()
650651
out.Status = catsrc.Status
651-
652+
652653
if _, err := o.client.OperatorsV1alpha1().CatalogSources(out.GetNamespace()).UpdateStatus(out); err != nil {
653654
logger.Errorf("error while setting catalogsource status condition - %v", err)
654655
return err
@@ -663,7 +664,6 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
663664
o.syncConnection,
664665
}
665666

666-
667667
in := catsrc.DeepCopy()
668668
in.SetError("", nil)
669669

@@ -797,7 +797,7 @@ func (o *Operator) syncSubscriptions(obj interface{}) error {
797797

798798
func (o *Operator) nothingToUpdate(logger *logrus.Entry, sub *v1alpha1.Subscription) bool {
799799
// Only sync if catalog has been updated since last sync time
800-
if o.sourcesLastUpdate.Before(&sub.Status.LastUpdated) && sub.Status.State != v1alpha1.SubscriptionStateNone && sub.Status.State != v1alpha1.SubscriptionStateUpgradeAvailable {
800+
if o.sourcesLastUpdate.Before(sub.Status.LastUpdated.Time) && sub.Status.State != v1alpha1.SubscriptionStateNone && sub.Status.State != v1alpha1.SubscriptionStateUpgradeAvailable {
801801
logger.Debugf("skipping update: no new updates to catalog since last sync at %s", sub.Status.LastUpdated.String())
802802
return true
803803
}

0 commit comments

Comments
 (0)