shim: fix debug flag not working
As we know, shim starts twice. The first time we execute the shim with the `start` arguments, the `-debug` argument is passed to the shim process correctly. But the second time we execute shim, the debug flag is ignored. Signed-off-by: wllenyj <wllenyj@linux.alibaba.com>
This commit is contained in:
parent
eb39aace3c
commit
f710505f4a
@ -69,7 +69,7 @@ type manager struct {
|
|||||||
name string
|
name string
|
||||||
}
|
}
|
||||||
|
|
||||||
func newCommand(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string) (*exec.Cmd, error) {
|
func newCommand(ctx context.Context, id, containerdBinary, containerdAddress, containerdTTRPCAddress string, debug bool) (*exec.Cmd, error) {
|
||||||
ns, err := namespaces.NamespaceRequired(ctx)
|
ns, err := namespaces.NamespaceRequired(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -87,6 +87,9 @@ func newCommand(ctx context.Context, id, containerdBinary, containerdAddress, co
|
|||||||
"-id", id,
|
"-id", id,
|
||||||
"-address", containerdAddress,
|
"-address", containerdAddress,
|
||||||
}
|
}
|
||||||
|
if debug {
|
||||||
|
args = append(args, "-debug")
|
||||||
|
}
|
||||||
cmd := exec.Command(self, args...)
|
cmd := exec.Command(self, args...)
|
||||||
cmd.Dir = cwd
|
cmd.Dir = cwd
|
||||||
cmd.Env = append(os.Environ(), "GOMAXPROCS=4")
|
cmd.Env = append(os.Environ(), "GOMAXPROCS=4")
|
||||||
@ -114,7 +117,7 @@ func (m manager) Name() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (manager) Start(ctx context.Context, id string, opts shim.StartOpts) (_ string, retErr error) {
|
func (manager) Start(ctx context.Context, id string, opts shim.StartOpts) (_ string, retErr error) {
|
||||||
cmd, err := newCommand(ctx, id, opts.ContainerdBinary, opts.Address, opts.TTRPCAddress)
|
cmd, err := newCommand(ctx, id, opts.ContainerdBinary, opts.Address, opts.TTRPCAddress, opts.Debug)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,7 @@ type StartOpts struct {
|
|||||||
ContainerdBinary string
|
ContainerdBinary string
|
||||||
Address string
|
Address string
|
||||||
TTRPCAddress string
|
TTRPCAddress string
|
||||||
|
Debug bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type StopStatus struct {
|
type StopStatus struct {
|
||||||
@ -329,6 +330,7 @@ func run(ctx context.Context, manager Manager, initFunc Init, name string, confi
|
|||||||
ContainerdBinary: containerdBinaryFlag,
|
ContainerdBinary: containerdBinaryFlag,
|
||||||
Address: addressFlag,
|
Address: addressFlag,
|
||||||
TTRPCAddress: ttrpcAddress,
|
TTRPCAddress: ttrpcAddress,
|
||||||
|
Debug: debugFlag,
|
||||||
}
|
}
|
||||||
|
|
||||||
address, err := manager.Start(ctx, id, opts)
|
address, err := manager.Start(ctx, id, opts)
|
||||||
|
Loading…
Reference in New Issue
Block a user