utils

package
v0.0.0-...-c27c9a0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2024 License: Apache-2.0, MIT Imports: 7 Imported by: 5

Documentation

Overview

Package utils container miscellaneous utility function used by the shim.

Index

Constants

View Source
const (

	// ContainerTypeAnnotation is they key that defines sandbox or container.
	ContainerTypeAnnotation = "io.kubernetes.cri.container-type"

	// ContainerTypeContainer is the value for container.
	ContainerTypeContainer = "container"
)

Annotations from the CRI annotations package.

These are vendor due to import conflicts.

Variables

This section is empty.

Functions

func IsSandbox

func IsSandbox(spec *specs.Spec) bool

IsSandbox checks whether a container is a sandbox container.

func PanicLogPath

func PanicLogPath(spec *specs.Spec) string

PanicLogPath gets the panic log path from OCI annotation.

func ReadSpec

func ReadSpec(bundle string) (*specs.Spec, error)

ReadSpec reads OCI spec from the bundle directory.

func UpdateVolumeAnnotations

func UpdateVolumeAnnotations(s *specs.Spec) (bool, error)

UpdateVolumeAnnotations add necessary OCI annotations for gvisor volume optimization. Returns true if the spec was modified.

Note about EmptyDir handling: The admission controller sets mount annotations for EmptyDir as follows: - For EmptyDir volumes with medium=Memory, the "type" field is set to tmpfs. - For EmptyDir volumes with medium="", the "type" field is set to bind.

The container spec has EmptyDir mount points as bind mounts. This method modifies the spec as follows: - The "type" mount annotation for all EmptyDirs is changed to tmpfs. - The mount type in spec.Mounts[i].Type is changed as follows:

  • For EmptyDir volumes with medium=Memory, we change it to tmpfs.
  • For EmptyDir volumes with medium="", we leave it as a bind mount.
  • (Essentially we set it to what the admission controller said.)

runsc should use these two setting to infer EmptyDir medium:

  • tmpfs annotation type + tmpfs mount type = memory-backed EmptyDir
  • tmpfs annotation type + bind mount type = disk-backed EmptyDir

func UserLogPath

func UserLogPath(spec *specs.Spec) string

UserLogPath gets user log path from OCI annotation.

func WriteSpec

func WriteSpec(bundle string, spec *specs.Spec) error

WriteSpec writes OCI spec to the bundle directory.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL