forked from JointCloud/pcm-coordinator
57 lines
1.6 KiB
Go
57 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
vmpb "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_vm/gen/idl"
|
|
vmserver "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_vm/server"
|
|
"code.gitlink.org.cn/JCCE/PCM.git/common/config"
|
|
"code.gitlink.org.cn/JCCE/PCM.git/common/global"
|
|
"code.gitlink.org.cn/JCCE/PCM.git/common/server"
|
|
"code.gitlink.org.cn/JCCE/PCM.git/common/tenanter"
|
|
"flag"
|
|
"github.com/golang/glog"
|
|
"github.com/pkg/errors"
|
|
"go.uber.org/zap"
|
|
"google.golang.org/grpc"
|
|
"log"
|
|
)
|
|
|
|
func main() {
|
|
var configFile string
|
|
flag.StringVar(&configFile, "conf", "configs/tenanter.yaml", "tenanter.yaml")
|
|
flag.Parse()
|
|
defer glog.Flush()
|
|
|
|
if err := tenanter.LoadCloudConfigsFromFile(configFile); err != nil {
|
|
if !errors.Is(err, tenanter.ErrLoadTenanterFileEmpty) {
|
|
glog.Fatalf("LoadCloudConfigsFromFile error %+v", err)
|
|
}
|
|
glog.Warningf("LoadCloudConfigsFromFile empty file path %s", configFile)
|
|
}
|
|
|
|
// 初始化配置以及数据库
|
|
config.InitConfig()
|
|
// 新建一个zap logger实例
|
|
logger, err := zap.NewDevelopment()
|
|
if err != nil {
|
|
log.Fatalf("cannot create logger: %v", err)
|
|
}
|
|
if err != nil {
|
|
logger.Fatal("cannot open private key", zap.Error(err))
|
|
}
|
|
if err != nil {
|
|
logger.Fatal("cannot read private key", zap.Error(err))
|
|
}
|
|
if err != nil {
|
|
logger.Fatal("cannot parse private key", zap.Error(err))
|
|
}
|
|
// logger.Sugar().Fatal 直接可以少几行判错的代码
|
|
logger.Sugar().Fatal(server.RunGRPCServer(&server.GRPCConfig{
|
|
Name: "pcm_vm",
|
|
Addr: global.S.VmInfo.Address,
|
|
RegisterFunc: func(g *grpc.Server) {
|
|
vmpb.RegisterEcsServiceServer(g, &vmserver.Server{})
|
|
},
|
|
Logger: logger,
|
|
}))
|
|
}
|