mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-10-21 20:08:54 +00:00
This is a virtcontainers 1.0.8 import into Kata Containers runtime. virtcontainers is a Go library designed to manage hardware virtualized pods and containers. It is the core Clear Containers framework and will become the core Kata Containers framework, as discussed at https://github.com/kata-containers/runtime/issues/33 Some more more pointers: virtcontainers README, including some design and architecure notes: https://github.com/containers/virtcontainers/blob/master/README.md virtcontainers 1.0 API: https://github.com/containers/virtcontainers/blob/master/documentation/api/1.0/api.md Fixes #40 Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
120 lines
4.0 KiB
Go
120 lines
4.0 KiB
Go
// Copyright (c) 2017 Intel Corporation
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
// Description: The true virtcontainers function of the same name.
|
|
// This indirection is required to allow an alternative implemenation to be
|
|
// used for testing purposes.
|
|
|
|
package virtcontainers
|
|
|
|
import (
|
|
"syscall"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// VCImpl is the official virtcontainers function of the same name.
|
|
type VCImpl struct {
|
|
}
|
|
|
|
// SetLogger implements the VC function of the same name.
|
|
func (impl *VCImpl) SetLogger(logger logrus.FieldLogger) {
|
|
SetLogger(logger)
|
|
}
|
|
|
|
// CreatePod implements the VC function of the same name.
|
|
func (impl *VCImpl) CreatePod(podConfig PodConfig) (VCPod, error) {
|
|
return CreatePod(podConfig)
|
|
}
|
|
|
|
// DeletePod implements the VC function of the same name.
|
|
func (impl *VCImpl) DeletePod(podID string) (VCPod, error) {
|
|
return DeletePod(podID)
|
|
}
|
|
|
|
// StartPod implements the VC function of the same name.
|
|
func (impl *VCImpl) StartPod(podID string) (VCPod, error) {
|
|
return StartPod(podID)
|
|
}
|
|
|
|
// StopPod implements the VC function of the same name.
|
|
func (impl *VCImpl) StopPod(podID string) (VCPod, error) {
|
|
return StopPod(podID)
|
|
}
|
|
|
|
// RunPod implements the VC function of the same name.
|
|
func (impl *VCImpl) RunPod(podConfig PodConfig) (VCPod, error) {
|
|
return RunPod(podConfig)
|
|
}
|
|
|
|
// ListPod implements the VC function of the same name.
|
|
func (impl *VCImpl) ListPod() ([]PodStatus, error) {
|
|
return ListPod()
|
|
}
|
|
|
|
// StatusPod implements the VC function of the same name.
|
|
func (impl *VCImpl) StatusPod(podID string) (PodStatus, error) {
|
|
return StatusPod(podID)
|
|
}
|
|
|
|
// PausePod implements the VC function of the same name.
|
|
func (impl *VCImpl) PausePod(podID string) (VCPod, error) {
|
|
return PausePod(podID)
|
|
}
|
|
|
|
// ResumePod implements the VC function of the same name.
|
|
func (impl *VCImpl) ResumePod(podID string) (VCPod, error) {
|
|
return ResumePod(podID)
|
|
}
|
|
|
|
// CreateContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) CreateContainer(podID string, containerConfig ContainerConfig) (VCPod, VCContainer, error) {
|
|
return CreateContainer(podID, containerConfig)
|
|
}
|
|
|
|
// DeleteContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) DeleteContainer(podID, containerID string) (VCContainer, error) {
|
|
return DeleteContainer(podID, containerID)
|
|
}
|
|
|
|
// StartContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) StartContainer(podID, containerID string) (VCContainer, error) {
|
|
return StartContainer(podID, containerID)
|
|
}
|
|
|
|
// StopContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) StopContainer(podID, containerID string) (VCContainer, error) {
|
|
return StopContainer(podID, containerID)
|
|
}
|
|
|
|
// EnterContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) EnterContainer(podID, containerID string, cmd Cmd) (VCPod, VCContainer, *Process, error) {
|
|
return EnterContainer(podID, containerID, cmd)
|
|
}
|
|
|
|
// StatusContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) StatusContainer(podID, containerID string) (ContainerStatus, error) {
|
|
return StatusContainer(podID, containerID)
|
|
}
|
|
|
|
// KillContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) KillContainer(podID, containerID string, signal syscall.Signal, all bool) error {
|
|
return KillContainer(podID, containerID, signal, all)
|
|
}
|
|
|
|
// ProcessListContainer implements the VC function of the same name.
|
|
func (impl *VCImpl) ProcessListContainer(podID, containerID string, options ProcessListOptions) (ProcessList, error) {
|
|
return ProcessListContainer(podID, containerID, options)
|
|
}
|