pcm-coordinator/adaptor/pcm_vm/main.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,
}))
}