return error in NewManagerServer func (#335)
Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
parent
155ee02a54
commit
a1fed34ac1
|
|
@ -1,9 +1,12 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
"d7y.io/dragonfly/v2/manager/apis/v2/handler"
|
"d7y.io/dragonfly/v2/manager/apis/v2/handler"
|
||||||
"d7y.io/dragonfly/v2/manager/config"
|
"d7y.io/dragonfly/v2/manager/config"
|
||||||
"d7y.io/dragonfly/v2/manager/server/service"
|
"d7y.io/dragonfly/v2/manager/server/service"
|
||||||
|
logger "d7y.io/dragonfly/v2/pkg/dflog"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
swaggerFiles "github.com/swaggo/files"
|
swaggerFiles "github.com/swaggo/files"
|
||||||
ginSwagger "github.com/swaggo/gin-swagger"
|
ginSwagger "github.com/swaggo/gin-swagger"
|
||||||
|
|
@ -27,7 +30,12 @@ import (
|
||||||
// @host localhost:8080
|
// @host localhost:8080
|
||||||
// @BasePath /api/v2
|
// @BasePath /api/v2
|
||||||
func main() {
|
func main() {
|
||||||
server := service.NewManagerServer(config.New())
|
server, err := service.NewManagerServer(config.New())
|
||||||
|
if err != nil {
|
||||||
|
logger.Error(err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
router := gin.New()
|
router := gin.New()
|
||||||
handler := handler.NewHandler(server)
|
handler := handler.NewHandler(server)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
|
@ -31,7 +32,6 @@ import (
|
||||||
|
|
||||||
// manager server rpc
|
// manager server rpc
|
||||||
_ "d7y.io/dragonfly/v2/pkg/rpc/manager/server"
|
_ "d7y.io/dragonfly/v2/pkg/rpc/manager/server"
|
||||||
"github.com/pkg/errors"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
|
|
@ -42,24 +42,25 @@ type Server struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(cfg *config.Config) (*Server, error) {
|
func New(cfg *config.Config) (*Server, error) {
|
||||||
if ms := service.NewManagerServer(cfg); ms != nil {
|
ms, err := service.NewManagerServer(cfg)
|
||||||
router, err := InitRouter(ms)
|
if err != nil {
|
||||||
if err != nil {
|
return nil, fmt.Errorf("Failed to create manager server: %s", err)
|
||||||
return nil, err
|
}
|
||||||
}
|
router, err := InitRouter(ms)
|
||||||
|
if err != nil {
|
||||||
return &Server{
|
return nil, err
|
||||||
cfg: cfg,
|
|
||||||
ms: ms,
|
|
||||||
httpServer: &http.Server{
|
|
||||||
Addr: ":8080",
|
|
||||||
Handler: router,
|
|
||||||
},
|
|
||||||
stop: make(chan struct{}),
|
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, errors.New("failed to create manager server")
|
return &Server{
|
||||||
|
cfg: cfg,
|
||||||
|
ms: ms,
|
||||||
|
httpServer: &http.Server{
|
||||||
|
Addr: ":8080",
|
||||||
|
Handler: router,
|
||||||
|
},
|
||||||
|
stop: make(chan struct{}),
|
||||||
|
}, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) Serve() error {
|
func (s *Server) Serve() error {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ type ManagerServer struct {
|
||||||
redisClient *dc.RedisClient
|
redisClient *dc.RedisClient
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewManagerServer(cfg *config.Config) *ManagerServer {
|
func NewManagerServer(cfg *config.Config) (*ManagerServer, error) {
|
||||||
var err error
|
var err error
|
||||||
mgr := &ManagerServer{}
|
mgr := &ManagerServer{}
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|
@ -38,37 +38,37 @@ func NewManagerServer(cfg *config.Config) *ManagerServer {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
if err = cfg.Valid(); err != nil {
|
if err = cfg.Valid(); err != nil {
|
||||||
return nil
|
return mgr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
mgr.identifier = hostidentifier.NewIdentifier()
|
mgr.identifier = hostidentifier.NewIdentifier()
|
||||||
|
|
||||||
mgr.store, err = client.NewStore(cfg)
|
mgr.store, err = client.NewStore(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return mgr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
mgr.lessor, err = lease.NewLessor(mgr.store)
|
mgr.lessor, err = lease.NewLessor(mgr.store)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return mgr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
mgr.redisClient, err = dc.NewRedisClient(cfg.Redis)
|
mgr.redisClient, err = dc.NewRedisClient(cfg.Redis)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return mgr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
mgr.configSvc, err = configsvc.NewConfigSvc(mgr.store, mgr.identifier, mgr.lessor, mgr.redisClient)
|
mgr.configSvc, err = configsvc.NewConfigSvc(mgr.store, mgr.identifier, mgr.lessor, mgr.redisClient)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return mgr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
mgr.hostManager, err = host.NewManager(cfg.HostService)
|
mgr.hostManager, err = host.NewManager(cfg.HostService)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return mgr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return mgr
|
return mgr, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ms *ManagerServer) Close() error {
|
func (ms *ManagerServer) Close() error {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue