From 5ab6ec304656e539f97a8f1ddab9ab2b0076fb4a Mon Sep 17 00:00:00 2001 From: Mrunal Patel Date: Mon, 14 Aug 2017 12:43:56 -0700 Subject: [PATCH] oci: Add volumes field to Container We add a ContainerVolume struct and store a list of volumes in the Container object for quick retrieval. Signed-off-by: Mrunal Patel --- oci/container.go | 19 +++++++++++++++++++ pkg/annotations/annotations.go | 3 +++ 2 files changed, 22 insertions(+) diff --git a/oci/container.go b/oci/container.go index dddc7987..8eaf292b 100644 --- a/oci/container.go +++ b/oci/container.go @@ -45,6 +45,14 @@ type Container struct { stopSignal string imageName string imageRef string + volumes []ContainerVolume +} + +// ContainerVolume is a bind mount for the container. +type ContainerVolume struct { + ContainerPath string `json:"container_path"` + HostPath string `json:"host_path"` + Readonly bool `json:"readonly"` } // ContainerState represents the status of a container. @@ -198,3 +206,14 @@ func (c *Container) State() *ContainerState { defer c.opLock.Unlock() return c.state } + +// AddVolume adds a volume to list of container volumes. +func (c *Container) AddVolume(v ContainerVolume) { + c.volumes = append(c.volumes, v) +} + +// Volumes returns the list of container volumes. +func (c *Container) Volumes() []ContainerVolume { + return c.volumes + +} diff --git a/pkg/annotations/annotations.go b/pkg/annotations/annotations.go index 0cdba43c..0b8a5ea1 100644 --- a/pkg/annotations/annotations.go +++ b/pkg/annotations/annotations.go @@ -69,6 +69,9 @@ const ( // StdinOnce is the stdin_once annotation StdinOnce = "io.kubernetes.cri-o.StdinOnce" + + // Volumes is the volumes annotatoin + Volumes = "io.kubernetes.cri-o.Volumes" ) // ContainerType values