mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-23 01:04:25 +01:00
virtcontainers: Initial import
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>
This commit is contained in:
119
virtcontainers/implementation.go
Normal file
119
virtcontainers/implementation.go
Normal file
@@ -0,0 +1,119 @@
|
||||
// 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)
|
||||
}
|
||||
Reference in New Issue
Block a user