mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 20:24:31 +00:00
runtime: Fix trace span ordering
Return ctx in trace() functions to correct span ordering. Fixes #1550 Signed-off-by: Chelsea Mafrica <chelsea.e.mafrica@intel.com>
This commit is contained in:
parent
5b5b5cc611
commit
f3ebbb1f1a
@ -301,7 +301,7 @@ func trace(ctx context.Context, name string) (otelTrace.Span, context.Context) {
|
||||
}
|
||||
|
||||
func (s *service) Cleanup(ctx context.Context) (_ *taskAPI.DeleteResponse, err error) {
|
||||
span, _ := trace(s.rootCtx, "Cleanup")
|
||||
span, spanCtx := trace(s.rootCtx, "Cleanup")
|
||||
defer span.End()
|
||||
|
||||
//Since the binary cleanup will return the DeleteResponse from stdout to
|
||||
@ -335,7 +335,7 @@ func (s *service) Cleanup(ctx context.Context) (_ *taskAPI.DeleteResponse, err e
|
||||
|
||||
switch containerType {
|
||||
case vc.PodSandbox:
|
||||
err = cleanupContainer(ctx, s.id, s.id, path)
|
||||
err = cleanupContainer(spanCtx, s.id, s.id, path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -345,7 +345,7 @@ func (s *service) Cleanup(ctx context.Context) (_ *taskAPI.DeleteResponse, err e
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = cleanupContainer(ctx, sandboxID, s.id, path)
|
||||
err = cleanupContainer(spanCtx, sandboxID, s.id, path)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -416,7 +416,7 @@ func (s *service) Create(ctx context.Context, r *taskAPI.CreateTaskRequest) (_ *
|
||||
|
||||
// Start a process
|
||||
func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (_ *taskAPI.StartResponse, err error) {
|
||||
span, _ := trace(s.rootCtx, "Start")
|
||||
span, spanCtx := trace(s.rootCtx, "Start")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -439,7 +439,7 @@ func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (_ *taskAP
|
||||
|
||||
//start a container
|
||||
if r.ExecID == "" {
|
||||
err = startContainer(ctx, s, c)
|
||||
err = startContainer(spanCtx, s, c)
|
||||
if err != nil {
|
||||
return nil, errdefs.ToGRPC(err)
|
||||
}
|
||||
@ -449,7 +449,7 @@ func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (_ *taskAP
|
||||
})
|
||||
} else {
|
||||
//start an exec
|
||||
_, err = startExec(ctx, s, r.ID, r.ExecID)
|
||||
_, err = startExec(spanCtx, s, r.ID, r.ExecID)
|
||||
if err != nil {
|
||||
return nil, errdefs.ToGRPC(err)
|
||||
}
|
||||
@ -467,7 +467,7 @@ func (s *service) Start(ctx context.Context, r *taskAPI.StartRequest) (_ *taskAP
|
||||
|
||||
// Delete the initial process and container
|
||||
func (s *service) Delete(ctx context.Context, r *taskAPI.DeleteRequest) (_ *taskAPI.DeleteResponse, err error) {
|
||||
span, _ := trace(s.rootCtx, "Delete")
|
||||
span, spanCtx := trace(s.rootCtx, "Delete")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -485,7 +485,7 @@ func (s *service) Delete(ctx context.Context, r *taskAPI.DeleteRequest) (_ *task
|
||||
}
|
||||
|
||||
if r.ExecID == "" {
|
||||
if err = deleteContainer(ctx, s, c); err != nil {
|
||||
if err = deleteContainer(spanCtx, s, c); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -557,7 +557,7 @@ func (s *service) Exec(ctx context.Context, r *taskAPI.ExecProcessRequest) (_ *p
|
||||
|
||||
// ResizePty of a process
|
||||
func (s *service) ResizePty(ctx context.Context, r *taskAPI.ResizePtyRequest) (_ *ptypes.Empty, err error) {
|
||||
span, _ := trace(s.rootCtx, "ResizePty")
|
||||
span, spanCtx := trace(s.rootCtx, "ResizePty")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -586,7 +586,7 @@ func (s *service) ResizePty(ctx context.Context, r *taskAPI.ResizePtyRequest) (_
|
||||
processID = execs.id
|
||||
|
||||
}
|
||||
err = s.sandbox.WinsizeProcess(ctx, c.id, processID, r.Height, r.Width)
|
||||
err = s.sandbox.WinsizeProcess(spanCtx, c.id, processID, r.Height, r.Width)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -648,7 +648,7 @@ func (s *service) State(ctx context.Context, r *taskAPI.StateRequest) (_ *taskAP
|
||||
|
||||
// Pause the container
|
||||
func (s *service) Pause(ctx context.Context, r *taskAPI.PauseRequest) (_ *ptypes.Empty, err error) {
|
||||
span, _ := trace(s.rootCtx, "Pause")
|
||||
span, spanCtx := trace(s.rootCtx, "Pause")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -667,7 +667,7 @@ func (s *service) Pause(ctx context.Context, r *taskAPI.PauseRequest) (_ *ptypes
|
||||
|
||||
c.status = task.StatusPausing
|
||||
|
||||
err = s.sandbox.PauseContainer(ctx, r.ID)
|
||||
err = s.sandbox.PauseContainer(spanCtx, r.ID)
|
||||
if err == nil {
|
||||
c.status = task.StatusPaused
|
||||
s.send(&eventstypes.TaskPaused{
|
||||
@ -687,7 +687,7 @@ func (s *service) Pause(ctx context.Context, r *taskAPI.PauseRequest) (_ *ptypes
|
||||
|
||||
// Resume the container
|
||||
func (s *service) Resume(ctx context.Context, r *taskAPI.ResumeRequest) (_ *ptypes.Empty, err error) {
|
||||
span, _ := trace(s.rootCtx, "Resume")
|
||||
span, spanCtx := trace(s.rootCtx, "Resume")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -704,7 +704,7 @@ func (s *service) Resume(ctx context.Context, r *taskAPI.ResumeRequest) (_ *ptyp
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = s.sandbox.ResumeContainer(ctx, c.id)
|
||||
err = s.sandbox.ResumeContainer(spanCtx, c.id)
|
||||
if err == nil {
|
||||
c.status = task.StatusRunning
|
||||
s.send(&eventstypes.TaskResumed{
|
||||
@ -724,7 +724,7 @@ func (s *service) Resume(ctx context.Context, r *taskAPI.ResumeRequest) (_ *ptyp
|
||||
|
||||
// Kill a process with the provided signal
|
||||
func (s *service) Kill(ctx context.Context, r *taskAPI.KillRequest) (_ *ptypes.Empty, err error) {
|
||||
span, _ := trace(s.rootCtx, "Kill")
|
||||
span, spanCtx := trace(s.rootCtx, "Kill")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -778,7 +778,7 @@ func (s *service) Kill(ctx context.Context, r *taskAPI.KillRequest) (_ *ptypes.E
|
||||
return empty, nil
|
||||
}
|
||||
|
||||
return empty, s.sandbox.SignalProcess(ctx, c.id, processID, signum, r.All)
|
||||
return empty, s.sandbox.SignalProcess(spanCtx, c.id, processID, signum, r.All)
|
||||
}
|
||||
|
||||
// Pids returns all pids inside the container
|
||||
@ -911,7 +911,7 @@ func (s *service) Shutdown(ctx context.Context, r *taskAPI.ShutdownRequest) (_ *
|
||||
}
|
||||
|
||||
func (s *service) Stats(ctx context.Context, r *taskAPI.StatsRequest) (_ *taskAPI.StatsResponse, err error) {
|
||||
span, _ := trace(s.rootCtx, "Stats")
|
||||
span, spanCtx := trace(s.rootCtx, "Stats")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -928,7 +928,7 @@ func (s *service) Stats(ctx context.Context, r *taskAPI.StatsRequest) (_ *taskAP
|
||||
return nil, err
|
||||
}
|
||||
|
||||
data, err := marshalMetrics(ctx, s, c.id)
|
||||
data, err := marshalMetrics(spanCtx, s, c.id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -940,7 +940,7 @@ func (s *service) Stats(ctx context.Context, r *taskAPI.StatsRequest) (_ *taskAP
|
||||
|
||||
// Update a running container
|
||||
func (s *service) Update(ctx context.Context, r *taskAPI.UpdateTaskRequest) (_ *ptypes.Empty, err error) {
|
||||
span, _ := trace(s.rootCtx, "Update")
|
||||
span, spanCtx := trace(s.rootCtx, "Update")
|
||||
defer span.End()
|
||||
|
||||
start := time.Now()
|
||||
@ -962,7 +962,7 @@ func (s *service) Update(ctx context.Context, r *taskAPI.UpdateTaskRequest) (_ *
|
||||
return nil, errdefs.ToGRPCf(errdefs.ErrInvalidArgument, "Invalid resources type for %s", s.id)
|
||||
}
|
||||
|
||||
err = s.sandbox.UpdateContainer(ctx, r.ID, *resources)
|
||||
err = s.sandbox.UpdateContainer(spanCtx, r.ID, *resources)
|
||||
if err != nil {
|
||||
return nil, errdefs.ToGRPC(err)
|
||||
}
|
||||
|
@ -420,7 +420,7 @@ func (a *Acrn) createSandbox(ctx context.Context, id string, networkNS NetworkNa
|
||||
|
||||
// startSandbox will start the Sandbox's VM.
|
||||
func (a *Acrn) startSandbox(ctx context.Context, timeoutSecs int) error {
|
||||
span, _ := a.trace(ctx, "startSandbox")
|
||||
span, ctx := a.trace(ctx, "startSandbox")
|
||||
defer span.End()
|
||||
|
||||
if a.config.Debug {
|
||||
|
@ -53,7 +53,7 @@ func SetLogger(ctx context.Context, logger *logrus.Entry) {
|
||||
// CreateSandbox is the virtcontainers sandbox creation entry point.
|
||||
// CreateSandbox creates a sandbox and its containers. It does not start them.
|
||||
func CreateSandbox(ctx context.Context, sandboxConfig SandboxConfig, factory Factory) (VCSandbox, error) {
|
||||
span, _ := trace(ctx, "CreateSandbox")
|
||||
span, ctx := trace(ctx, "CreateSandbox")
|
||||
defer span.End()
|
||||
|
||||
s, err := createSandboxFromConfig(ctx, sandboxConfig, factory)
|
||||
@ -62,7 +62,7 @@ func CreateSandbox(ctx context.Context, sandboxConfig SandboxConfig, factory Fac
|
||||
}
|
||||
|
||||
func createSandboxFromConfig(ctx context.Context, sandboxConfig SandboxConfig, factory Factory) (_ *Sandbox, err error) {
|
||||
span, _ := trace(ctx, "createSandboxFromConfig")
|
||||
span, ctx := trace(ctx, "createSandboxFromConfig")
|
||||
defer span.End()
|
||||
|
||||
// Create the sandbox.
|
||||
@ -136,7 +136,7 @@ func createSandboxFromConfig(ctx context.Context, sandboxConfig SandboxConfig, f
|
||||
// in the sandbox left, do stop the sandbox and delete it. Those serial operations will be done exclusively by
|
||||
// locking the sandbox.
|
||||
func CleanupContainer(ctx context.Context, sandboxID, containerID string, force bool) error {
|
||||
span, _ := trace(ctx, "CleanupContainer")
|
||||
span, ctx := trace(ctx, "CleanupContainer")
|
||||
defer span.End()
|
||||
|
||||
if sandboxID == "" {
|
||||
|
@ -700,7 +700,7 @@ func (c *Container) createBlockDevices(ctx context.Context) error {
|
||||
|
||||
// newContainer creates a Container structure from a sandbox and a container configuration.
|
||||
func newContainer(ctx context.Context, sandbox *Sandbox, contConfig *ContainerConfig) (*Container, error) {
|
||||
span, _ := sandbox.trace(ctx, "newContainer")
|
||||
span, ctx := sandbox.trace(ctx, "newContainer")
|
||||
defer span.End()
|
||||
|
||||
if !contConfig.valid() {
|
||||
|
@ -141,7 +141,7 @@ func (f *factory) checkConfig(config vc.VMConfig) error {
|
||||
|
||||
// GetVM returns a working blank VM created by the factory.
|
||||
func (f *factory) GetVM(ctx context.Context, config vc.VMConfig) (*vc.VM, error) {
|
||||
span, _ := trace(ctx, "GetVM")
|
||||
span, ctx := trace(ctx, "GetVM")
|
||||
defer span.End()
|
||||
|
||||
hypervisorConfig := config.HypervisorConfig
|
||||
|
@ -495,7 +495,7 @@ func (k *kataAgent) setupSharedPath(ctx context.Context, sandbox *Sandbox) error
|
||||
}
|
||||
|
||||
func (k *kataAgent) createSandbox(ctx context.Context, sandbox *Sandbox) error {
|
||||
span, _ := k.trace(ctx, "createSandbox")
|
||||
span, ctx := k.trace(ctx, "createSandbox")
|
||||
defer span.End()
|
||||
|
||||
if err := k.setupSharedPath(ctx, sandbox); err != nil {
|
||||
@ -582,7 +582,7 @@ func cmdEnvsToStringSlice(ev []types.EnvVar) []string {
|
||||
}
|
||||
|
||||
func (k *kataAgent) exec(ctx context.Context, sandbox *Sandbox, c Container, cmd types.Cmd) (*Process, error) {
|
||||
span, _ := k.trace(ctx, "exec")
|
||||
span, ctx := k.trace(ctx, "exec")
|
||||
defer span.End()
|
||||
|
||||
var kataProcess *grpc.Process
|
||||
@ -754,7 +754,7 @@ func (k *kataAgent) getDNS(sandbox *Sandbox) ([]string, error) {
|
||||
}
|
||||
|
||||
func (k *kataAgent) startSandbox(ctx context.Context, sandbox *Sandbox) error {
|
||||
span, _ := k.trace(ctx, "startSandbox")
|
||||
span, ctx := k.trace(ctx, "startSandbox")
|
||||
defer span.End()
|
||||
|
||||
if err := k.setAgentURL(); err != nil {
|
||||
@ -909,7 +909,7 @@ func setupStorages(ctx context.Context, sandbox *Sandbox) []*grpc.Storage {
|
||||
}
|
||||
|
||||
func (k *kataAgent) stopSandbox(ctx context.Context, sandbox *Sandbox) error {
|
||||
span, _ := k.trace(ctx, "stopSandbox")
|
||||
span, ctx := k.trace(ctx, "stopSandbox")
|
||||
defer span.End()
|
||||
|
||||
req := &grpc.DestroySandboxRequest{}
|
||||
@ -1271,7 +1271,7 @@ func (k *kataAgent) buildContainerRootfs(ctx context.Context, sandbox *Sandbox,
|
||||
}
|
||||
|
||||
func (k *kataAgent) createContainer(ctx context.Context, sandbox *Sandbox, c *Container) (p *Process, err error) {
|
||||
span, _ := k.trace(ctx, "createContainer")
|
||||
span, ctx := k.trace(ctx, "createContainer")
|
||||
defer span.End()
|
||||
|
||||
var ctrStorages []*grpc.Storage
|
||||
@ -1593,7 +1593,7 @@ func (k *kataAgent) handlePidNamespace(grpcSpec *grpc.Spec, sandbox *Sandbox) bo
|
||||
}
|
||||
|
||||
func (k *kataAgent) startContainer(ctx context.Context, sandbox *Sandbox, c *Container) error {
|
||||
span, _ := k.trace(ctx, "startContainer")
|
||||
span, ctx := k.trace(ctx, "startContainer")
|
||||
defer span.End()
|
||||
|
||||
req := &grpc.StartContainerRequest{
|
||||
@ -1605,7 +1605,7 @@ func (k *kataAgent) startContainer(ctx context.Context, sandbox *Sandbox, c *Con
|
||||
}
|
||||
|
||||
func (k *kataAgent) stopContainer(ctx context.Context, sandbox *Sandbox, c Container) error {
|
||||
span, _ := k.trace(ctx, "stopContainer")
|
||||
span, ctx := k.trace(ctx, "stopContainer")
|
||||
defer span.End()
|
||||
|
||||
_, err := k.sendReq(ctx, &grpc.RemoveContainerRequest{ContainerId: c.id})
|
||||
@ -1815,7 +1815,7 @@ func (k *kataAgent) disconnect(ctx context.Context) error {
|
||||
|
||||
// check grpc server is serving
|
||||
func (k *kataAgent) check(ctx context.Context) error {
|
||||
span, _ := k.trace(ctx, "check")
|
||||
span, ctx := k.trace(ctx, "check")
|
||||
defer span.End()
|
||||
|
||||
_, err := k.sendReq(ctx, &grpc.CheckRequest{})
|
||||
@ -1826,7 +1826,7 @@ func (k *kataAgent) check(ctx context.Context) error {
|
||||
}
|
||||
|
||||
func (k *kataAgent) waitProcess(ctx context.Context, c *Container, processID string) (int32, error) {
|
||||
span, _ := k.trace(ctx, "waitProcess")
|
||||
span, ctx := k.trace(ctx, "waitProcess")
|
||||
defer span.End()
|
||||
|
||||
resp, err := k.sendReq(ctx, &grpc.WaitProcessRequest{
|
||||
|
@ -347,7 +347,7 @@ func bindUnmountContainerRootfs(ctx context.Context, sharedDir, cID string) erro
|
||||
}
|
||||
|
||||
func bindUnmountAllRootfs(ctx context.Context, sharedDir string, sandbox *Sandbox) error {
|
||||
span, _ := trace(ctx, "bindUnmountAllRootfs")
|
||||
span, ctx := trace(ctx, "bindUnmountAllRootfs")
|
||||
defer span.End()
|
||||
|
||||
var errors *merr.Error
|
||||
|
@ -1273,7 +1273,7 @@ func (n *Network) Run(ctx context.Context, networkNSPath string, cb func() error
|
||||
|
||||
// Add adds all needed interfaces inside the network namespace.
|
||||
func (n *Network) Add(ctx context.Context, config *NetworkConfig, s *Sandbox, hotplug bool) ([]Endpoint, error) {
|
||||
span, _ := n.trace(ctx, "Add")
|
||||
span, ctx := n.trace(ctx, "Add")
|
||||
defer span.End()
|
||||
|
||||
endpoints, err := createEndpointsFromScan(config.NetNSPath, config)
|
||||
@ -1354,7 +1354,7 @@ func (n *Network) PostAdd(ctx context.Context, ns *NetworkNamespace, hotplug boo
|
||||
// Remove network endpoints in the network namespace. It also deletes the network
|
||||
// namespace in case the namespace has been created by us.
|
||||
func (n *Network) Remove(ctx context.Context, ns *NetworkNamespace, hypervisor hypervisor) error {
|
||||
span, _ := n.trace(ctx, "Remove")
|
||||
span, ctx := n.trace(ctx, "Remove")
|
||||
defer span.End()
|
||||
|
||||
for _, endpoint := range ns.Endpoints {
|
||||
|
@ -468,7 +468,7 @@ func (q *qemu) createSandbox(ctx context.Context, id string, networkNS NetworkNa
|
||||
// Save the tracing context
|
||||
q.ctx = ctx
|
||||
|
||||
span, _ := q.trace(ctx, "createSandbox")
|
||||
span, ctx := q.trace(ctx, "createSandbox")
|
||||
defer span.End()
|
||||
|
||||
if err := q.setup(ctx, id, hypervisorConfig); err != nil {
|
||||
@ -772,7 +772,7 @@ func (q *qemu) setupVirtioMem() error {
|
||||
|
||||
// startSandbox will start the Sandbox's VM.
|
||||
func (q *qemu) startSandbox(ctx context.Context, timeout int) error {
|
||||
span, _ := q.trace(ctx, "startSandbox")
|
||||
span, ctx := q.trace(ctx, "startSandbox")
|
||||
defer span.End()
|
||||
|
||||
if q.config.Debug {
|
||||
@ -1609,7 +1609,7 @@ func (q *qemu) hotplugDevice(ctx context.Context, devInfo interface{}, devType d
|
||||
}
|
||||
|
||||
func (q *qemu) hotplugAddDevice(ctx context.Context, devInfo interface{}, devType deviceType) (interface{}, error) {
|
||||
span, _ := q.trace(ctx, "hotplugAddDevice")
|
||||
span, ctx := q.trace(ctx, "hotplugAddDevice")
|
||||
defer span.End()
|
||||
|
||||
data, err := q.hotplugDevice(ctx, devInfo, devType, addDevice)
|
||||
@ -1621,7 +1621,7 @@ func (q *qemu) hotplugAddDevice(ctx context.Context, devInfo interface{}, devTyp
|
||||
}
|
||||
|
||||
func (q *qemu) hotplugRemoveDevice(ctx context.Context, devInfo interface{}, devType deviceType) (interface{}, error) {
|
||||
span, _ := q.trace(ctx, "hotplugRemoveDevice")
|
||||
span, ctx := q.trace(ctx, "hotplugRemoveDevice")
|
||||
defer span.End()
|
||||
|
||||
data, err := q.hotplugDevice(ctx, devInfo, devType, removeDevice)
|
||||
@ -1833,14 +1833,14 @@ func (q *qemu) hotplugAddMemory(memDev *memoryDevice) (int, error) {
|
||||
}
|
||||
|
||||
func (q *qemu) pauseSandbox(ctx context.Context) error {
|
||||
span, _ := q.trace(ctx, "pauseSandbox")
|
||||
span, ctx := q.trace(ctx, "pauseSandbox")
|
||||
defer span.End()
|
||||
|
||||
return q.togglePauseSandbox(ctx, true)
|
||||
}
|
||||
|
||||
func (q *qemu) resumeSandbox(ctx context.Context) error {
|
||||
span, _ := q.trace(ctx, "resumeSandbox")
|
||||
span, ctx := q.trace(ctx, "resumeSandbox")
|
||||
defer span.End()
|
||||
|
||||
return q.togglePauseSandbox(ctx, false)
|
||||
|
@ -445,7 +445,7 @@ func (s *Sandbox) getAndStoreGuestDetails(ctx context.Context) error {
|
||||
// to physically create that sandbox i.e. starts a VM for that sandbox to eventually
|
||||
// be started.
|
||||
func createSandbox(ctx context.Context, sandboxConfig SandboxConfig, factory Factory) (*Sandbox, error) {
|
||||
span, _ := trace(ctx, "createSandbox")
|
||||
span, ctx := trace(ctx, "createSandbox")
|
||||
defer span.End()
|
||||
|
||||
if err := createAssets(ctx, &sandboxConfig); err != nil {
|
||||
@ -483,7 +483,7 @@ func createSandbox(ctx context.Context, sandboxConfig SandboxConfig, factory Fac
|
||||
}
|
||||
|
||||
func newSandbox(ctx context.Context, sandboxConfig SandboxConfig, factory Factory) (sb *Sandbox, retErr error) {
|
||||
span, _ := trace(ctx, "newSandbox")
|
||||
span, ctx := trace(ctx, "newSandbox")
|
||||
defer span.End()
|
||||
|
||||
if !sandboxConfig.valid() {
|
||||
@ -752,7 +752,7 @@ func (s *Sandbox) createNetwork(ctx context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
span, _ := s.trace(ctx, "createNetwork")
|
||||
span, ctx := s.trace(ctx, "createNetwork")
|
||||
defer span.End()
|
||||
|
||||
s.networkNS = NetworkNamespace{
|
||||
@ -994,7 +994,7 @@ func (cw *consoleWatcher) stop() {
|
||||
|
||||
// startVM starts the VM.
|
||||
func (s *Sandbox) startVM(ctx context.Context) (err error) {
|
||||
span, _ := s.trace(ctx, "startVM")
|
||||
span, ctx := s.trace(ctx, "startVM")
|
||||
defer span.End()
|
||||
|
||||
s.Logger().Info("Starting VM")
|
||||
@ -1075,7 +1075,7 @@ func (s *Sandbox) startVM(ctx context.Context) (err error) {
|
||||
|
||||
// stopVM: stop the sandbox's VM
|
||||
func (s *Sandbox) stopVM(ctx context.Context) error {
|
||||
span, _ := s.trace(ctx, "stopVM")
|
||||
span, ctx := s.trace(ctx, "stopVM")
|
||||
defer span.End()
|
||||
|
||||
s.Logger().Info("Stopping sandbox in the VM")
|
||||
@ -1451,7 +1451,7 @@ func (s *Sandbox) ResumeContainer(ctx context.Context, containerID string) error
|
||||
// createContainers registers all containers, create the
|
||||
// containers in the guest and starts one shim per container.
|
||||
func (s *Sandbox) createContainers(ctx context.Context) error {
|
||||
span, _ := s.trace(ctx, "createContainers")
|
||||
span, ctx := s.trace(ctx, "createContainers")
|
||||
defer span.End()
|
||||
|
||||
for _, contConfig := range s.config.Containers {
|
||||
@ -1523,7 +1523,7 @@ func (s *Sandbox) Start(ctx context.Context) error {
|
||||
// will be destroyed.
|
||||
// When force is true, ignore guest related stop failures.
|
||||
func (s *Sandbox) Stop(ctx context.Context, force bool) error {
|
||||
span, _ := s.trace(ctx, "Stop")
|
||||
span, ctx := s.trace(ctx, "Stop")
|
||||
defer span.End()
|
||||
|
||||
if s.state.State == types.StateStopped {
|
||||
@ -1634,7 +1634,7 @@ func (s *Sandbox) unsetSandboxBlockIndex(index int) error {
|
||||
// HotplugAddDevice is used for add a device to sandbox
|
||||
// Sandbox implement DeviceReceiver interface from device/api/interface.go
|
||||
func (s *Sandbox) HotplugAddDevice(ctx context.Context, device api.Device, devType config.DeviceType) error {
|
||||
span, _ := s.trace(ctx, "HotplugAddDevice")
|
||||
span, ctx := s.trace(ctx, "HotplugAddDevice")
|
||||
defer span.End()
|
||||
|
||||
if s.config.SandboxCgroupOnly {
|
||||
|
Loading…
Reference in New Issue
Block a user