opened
CheneyDing
username_0
<!--
Thank you for working on PD! Please read PD's [CONTRIBUTING](https://github.com/pingcap/pd/blob/master/CONTRIBUTING.md) document **BEFORE** filing this PR.
-->

### What problem does this PR solve? <!--add the issue link with summary if it exists-->
https://github.com/pingcap/pd/issues/1787
proposal: pluggable PD scheduler
issue
created
lhy1024
username_1
would you like to address the problem that ci reported?
comment
created
lhy1024
username_1
/run-all-tests
comment
created
rleungx
username_2
Mostly looks good, but can we export `baseScheduler`? I think we don't need to implement `base_scheduler.go` when writing a scheduler plugin. Furthermore, the structure of the plugin directory can be simplified, such as:
```
.
└── scheduler_example
    ├── evict_leader.go
    └── Makefile
```
comment
created
rleungx
username_2
CI failed due to some unused functions:
```
plugin/scheduler_example/evict_leader.go:79:6: `SchedulerType` is unused (deadcode)
func SchedulerType() string {
     ^
plugin/scheduler_example/evict_leader.go:84:6: `SchedulerArgs` is unused (deadcode)
func SchedulerArgs() []string {
     ^
```
comment
created
CheneyDing
username_0
we need these two functions，because we need parameters to create the scheduler,
comment
created
rleungx
username_2
I think you can try it to disable warnings: https://github.com/golangci/golangci-lint#nolint
comment
created
nolouch
username_3
I will help to add an integration Testing after this PR. PTAL @username_2 @username_1
comment
created
rleungx
username_2
PTAL @shafreeck
comment
created
nolouch
username_3
/merge
comment