[#390] cli: Support more tree service API calls in CLI #488

Merged
fyrchik merged 3 commits from aarifullin/frostfs-node:feature/390-tree_cli into master 2023-07-11 14:11:31 +00:00
8 changed files with 30 additions and 29 deletions
Showing only changes of commit 48b01d3ea9 - Show all commits

View file

@ -50,7 +50,7 @@ func add(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -64,10 +64,10 @@ func add(cmd *cobra.Command, _ []string) {
BearerToken: common.ReadBearerToken(cmd, bearerFlagKey).Marshal(), BearerToken: common.ReadBearerToken(cmd, bearerFlagKey).Marshal(),
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
resp, err := cli.Add(ctx, req) resp, err := cli.Add(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to cal add: %w", err)
cmd.Println("Node ID: ", resp.Body.NodeId) cmd.Println("Node ID: ", resp.Body.NodeId)
} }

View file

@ -53,7 +53,7 @@ func addByPath(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -74,10 +74,10 @@ func addByPath(cmd *cobra.Command, _ []string) {
BearerToken: common.ReadBearerToken(cmd, bearerFlagKey).Marshal(), BearerToken: common.ReadBearerToken(cmd, bearerFlagKey).Marshal(),
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
resp, err := cli.AddByPath(ctx, req) resp, err := cli.AddByPath(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to addByPath %w", err)
cmd.Printf("Parent ID: %d\n", resp.GetBody().GetParentId()) cmd.Printf("Parent ID: %d\n", resp.GetBody().GetParentId())

View file

@ -53,7 +53,7 @@ func getByPath(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -78,10 +78,10 @@ func getByPath(cmd *cobra.Command, _ []string) {
BearerToken: bt, BearerToken: bt,
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
resp, err := cli.GetNodeByPath(ctx, req) resp, err := cli.GetNodeByPath(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to call getNodeByPath: %w", err)
nn := resp.GetBody().GetNodes() nn := resp.GetBody().GetNodes()
if len(nn) == 0 { if len(nn) == 0 {

View file

@ -1,6 +1,7 @@
package tree package tree
import ( import (
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-cli/internal/common"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-cli/internal/commonflags" "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-cli/internal/commonflags"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-cli/internal/key" "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-cli/internal/key"
commonCmd "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/internal/common" commonCmd "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/internal/common"
@ -28,15 +29,15 @@ func healthcheck(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
req := &tree.HealthcheckRequest{ req := &tree.HealthcheckRequest{
Body: &tree.HealthcheckRequest_Body{}, Body: &tree.HealthcheckRequest_Body{},
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
_, err = cli.Healthcheck(ctx, req) _, err = cli.Healthcheck(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to call healthcheck: %w", err)
cmd.Println("Success.") common.PrintVerbose(cmd, "Successful healthcheck invocation.")
} }

View file

@ -41,7 +41,7 @@ func list(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -52,10 +52,10 @@ func list(cmd *cobra.Command, _ []string) {
}, },
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
resp, err := cli.TreeList(ctx, req) resp, err := cli.TreeList(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to call treeList %w", err)
for _, treeID := range resp.GetBody().GetIds() { for _, treeID := range resp.GetBody().GetIds() {
cmd.Println(treeID) cmd.Println(treeID)

View file

@ -48,7 +48,7 @@ func move(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -71,7 +71,7 @@ func move(cmd *cobra.Command, _ []string) {
BearerToken: bt, BearerToken: bt,
}, },
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(subTreeReq, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(subTreeReq, pk))
resp, err := cli.GetSubTree(ctx, subTreeReq) resp, err := cli.GetSubTree(ctx, subTreeReq)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "rpc call: %w", err)
@ -81,7 +81,7 @@ func move(cmd *cobra.Command, _ []string) {
meta = subtreeResp.GetBody().GetMeta() meta = subtreeResp.GetBody().GetMeta()
} }
if !errors.Is(err, io.EOF) { if !errors.Is(err, io.EOF) {
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to read getSubTree response stream: %w", err)
} }
var metaErr error var metaErr error
if len(meta) == 0 { if len(meta) == 0 {
@ -99,9 +99,9 @@ func move(cmd *cobra.Command, _ []string) {
}, },
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
_, err = cli.Move(ctx, req) _, err = cli.Move(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to call move: %w", err)
cmd.Println("Success.") common.PrintVerbose(cmd, "Successful move invocation.")
} }

View file

@ -44,7 +44,7 @@ func remove(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -66,9 +66,9 @@ func remove(cmd *cobra.Command, _ []string) {
}, },
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
_, err = cli.Remove(ctx, req) _, err = cli.Remove(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to call remove: %w", err)
cmd.Println("Success.") common.PrintVerbose(cmd, "Successful remove invocation.")
} }

View file

@ -48,7 +48,7 @@ func getSubTree(cmd *cobra.Command, _ []string) {
ctx := cmd.Context() ctx := cmd.Context()
cli, err := _client(ctx) cli, err := _client(ctx)
commonCmd.ExitOnErr(cmd, "client: %w", err) commonCmd.ExitOnErr(cmd, "failed to create client: %w", err)
rawCID := make([]byte, sha256.Size) rawCID := make([]byte, sha256.Size)
cnr.Encode(rawCID) cnr.Encode(rawCID)
@ -74,10 +74,10 @@ func getSubTree(cmd *cobra.Command, _ []string) {
}, },
} }
commonCmd.ExitOnErr(cmd, "message signing: %w", tree.SignMessage(req, pk)) commonCmd.ExitOnErr(cmd, "signing message: %w", tree.SignMessage(req, pk))
resp, err := cli.GetSubTree(ctx, req) resp, err := cli.GetSubTree(ctx, req)
commonCmd.ExitOnErr(cmd, "rpc call: %w", err) commonCmd.ExitOnErr(cmd, "failed to call getSubTree: %w", err)
subtreeResp, err := resp.Recv() subtreeResp, err := resp.Recv()
for ; err == nil; subtreeResp, err = resp.Recv() { for ; err == nil; subtreeResp, err = resp.Recv() {