Move everything in libpod into a single package for simplicity
Signed-off-by: Matthew Heon <mheon@redhat.com>
This commit is contained in:
parent
251f16af80
commit
bb77300641
4 changed files with 28 additions and 32 deletions
|
@ -1,4 +1,4 @@
|
||||||
package ctr
|
package libpod
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -8,7 +8,7 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// ErrNotImplemented indicates that functionality is not yet implemented
|
// ErrNotImplemented indicates that functionality is not yet implemented
|
||||||
ErrNotImplemented = fmt.Errorf("NOT IMPLEMENTED")
|
errNotImplemented = fmt.Errorf("NOT IMPLEMENTED")
|
||||||
)
|
)
|
||||||
|
|
||||||
// Container is a single OCI container
|
// Container is a single OCI container
|
||||||
|
@ -18,52 +18,52 @@ type Container struct {
|
||||||
|
|
||||||
// Create creates a container in the OCI runtime
|
// Create creates a container in the OCI runtime
|
||||||
func (c *Container) Create() error {
|
func (c *Container) Create() error {
|
||||||
return ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start starts a container
|
// Start starts a container
|
||||||
func (c *Container) Start() error {
|
func (c *Container) Start() error {
|
||||||
return ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop stops a container
|
// Stop stops a container
|
||||||
func (c *Container) Stop() error {
|
func (c *Container) Stop() error {
|
||||||
return ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Kill sends a signal to a container
|
// Kill sends a signal to a container
|
||||||
func (c *Container) Kill(signal uint) error {
|
func (c *Container) Kill(signal uint) error {
|
||||||
return ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec starts a new process inside the container
|
// Exec starts a new process inside the container
|
||||||
// Returns fully qualified URL of streaming server for executed process
|
// Returns fully qualified URL of streaming server for executed process
|
||||||
func (c *Container) Exec(cmd []string, tty bool, stdin bool) (string, error) {
|
func (c *Container) Exec(cmd []string, tty bool, stdin bool) (string, error) {
|
||||||
return "", ErrNotImplemented
|
return "", errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attach attaches to a container
|
// Attach attaches to a container
|
||||||
// Returns fully qualified URL of streaming server for the container
|
// Returns fully qualified URL of streaming server for the container
|
||||||
func (c *Container) Attach(stdin, tty bool) (string, error) {
|
func (c *Container) Attach(stdin, tty bool) (string, error) {
|
||||||
return "", ErrNotImplemented
|
return "", errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mount mounts a container's filesystem on the host
|
// Mount mounts a container's filesystem on the host
|
||||||
// The path where the container has been mounted is returned
|
// The path where the container has been mounted is returned
|
||||||
func (c *Container) Mount() (string, error) {
|
func (c *Container) Mount() (string, error) {
|
||||||
return "", ErrNotImplemented
|
return "", errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Status gets a container's status
|
// Status gets a container's status
|
||||||
// TODO this should return relevant information about container state
|
// TODO this should return relevant information about container state
|
||||||
func (c *Container) Status() error {
|
func (c *Container) Status() error {
|
||||||
return ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Export exports a container's root filesystem as a tar archive
|
// Export exports a container's root filesystem as a tar archive
|
||||||
// The archive will be saved as a file at the given path
|
// The archive will be saved as a file at the given path
|
||||||
func (c *Container) Export(path string) error {
|
func (c *Container) Export(path string) error {
|
||||||
return ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit commits the changes between a container and its image, creating a new
|
// Commit commits the changes between a container and its image, creating a new
|
||||||
|
@ -73,5 +73,5 @@ func (c *Container) Export(path string) error {
|
||||||
// a new base image will be created from the contents of the container's
|
// a new base image will be created from the contents of the container's
|
||||||
// filesystem
|
// filesystem
|
||||||
func (c *Container) Commit() (*storage.Image, error) {
|
func (c *Container) Commit() (*storage.Image, error) {
|
||||||
return nil, ErrNotImplemented
|
return nil, errNotImplemented
|
||||||
}
|
}
|
|
@ -5,13 +5,11 @@ import (
|
||||||
|
|
||||||
"github.com/containers/storage"
|
"github.com/containers/storage"
|
||||||
"github.com/containers/storage/pkg/idtools"
|
"github.com/containers/storage/pkg/idtools"
|
||||||
"github.com/kubernetes-incubator/cri-o/libpod/ctr"
|
|
||||||
"github.com/kubernetes-incubator/cri-o/libpod/pod"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
errRuntimeFinalized = fmt.Errorf("runtime has already been finalized")
|
errRuntimeFinalized = fmt.Errorf("runtime has already been finalized")
|
||||||
ctrNotImplemented = func(c *ctr.Container) error {
|
ctrNotImplemented = func(c *Container) error {
|
||||||
return fmt.Errorf("NOT IMPLEMENTED")
|
return fmt.Errorf("NOT IMPLEMENTED")
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -198,12 +196,12 @@ func WithRootFSFromImage(image string, useImageConfig bool) CtrCreateOption {
|
||||||
// be added to the pod.
|
// be added to the pod.
|
||||||
// By default no namespaces are shared. To share a namespace, add the Namespace
|
// By default no namespaces are shared. To share a namespace, add the Namespace
|
||||||
// string constant to the map as a key
|
// string constant to the map as a key
|
||||||
func WithSharedNamespaces(from *ctr.Container, namespaces map[string]string) CtrCreateOption {
|
func WithSharedNamespaces(from *Container, namespaces map[string]string) CtrCreateOption {
|
||||||
return ctrNotImplemented
|
return ctrNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithPod adds the container to a pod
|
// WithPod adds the container to a pod
|
||||||
func WithPod(pod *pod.Pod) CtrCreateOption {
|
func WithPod(pod *Pod) CtrCreateOption {
|
||||||
return ctrNotImplemented
|
return ctrNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package pod
|
package libpod
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kubernetes-incubator/cri-o/libpod/ctr"
|
"github.com/kubernetes-incubator/cri-o/libpod/ctr"
|
||||||
|
@ -11,26 +11,26 @@ type Pod struct {
|
||||||
|
|
||||||
// Start starts all containers within a pod that are not already running
|
// Start starts all containers within a pod that are not already running
|
||||||
func (p *Pod) Start() error {
|
func (p *Pod) Start() error {
|
||||||
return ctr.ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop stops all containers within a pod that are not already stopped
|
// Stop stops all containers within a pod that are not already stopped
|
||||||
func (p *Pod) Stop() error {
|
func (p *Pod) Stop() error {
|
||||||
return ctr.ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Kill sends a signal to all running containers within a pod
|
// Kill sends a signal to all running containers within a pod
|
||||||
func (p *Pod) Kill(signal uint) error {
|
func (p *Pod) Kill(signal uint) error {
|
||||||
return ctr.ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetContainers retrieves the containers in the pod
|
// GetContainers retrieves the containers in the pod
|
||||||
func (p *Pod) GetContainers() ([]*ctr.Container, error) {
|
func (p *Pod) GetContainers() ([]*Container, error) {
|
||||||
return nil, ctr.ErrNotImplemented
|
return nil, errNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// Status gets the status of all containers in the pod
|
// Status gets the status of all containers in the pod
|
||||||
// TODO This should return a summary of the states of all containers in the pod
|
// TODO This should return a summary of the states of all containers in the pod
|
||||||
func (p *Pod) Status() error {
|
func (p *Pod) Status() error {
|
||||||
return ctr.ErrNotImplemented
|
return errNotImplemented
|
||||||
}
|
}
|
|
@ -6,8 +6,6 @@ import (
|
||||||
|
|
||||||
"github.com/containers/image/types"
|
"github.com/containers/image/types"
|
||||||
"github.com/containers/storage"
|
"github.com/containers/storage"
|
||||||
"github.com/kubernetes-incubator/cri-o/libpod/ctr"
|
|
||||||
"github.com/kubernetes-incubator/cri-o/libpod/pod"
|
|
||||||
"github.com/kubernetes-incubator/cri-o/server/apparmor"
|
"github.com/kubernetes-incubator/cri-o/server/apparmor"
|
||||||
"github.com/kubernetes-incubator/cri-o/server/seccomp"
|
"github.com/kubernetes-incubator/cri-o/server/seccomp"
|
||||||
spec "github.com/opencontainers/runtime-spec/specs-go"
|
spec "github.com/opencontainers/runtime-spec/specs-go"
|
||||||
|
@ -136,22 +134,22 @@ func (r *Runtime) Shutdown(force bool) error {
|
||||||
|
|
||||||
// A CtrCreateOption is a functional option which alters the Container created
|
// A CtrCreateOption is a functional option which alters the Container created
|
||||||
// by NewContainer
|
// by NewContainer
|
||||||
type CtrCreateOption func(*ctr.Container) error
|
type CtrCreateOption func(*Container) error
|
||||||
|
|
||||||
// ContainerFilter is a function to determine whether a container is included
|
// ContainerFilter is a function to determine whether a container is included
|
||||||
// in command output. Containers to be outputted are tested using the function.
|
// in command output. Containers to be outputted are tested using the function.
|
||||||
// A true return will include the container, a false return will exclude it.
|
// A true return will include the container, a false return will exclude it.
|
||||||
type ContainerFilter func(*ctr.Container) bool
|
type ContainerFilter func(*Container) bool
|
||||||
|
|
||||||
// NewContainer creates a new container from a given OCI config
|
// NewContainer creates a new container from a given OCI config
|
||||||
func (r *Runtime) NewContainer(spec *spec.Spec, options ...CtrCreateOption) (*ctr.Container, error) {
|
func (r *Runtime) NewContainer(spec *spec.Spec, options ...CtrCreateOption) (*Container, error) {
|
||||||
return nil, ctr.ErrNotImplemented
|
return nil, ctr.ErrNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveContainer removes the given container
|
// RemoveContainer removes the given container
|
||||||
// If force is specified, the container will be stopped first
|
// If force is specified, the container will be stopped first
|
||||||
// Otherwise, RemoveContainer will return an error if the container is running
|
// Otherwise, RemoveContainer will return an error if the container is running
|
||||||
func (r *Runtime) RemoveContainer(c *ctr.Container, force bool) error {
|
func (r *Runtime) RemoveContainer(c *Container, force bool) error {
|
||||||
return ctr.ErrNotImplemented
|
return ctr.ErrNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +177,7 @@ func (r *Runtime) GetContainers(filters ...ContainerFilter) ([]*ctr.Container, e
|
||||||
// PodFilter is a function to determine whether a pod is included in command
|
// PodFilter is a function to determine whether a pod is included in command
|
||||||
// output. Pods to be outputted are tested using the function. A true return
|
// output. Pods to be outputted are tested using the function. A true return
|
||||||
// will include the pod, a false return will exclude it.
|
// will include the pod, a false return will exclude it.
|
||||||
type PodFilter func(*pod.Pod) bool
|
type PodFilter func(*Pod) bool
|
||||||
|
|
||||||
// NewPod makes a new, empty pod
|
// NewPod makes a new, empty pod
|
||||||
func (r *Runtime) NewPod() (*pod.Pod, error) {
|
func (r *Runtime) NewPod() (*pod.Pod, error) {
|
||||||
|
@ -190,7 +188,7 @@ func (r *Runtime) NewPod() (*pod.Pod, error) {
|
||||||
// If force is specified, all containers in the pod will be stopped first
|
// If force is specified, all containers in the pod will be stopped first
|
||||||
// Otherwise, RemovePod will return an error if any container in the pod is running
|
// Otherwise, RemovePod will return an error if any container in the pod is running
|
||||||
// Remove acts atomically, removing all containers or no containers
|
// Remove acts atomically, removing all containers or no containers
|
||||||
func (r *Runtime) RemovePod(p *pod.Pod, force bool) error {
|
func (r *Runtime) RemovePod(p *Pod, force bool) error {
|
||||||
return ctr.ErrNotImplemented
|
return ctr.ErrNotImplemented
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue