mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-18 17:37:46 +08:00
Merge pull request #1777 from ktock/fixerrormsg
monitor: improve error messages
This commit is contained in:
commit
c9c1303e31
@ -25,7 +25,7 @@ func (cm *AttachCmd) Info() types.CommandInfo {
|
|||||||
|
|
||||||
func (cm *AttachCmd) Exec(ctx context.Context, args []string) error {
|
func (cm *AttachCmd) Exec(ctx context.Context, args []string) error {
|
||||||
if len(args) < 2 {
|
if len(args) < 2 {
|
||||||
return errors.Errorf("server name must be passed")
|
return errors.Errorf("ID of session or process must be passed")
|
||||||
}
|
}
|
||||||
ref := args[1]
|
ref := args[1]
|
||||||
var id string
|
var id string
|
||||||
@ -58,7 +58,11 @@ func (cm *AttachCmd) Exec(ctx context.Context, args []string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func isProcessID(ctx context.Context, c types.Monitor, ref string) (bool, error) {
|
func isProcessID(ctx context.Context, c types.Monitor, ref string) (bool, error) {
|
||||||
infos, err := c.ListProcesses(ctx, c.AttachedSessionID())
|
sid := c.AttachedSessionID()
|
||||||
|
if sid == "" {
|
||||||
|
return false, errors.Errorf("no attaching session")
|
||||||
|
}
|
||||||
|
infos, err := c.ListProcesses(ctx, sid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
@ -23,10 +23,16 @@ func (cm *DisconnectCmd) Exec(ctx context.Context, args []string) error {
|
|||||||
target := cm.m.AttachedSessionID()
|
target := cm.m.AttachedSessionID()
|
||||||
if len(args) >= 2 {
|
if len(args) >= 2 {
|
||||||
target = args[1]
|
target = args[1]
|
||||||
|
} else if target == "" {
|
||||||
|
return errors.Errorf("no attaching session")
|
||||||
}
|
}
|
||||||
isProcess, err := isProcessID(ctx, cm.m, target)
|
isProcess, err := isProcessID(ctx, cm.m, target)
|
||||||
if err == nil && isProcess {
|
if err == nil && isProcess {
|
||||||
if err := cm.m.DisconnectProcess(ctx, cm.m.AttachedSessionID(), target); err != nil {
|
sid := cm.m.AttachedSessionID()
|
||||||
|
if sid == "" {
|
||||||
|
return errors.Errorf("no attaching session")
|
||||||
|
}
|
||||||
|
if err := cm.m.DisconnectProcess(ctx, sid, target); err != nil {
|
||||||
return errors.Errorf("disconnecting from process failed %v", target)
|
return errors.Errorf("disconnecting from process failed %v", target)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"text/tabwriter"
|
"text/tabwriter"
|
||||||
|
|
||||||
"github.com/docker/buildx/monitor/types"
|
"github.com/docker/buildx/monitor/types"
|
||||||
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PsCmd struct {
|
type PsCmd struct {
|
||||||
@ -24,6 +25,9 @@ func (cm *PsCmd) Info() types.CommandInfo {
|
|||||||
|
|
||||||
func (cm *PsCmd) Exec(ctx context.Context, args []string) error {
|
func (cm *PsCmd) Exec(ctx context.Context, args []string) error {
|
||||||
ref := cm.m.AttachedSessionID()
|
ref := cm.m.AttachedSessionID()
|
||||||
|
if ref == "" {
|
||||||
|
return errors.Errorf("no attaching session")
|
||||||
|
}
|
||||||
plist, err := cm.m.ListProcesses(ctx, ref)
|
plist, err := cm.m.ListProcesses(ctx, ref)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
x
Reference in New Issue
Block a user