diff --git a/pkg/kubelet/kuberuntime/instrumented_services.go b/pkg/kubelet/kuberuntime/instrumented_services.go index eb6ba384b54..5f1444ab9d2 100644 --- a/pkg/kubelet/kuberuntime/instrumented_services.go +++ b/pkg/kubelet/kuberuntime/instrumented_services.go @@ -324,3 +324,12 @@ func (in instrumentedImageManagerService) ImageFsInfo() ([]*runtimeapi.Filesyste recordError(operation, err) return fsInfo, nil } + +func (in instrumentedRuntimeService) CheckpointContainer(options *runtimeapi.CheckpointContainerRequest) error { + const operation = "checkpoint_container" + defer recordOperation(operation, time.Now()) + + err := in.service.CheckpointContainer(options) + recordError(operation, err) + return err +} diff --git a/staging/src/k8s.io/cri-api/pkg/apis/services.go b/staging/src/k8s.io/cri-api/pkg/apis/services.go index 54f755d8743..ac7cc59fbf4 100644 --- a/staging/src/k8s.io/cri-api/pkg/apis/services.go +++ b/staging/src/k8s.io/cri-api/pkg/apis/services.go @@ -76,6 +76,8 @@ type PodSandboxManager interface { ListPodSandbox(filter *runtimeapi.PodSandboxFilter) ([]*runtimeapi.PodSandbox, error) // PortForward prepares a streaming endpoint to forward ports from a PodSandbox, and returns the address. PortForward(*runtimeapi.PortForwardRequest) (*runtimeapi.PortForwardResponse, error) + // CheckpointContainer checkpoints a container + CheckpointContainer(containerID, checkpointDir string) error } // ContainerStatsManager contains methods for retrieving the container