Skip to content

Commit e86b044

Browse files
authored
*: Revert resource manager micro service code (#9738)
ref #9737 Signed-off-by: okjiang <819421878@qq.com>
1 parent ec8e27c commit e86b044

File tree

12 files changed

+735
-3
lines changed

12 files changed

+735
-3
lines changed

cmd/pd-server/main.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929

3030
"github.com/tikv/pd/pkg/dashboard"
3131
"github.com/tikv/pd/pkg/errs"
32+
resource_manager "github.com/tikv/pd/pkg/mcs/resourcemanager/server"
3233
router "github.com/tikv/pd/pkg/mcs/router/server"
3334
scheduling "github.com/tikv/pd/pkg/mcs/scheduling/server"
3435
tso "github.com/tikv/pd/pkg/mcs/tso/server"
@@ -49,6 +50,7 @@ import (
4950
const (
5051
apiMode = "api"
5152
tsoMode = "tso"
53+
rmMode = "resource-manager"
5254
serviceModeEnv = "PD_SERVICE_MODE"
5355
)
5456

@@ -73,9 +75,10 @@ func main() {
7375
func NewServiceCommand() *cobra.Command {
7476
cmd := &cobra.Command{
7577
Use: "services <mode>",
76-
Short: "Run services, for example, tso, scheduling, router",
78+
Short: "Run services, for example, tso, scheduling, router, resource-manager",
7779
}
7880
cmd.AddCommand(NewTSOServiceCommand())
81+
cmd.AddCommand(NewResourceManagerServiceCommand())
7982
cmd.AddCommand(NewSchedulingServiceCommand())
8083
cmd.AddCommand(NewRouterServiceCommand())
8184
cmd.AddCommand(NewPDServiceCommand())
@@ -124,6 +127,27 @@ func NewSchedulingServiceCommand() *cobra.Command {
124127
return cmd
125128
}
126129

130+
// NewResourceManagerServiceCommand returns the resource manager service command.
131+
func NewResourceManagerServiceCommand() *cobra.Command {
132+
cmd := &cobra.Command{
133+
Use: rmMode,
134+
Short: "Run the resource manager service",
135+
Run: resource_manager.CreateServerWrapper,
136+
}
137+
cmd.Flags().StringP("name", "", "", "human-readable name for this resource manager member")
138+
cmd.Flags().BoolP("version", "V", false, "print version information and exit")
139+
cmd.Flags().StringP("config", "", "", "config file")
140+
cmd.Flags().StringP("backend-endpoints", "", "", "url for etcd client")
141+
cmd.Flags().StringP("listen-addr", "", "", "listen address for resource management service")
142+
cmd.Flags().StringP("advertise-listen-addr", "", "", "advertise urls for listen address (default '${listen-addr}')")
143+
cmd.Flags().StringP("cacert", "", "", "path of file that contains list of trusted TLS CAs")
144+
cmd.Flags().StringP("cert", "", "", "path of file that contains X509 certificate in PEM format")
145+
cmd.Flags().StringP("key", "", "", "path of file that contains X509 key in PEM format")
146+
cmd.Flags().StringP("log-level", "L", "", "log level: debug, info, warn, error, fatal (default 'info')")
147+
cmd.Flags().StringP("log-file", "", "", "log file path")
148+
return cmd
149+
}
150+
127151
// NewRouterServiceCommand returns the router service command.
128152
func NewRouterServiceCommand() *cobra.Command {
129153
cmd := &cobra.Command{

pkg/mcs/discovery/discover.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func Discover(cli *clientv3.Client, serviceName string) ([]string, error) {
4848
// GetMSMembers returns all the members of the specified service name.
4949
func GetMSMembers(serviceName string, client *clientv3.Client) ([]ServiceRegistryEntry, error) {
5050
switch serviceName {
51-
case constant.TSOServiceName, constant.SchedulingServiceName:
51+
case constant.TSOServiceName, constant.SchedulingServiceName, constant.ResourceManagerServiceName:
5252
servicePath := keypath.ServicePath(serviceName)
5353
resps, err := kv.NewSlowLogTxn(client).Then(clientv3.OpGet(servicePath, clientv3.WithPrefix())).Commit()
5454
if err != nil {

pkg/mcs/resourcemanager/server/apis/v1/api.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ import (
2626
"github.com/gin-gonic/gin"
2727

2828
rmpb "github.com/pingcap/kvproto/pkg/resource_manager"
29+
"github.com/pingcap/log"
2930

3031
"github.com/tikv/pd/pkg/errs"
3132
rmserver "github.com/tikv/pd/pkg/mcs/resourcemanager/server"
3233
"github.com/tikv/pd/pkg/mcs/utils"
3334
"github.com/tikv/pd/pkg/utils/apiutil"
3435
"github.com/tikv/pd/pkg/utils/apiutil/multiservicesapi"
36+
"github.com/tikv/pd/pkg/utils/logutil"
3537
"github.com/tikv/pd/pkg/utils/reflectutil"
3638
)
3739

@@ -84,10 +86,17 @@ func NewService(srv *rmserver.Service) *Service {
8486
apiHandlerEngine: apiHandlerEngine,
8587
root: endpoint,
8688
}
89+
s.RegisterAdminRouter()
8790
s.RegisterRouter()
8891
return s
8992
}
9093

94+
// RegisterAdminRouter registers the router of the TSO admin handler.
95+
func (s *Service) RegisterAdminRouter() {
96+
router := s.root.Group("admin")
97+
router.PUT("/log", changeLogLevel)
98+
}
99+
91100
// RegisterRouter registers the router of the service.
92101
func (s *Service) RegisterRouter() {
93102
configEndpoint := s.root.Group("/config")
@@ -112,6 +121,22 @@ func (s *Service) handler() http.Handler {
112121
})
113122
}
114123

124+
func changeLogLevel(c *gin.Context) {
125+
svr := c.MustGet(multiservicesapi.ServiceContextKey).(*rmserver.Service)
126+
var level string
127+
if err := c.Bind(&level); err != nil {
128+
c.String(http.StatusBadRequest, err.Error())
129+
return
130+
}
131+
132+
if err := svr.SetLogLevel(level); err != nil {
133+
c.String(http.StatusBadRequest, err.Error())
134+
return
135+
}
136+
log.SetLevel(logutil.StringToZapLogLevel(level))
137+
c.String(http.StatusOK, "The log level is updated.")
138+
}
139+
115140
// postResourceGroup
116141
//
117142
// @Tags ResourceManager

pkg/mcs/resourcemanager/server/config.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525

2626
"github.com/pingcap/failpoint"
2727
"github.com/pingcap/log"
28+
"github.com/pingcap/metering_sdk/config"
2829

2930
"github.com/tikv/pd/pkg/mcs/utils/constant"
3031
"github.com/tikv/pd/pkg/utils/configutil"
@@ -88,6 +89,8 @@ type Config struct {
8889
LeaderLease int64 `toml:"lease" json:"lease"`
8990

9091
Controller ControllerConfig `toml:"controller" json:"controller"`
92+
93+
Metering config.MeteringConfig `toml:"metering" json:"metering"`
9194
}
9295

9396
// ControllerConfig is the configuration of the resource manager controller which includes some option for client needed.

pkg/mcs/resourcemanager/server/grpc_service.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ func (dummyRestService) ServeHTTP(w http.ResponseWriter, _ *http.Request) {
5050

5151
// Service is the gRPC service for resource manager.
5252
type Service struct {
53-
ctx context.Context
53+
ctx context.Context
54+
*Server
5455
manager *Manager
5556
// settings
5657
}

0 commit comments

Comments
 (0)