cri: disable drain-exec-IO if it is empty timeout
Signed-off-by: Wei Fu <fuweid89@gmail.com>
This commit is contained in:
parent
791f137a5b
commit
ffebcb1223
@ -117,9 +117,15 @@ func (c *criService) execInternal(ctx context.Context, container containerd.Cont
|
|||||||
ctx, cancel := context.WithCancel(ctx)
|
ctx, cancel := context.WithCancel(ctx)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
drainExecSyncIOTimeout, err := time.ParseDuration(c.config.DrainExecSyncIOTimeout)
|
var drainExecSyncIOTimeout time.Duration
|
||||||
if err != nil {
|
var err error
|
||||||
return nil, fmt.Errorf("failed to parse drain_exec_sync_io_timeout %q: %w", c.config.DrainExecSyncIOTimeout, err)
|
|
||||||
|
if c.config.DrainExecSyncIOTimeout != "" {
|
||||||
|
drainExecSyncIOTimeout, err = time.ParseDuration(c.config.DrainExecSyncIOTimeout)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to parse drain_exec_sync_io_timeout %q: %w",
|
||||||
|
c.config.DrainExecSyncIOTimeout, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
spec, err := container.Spec(ctx)
|
spec, err := container.Spec(ctx)
|
||||||
@ -298,5 +304,6 @@ func drainExecSyncIO(ctx context.Context, execProcess containerd.Process, drainE
|
|||||||
execProcess.ID(), err)
|
execProcess.ID(), err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fmt.Errorf("failed to drain exec process %q io because io is still held by other processes", execProcess.ID())
|
return fmt.Errorf("failed to drain exec process %q io in %s because io is still held by other processes",
|
||||||
|
execProcess.ID(), drainExecIOTimeout)
|
||||||
}
|
}
|
||||||
|
@ -117,9 +117,15 @@ func (c *criService) execInternal(ctx context.Context, container containerd.Cont
|
|||||||
ctx, cancel := context.WithCancel(ctx)
|
ctx, cancel := context.WithCancel(ctx)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
drainExecSyncIOTimeout, err := time.ParseDuration(c.config.DrainExecSyncIOTimeout)
|
var drainExecSyncIOTimeout time.Duration
|
||||||
if err != nil {
|
var err error
|
||||||
return nil, fmt.Errorf("failed to parse drain_exec_sync_io_timeout %q: %w", c.config.DrainExecSyncIOTimeout, err)
|
|
||||||
|
if c.config.DrainExecSyncIOTimeout != "" {
|
||||||
|
drainExecSyncIOTimeout, err = time.ParseDuration(c.config.DrainExecSyncIOTimeout)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to parse drain_exec_sync_io_timeout %q: %w",
|
||||||
|
c.config.DrainExecSyncIOTimeout, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
spec, err := container.Spec(ctx)
|
spec, err := container.Spec(ctx)
|
||||||
@ -298,5 +304,6 @@ func drainExecSyncIO(ctx context.Context, execProcess containerd.Process, drainE
|
|||||||
execProcess.ID(), err)
|
execProcess.ID(), err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fmt.Errorf("failed to drain exec process %q io because io is still held by other processes", execProcess.ID())
|
return fmt.Errorf("failed to drain exec process %q io in %s because io is still held by other processes",
|
||||||
|
execProcess.ID(), drainExecIOTimeout)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user