Skip to content

Commit e6d8fb0

Browse files
authored
bump grpc to 1.60.1, reconnect idle connections (#3147)
Signed-off-by: Joe Lanford <[email protected]>
1 parent 6b6e3fb commit e6d8fb0

File tree

151 files changed

+10580
-4407
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+10580
-4407
lines changed

go.mod

+7-9
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ require (
3636
github.com/spf13/pflag v1.0.5
3737
github.com/stretchr/testify v1.8.4
3838
golang.org/x/net v0.17.0
39-
golang.org/x/sync v0.3.0
39+
golang.org/x/sync v0.4.0
4040
golang.org/x/time v0.3.0
41-
google.golang.org/grpc v1.59.0
41+
google.golang.org/grpc v1.60.1
4242
gopkg.in/yaml.v2 v2.4.0
4343
helm.sh/helm/v3 v3.12.2
4444
k8s.io/api v0.27.7
@@ -57,8 +57,6 @@ require (
5757
sigs.k8s.io/kind v0.20.0
5858
)
5959

60-
replace google.golang.org/grpc => google.golang.org/grpc v1.40.0
61-
6260
require (
6361
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
6462
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
@@ -218,17 +216,17 @@ require (
218216
golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63 // indirect
219217
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
220218
golang.org/x/mod v0.12.0 // indirect
221-
golang.org/x/oauth2 v0.12.0 // indirect
219+
golang.org/x/oauth2 v0.13.0 // indirect
222220
golang.org/x/sys v0.14.0 // indirect
223221
golang.org/x/term v0.13.0 // indirect
224222
golang.org/x/text v0.13.0 // indirect
225223
golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846 // indirect
226224
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
227225
gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect
228-
google.golang.org/appengine v1.6.7 // indirect
229-
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
230-
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
231-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
226+
google.golang.org/appengine v1.6.8 // indirect
227+
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect
228+
google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97 // indirect
229+
google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 // indirect
232230
google.golang.org/protobuf v1.31.0 // indirect
233231
gopkg.in/inf.v0 v0.9.1 // indirect
234232
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect

go.sum

+57-18
Large diffs are not rendered by default.

pkg/controller/registry/grpc/source.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import (
99
"time"
1010

1111
"github.com/operator-framework/operator-registry/pkg/client"
12-
1312
"github.com/sirupsen/logrus"
1413
"golang.org/x/net/http/httpproxy"
1514
"golang.org/x/net/proxy"
1615
"google.golang.org/grpc"
1716
"google.golang.org/grpc/connectivity"
17+
"google.golang.org/grpc/credentials/insecure"
18+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1819

1920
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry"
20-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2121
)
2222

2323
type SourceMeta struct {
@@ -147,7 +147,7 @@ func getEnvAny(names ...string) string {
147147
}
148148

149149
func grpcConnection(address string) (*grpc.ClientConn, error) {
150-
dialOptions := []grpc.DialOption{grpc.WithInsecure()}
150+
dialOptions := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}
151151
proxyURL, err := grpcProxyURL(address)
152152
if err != nil {
153153
return nil, err
@@ -228,6 +228,12 @@ func (s *SourceStore) watch(ctx context.Context, key registry.CatalogKey, source
228228
s.sources[key] = *src
229229
s.sourcesLock.Unlock()
230230

231+
// Always try to reconnect. If the connection is already connected, this is a no-op.
232+
//
233+
// This function is non-blocking. Therefore, when it returns we'll still return IDLE
234+
// as the state (we'll see further state changes in subsequent iterations of the loop).
235+
source.Conn.Connect()
236+
231237
// notify subscriber
232238
s.notify <- SourceState{Key: key, State: newState}
233239
}

pkg/package-server/client/fakes/fake_list_bundles_client.go

+12-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/package-server/client/fakes/fake_list_packages_client.go

+12-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/package-server/provider/registry_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"github.com/sirupsen/logrus"
2323
"github.com/stretchr/testify/require"
2424
"google.golang.org/grpc"
25+
"google.golang.org/grpc/credentials/insecure"
2526
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2627
"k8s.io/apimachinery/pkg/labels"
2728
"k8s.io/apimachinery/pkg/runtime"
@@ -2066,7 +2067,7 @@ func TestRegistryProviderListLabels(t *testing.T) {
20662067
}
20672068

20682069
func newTestRegistryClient(t *testing.T, catsrc *operatorsv1alpha1.CatalogSource) *registryClient {
2069-
conn, err := grpc.Dial(address+catsrc.Status.RegistryServiceStatus.Port, grpc.WithInsecure())
2070+
conn, err := grpc.Dial(address+catsrc.Status.RegistryServiceStatus.Port, grpc.WithTransportCredentials(insecure.NewCredentials()))
20702071
require.NoError(t, err, "could not set up test grpc connection")
20712072
return newRegistryClient(catsrc, conn)
20722073
}

test/e2e/util.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,13 @@ import (
1212
"github.com/ghodss/yaml"
1313
. "github.com/onsi/ginkgo/v2"
1414
. "github.com/onsi/gomega"
15+
gtypes "github.com/onsi/gomega/types"
16+
operatorsv1 "github.com/operator-framework/api/pkg/operators/v1"
17+
operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
1518
"github.com/stretchr/testify/require"
1619
"google.golang.org/grpc"
20+
grpcinsecure "google.golang.org/grpc/credentials/insecure"
21+
"google.golang.org/grpc/health/grpc_health_v1"
1722
appsv1 "k8s.io/api/apps/v1"
1823
corev1 "k8s.io/api/core/v1"
1924
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -34,9 +39,6 @@ import (
3439
"k8s.io/client-go/rest"
3540
k8scontrollerclient "sigs.k8s.io/controller-runtime/pkg/client"
3641

37-
gtypes "github.com/onsi/gomega/types"
38-
operatorsv1 "github.com/operator-framework/api/pkg/operators/v1"
39-
operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
4042
"github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/clientset/versioned"
4143
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/bundle"
4244
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/install"
@@ -45,7 +47,6 @@ import (
4547
"github.com/operator-framework/operator-lifecycle-manager/pkg/lib/operatorclient"
4648
pmversioned "github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/client/clientset/versioned"
4749
"github.com/operator-framework/operator-lifecycle-manager/test/e2e/ctx"
48-
"google.golang.org/grpc/health/grpc_health_v1"
4950
)
5051

5152
const (
@@ -330,7 +331,7 @@ func registryPodHealthy(address string) bool {
330331
return true
331332
}
332333

333-
conn, err := grpc.Dial(address, grpc.WithInsecure())
334+
conn, err := grpc.Dial(address, grpc.WithTransportCredentials(grpcinsecure.NewCredentials()))
334335
if err != nil {
335336
fmt.Printf("error connecting: %s\n", err.Error())
336337
return false

0 commit comments

Comments
 (0)