|
8 | 8 | "github.com/projecteru2/core/types"
|
9 | 9 | "github.com/projecteru2/core/utils"
|
10 | 10 |
|
| 11 | + enginetypes "github.com/projecteru2/core/engine/types" |
| 12 | + |
11 | 13 | "github.com/pkg/errors"
|
12 | 14 | )
|
13 | 15 |
|
@@ -84,6 +86,20 @@ func (c *Calcium) GetNode(ctx context.Context, nodename string) (*types.Node, er
|
84 | 86 | return node, logger.Err(ctx, errors.WithStack(err))
|
85 | 87 | }
|
86 | 88 |
|
| 89 | +// GetNodeEngine get node engine |
| 90 | +func (c *Calcium) GetNodeEngine(ctx context.Context, nodename string) (*enginetypes.Info, error) { |
| 91 | + logger := log.WithField("Calcium", "GetNodeEngine").WithField("nodename", nodename) |
| 92 | + if nodename == "" { |
| 93 | + return nil, logger.Err(ctx, errors.WithStack(types.ErrEmptyNodeName)) |
| 94 | + } |
| 95 | + node, err := c.store.GetNode(ctx, nodename) |
| 96 | + if err != nil { |
| 97 | + return nil, logger.Err(ctx, errors.WithStack(err)) |
| 98 | + } |
| 99 | + engineInfo, err := node.Engine.Info(ctx) |
| 100 | + return engineInfo, logger.Err(ctx, errors.WithStack(err)) |
| 101 | +} |
| 102 | + |
87 | 103 | // SetNode set node available or not
|
88 | 104 | func (c *Calcium) SetNode(ctx context.Context, opts *types.SetNodeOptions) (*types.Node, error) {
|
89 | 105 | logger := log.WithField("Calcium", "SetNode").WithField("opts", opts)
|
|
0 commit comments