From 2b250e651291723b79df5eefb97ea43d33d014c2 Mon Sep 17 00:00:00 2001 From: Alex Demidoff Date: Fri, 1 Dec 2023 00:49:49 +0000 Subject: [PATCH] Merge branch 'main' into v3 --- .mockery.yaml | 3 + api/serverpb/server.pb.go | 66 ++++++++++--------- api/serverpb/server_grpc.pb.go | 12 +++- managed/cmd/pmm-managed/main.go | 6 +- managed/models/database.go | 1 + managed/services/management/dump/deps.go | 2 - .../management/dump/mock_dump_service_test.go | 14 +++- managed/services/server/server.go | 1 + 8 files changed, 67 insertions(+), 38 deletions(-) diff --git a/.mockery.yaml b/.mockery.yaml index 3d5df0ff44..eae9c79b83 100644 --- a/.mockery.yaml +++ b/.mockery.yaml @@ -57,6 +57,9 @@ packages: scheduleService: removalService: pbmPITRService: + github.com/percona/pmm/managed/services/management/dump: + interfaces: + dumpService: github.com/percona/pmm/managed/services/qan: interfaces: qanCollectorClient: diff --git a/api/serverpb/server.pb.go b/api/serverpb/server.pb.go index 693e7d7479..77f7c74da6 100644 --- a/api/serverpb/server.pb.go +++ b/api/serverpb/server.pb.go @@ -7,6 +7,9 @@ package serverpb import ( + reflect "reflect" + sync "sync" + _ "github.com/envoyproxy/protoc-gen-validate/validate" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" @@ -14,8 +17,6 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" - reflect "reflect" - sync "sync" ) const ( @@ -1999,35 +2000,38 @@ func file_serverpb_server_proto_rawDescGZIP() []byte { return file_serverpb_server_proto_rawDescData } -var file_serverpb_server_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_serverpb_server_proto_msgTypes = make([]protoimpl.MessageInfo, 22) -var file_serverpb_server_proto_goTypes = []interface{}{ - (DistributionMethod)(0), // 0: server.DistributionMethod - (*VersionInfo)(nil), // 1: server.VersionInfo - (*VersionRequest)(nil), // 2: server.VersionRequest - (*VersionResponse)(nil), // 3: server.VersionResponse - (*ReadinessRequest)(nil), // 4: server.ReadinessRequest - (*ReadinessResponse)(nil), // 5: server.ReadinessResponse - (*LeaderHealthCheckRequest)(nil), // 6: server.LeaderHealthCheckRequest - (*LeaderHealthCheckResponse)(nil), // 7: server.LeaderHealthCheckResponse - (*CheckUpdatesRequest)(nil), // 8: server.CheckUpdatesRequest - (*CheckUpdatesResponse)(nil), // 9: server.CheckUpdatesResponse - (*StartUpdateRequest)(nil), // 10: server.StartUpdateRequest - (*StartUpdateResponse)(nil), // 11: server.StartUpdateResponse - (*UpdateStatusRequest)(nil), // 12: server.UpdateStatusRequest - (*UpdateStatusResponse)(nil), // 13: server.UpdateStatusResponse - (*MetricsResolutions)(nil), // 14: server.MetricsResolutions - (*STTCheckIntervals)(nil), // 15: server.STTCheckIntervals - (*Settings)(nil), // 16: server.Settings - (*GetSettingsRequest)(nil), // 17: server.GetSettingsRequest - (*GetSettingsResponse)(nil), // 18: server.GetSettingsResponse - (*ChangeSettingsRequest)(nil), // 19: server.ChangeSettingsRequest - (*ChangeSettingsResponse)(nil), // 20: server.ChangeSettingsResponse - (*AWSInstanceCheckRequest)(nil), // 21: server.AWSInstanceCheckRequest - (*AWSInstanceCheckResponse)(nil), // 22: server.AWSInstanceCheckResponse - (*timestamppb.Timestamp)(nil), // 23: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 24: google.protobuf.Duration -} +var ( + file_serverpb_server_proto_enumTypes = make([]protoimpl.EnumInfo, 1) + file_serverpb_server_proto_msgTypes = make([]protoimpl.MessageInfo, 22) + file_serverpb_server_proto_goTypes = []interface{}{ + (DistributionMethod)(0), // 0: server.DistributionMethod + (*VersionInfo)(nil), // 1: server.VersionInfo + (*VersionRequest)(nil), // 2: server.VersionRequest + (*VersionResponse)(nil), // 3: server.VersionResponse + (*ReadinessRequest)(nil), // 4: server.ReadinessRequest + (*ReadinessResponse)(nil), // 5: server.ReadinessResponse + (*LeaderHealthCheckRequest)(nil), // 6: server.LeaderHealthCheckRequest + (*LeaderHealthCheckResponse)(nil), // 7: server.LeaderHealthCheckResponse + (*CheckUpdatesRequest)(nil), // 8: server.CheckUpdatesRequest + (*CheckUpdatesResponse)(nil), // 9: server.CheckUpdatesResponse + (*StartUpdateRequest)(nil), // 10: server.StartUpdateRequest + (*StartUpdateResponse)(nil), // 11: server.StartUpdateResponse + (*UpdateStatusRequest)(nil), // 12: server.UpdateStatusRequest + (*UpdateStatusResponse)(nil), // 13: server.UpdateStatusResponse + (*MetricsResolutions)(nil), // 14: server.MetricsResolutions + (*STTCheckIntervals)(nil), // 15: server.STTCheckIntervals + (*Settings)(nil), // 16: server.Settings + (*GetSettingsRequest)(nil), // 17: server.GetSettingsRequest + (*GetSettingsResponse)(nil), // 18: server.GetSettingsResponse + (*ChangeSettingsRequest)(nil), // 19: server.ChangeSettingsRequest + (*ChangeSettingsResponse)(nil), // 20: server.ChangeSettingsResponse + (*AWSInstanceCheckRequest)(nil), // 21: server.AWSInstanceCheckRequest + (*AWSInstanceCheckResponse)(nil), // 22: server.AWSInstanceCheckResponse + (*timestamppb.Timestamp)(nil), // 23: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 24: google.protobuf.Duration + } +) + var file_serverpb_server_proto_depIdxs = []int32{ 23, // 0: server.VersionInfo.timestamp:type_name -> google.protobuf.Timestamp 1, // 1: server.VersionResponse.server:type_name -> server.VersionInfo diff --git a/api/serverpb/server_grpc.pb.go b/api/serverpb/server_grpc.pb.go index cd1ad1406f..9da34a96d2 100644 --- a/api/serverpb/server_grpc.pb.go +++ b/api/serverpb/server_grpc.pb.go @@ -8,6 +8,7 @@ package serverpb import ( context "context" + grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -171,33 +172,40 @@ type ServerServer interface { } // UnimplementedServerServer must be embedded to have forward compatible implementations. -type UnimplementedServerServer struct { -} +type UnimplementedServerServer struct{} func (UnimplementedServerServer) Version(context.Context, *VersionRequest) (*VersionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Version not implemented") } + func (UnimplementedServerServer) Readiness(context.Context, *ReadinessRequest) (*ReadinessResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Readiness not implemented") } + func (UnimplementedServerServer) LeaderHealthCheck(context.Context, *LeaderHealthCheckRequest) (*LeaderHealthCheckResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method LeaderHealthCheck not implemented") } + func (UnimplementedServerServer) CheckUpdates(context.Context, *CheckUpdatesRequest) (*CheckUpdatesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckUpdates not implemented") } + func (UnimplementedServerServer) StartUpdate(context.Context, *StartUpdateRequest) (*StartUpdateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StartUpdate not implemented") } + func (UnimplementedServerServer) UpdateStatus(context.Context, *UpdateStatusRequest) (*UpdateStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateStatus not implemented") } + func (UnimplementedServerServer) GetSettings(context.Context, *GetSettingsRequest) (*GetSettingsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetSettings not implemented") } + func (UnimplementedServerServer) ChangeSettings(context.Context, *ChangeSettingsRequest) (*ChangeSettingsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeSettings not implemented") } + func (UnimplementedServerServer) AWSInstanceCheck(context.Context, *AWSInstanceCheckRequest) (*AWSInstanceCheckResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AWSInstanceCheck not implemented") } diff --git a/managed/cmd/pmm-managed/main.go b/managed/cmd/pmm-managed/main.go index 2269e0e65b..d935c7fa74 100644 --- a/managed/cmd/pmm-managed/main.go +++ b/managed/cmd/pmm-managed/main.go @@ -982,6 +982,8 @@ func main() { //nolint:cyclop,maintidx schedulerService := scheduler.New(db, backupService) versionCache := versioncache.New(db, versioner) + dumpService := dump.New(db) + serverParams := &server.Params{ DB: db, VMDB: vmdb, @@ -1154,7 +1156,6 @@ func main() { //nolint:cyclop,maintidx versionCache: versionCache, vmalert: vmalert, vmClient: &vmClient, - vmalert: vmalert, vmdb: vmdb, }) }() @@ -1176,7 +1177,8 @@ func main() { //nolint:cyclop,maintidx haService.AddLeaderService(ha.NewContextService("cleaner", func(ctx context.Context) error { cleaner.Run(ctx, cleanInterval, cleanOlderThan) - }() + return nil + })) wg.Add(1) go func() { diff --git a/managed/models/database.go b/managed/models/database.go index f8dba90418..bfefbdec13 100644 --- a/managed/models/database.go +++ b/managed/models/database.go @@ -948,6 +948,7 @@ var databaseSchema = [][]string{ FOREIGN KEY (dump_id) REFERENCES dumps (id) ON DELETE CASCADE, PRIMARY KEY (dump_id, chunk_id) )`, + }, 100: { `DROP TABLE kubernetes_clusters`, }, diff --git a/managed/services/management/dump/deps.go b/managed/services/management/dump/deps.go index b774f32065..2fab853bff 100644 --- a/managed/services/management/dump/deps.go +++ b/managed/services/management/dump/deps.go @@ -17,8 +17,6 @@ package dump import "github.com/percona/pmm/managed/services/dump" -//go:generate ../../../../bin/mockery --name=dumpService --case=snake --inpackage --testonly - type dumpService interface { StartDump(params *dump.Params) (string, error) DeleteDump(dumpID string) error diff --git a/managed/services/management/dump/mock_dump_service_test.go b/managed/services/management/dump/mock_dump_service_test.go index 051bfa8db8..137a00f8e6 100644 --- a/managed/services/management/dump/mock_dump_service_test.go +++ b/managed/services/management/dump/mock_dump_service_test.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.36.0. DO NOT EDIT. +// Code generated by mockery. DO NOT EDIT. package dump @@ -17,6 +17,10 @@ type mockDumpService struct { func (_m *mockDumpService) DeleteDump(dumpID string) error { ret := _m.Called(dumpID) + if len(ret) == 0 { + panic("no return value specified for DeleteDump") + } + var r0 error if rf, ok := ret.Get(0).(func(string) error); ok { r0 = rf(dumpID) @@ -31,6 +35,10 @@ func (_m *mockDumpService) DeleteDump(dumpID string) error { func (_m *mockDumpService) GetFilePathsForDumps(dumpIDs []string) (map[string]string, error) { ret := _m.Called(dumpIDs) + if len(ret) == 0 { + panic("no return value specified for GetFilePathsForDumps") + } + var r0 map[string]string var r1 error if rf, ok := ret.Get(0).(func([]string) (map[string]string, error)); ok { @@ -57,6 +65,10 @@ func (_m *mockDumpService) GetFilePathsForDumps(dumpIDs []string) (map[string]st func (_m *mockDumpService) StartDump(params *servicesdump.Params) (string, error) { ret := _m.Called(params) + if len(ret) == 0 { + panic("no return value specified for StartDump") + } + var r0 string var r1 error if rf, ok := ret.Get(0).(func(*servicesdump.Params) (string, error)); ok { diff --git a/managed/services/server/server.go b/managed/services/server/server.go index 62beecec5c..b7d2d87af2 100644 --- a/managed/services/server/server.go +++ b/managed/services/server/server.go @@ -60,6 +60,7 @@ type Server struct { telemetryService telemetryService awsInstanceChecker *AWSInstanceChecker grafanaClient grafanaClient + haService haService l *logrus.Entry