From 0f26f1cd6f7513ce6c949b4a784c159b9884d847 Mon Sep 17 00:00:00 2001 From: "James O. D. Hunt" Date: Thu, 29 Oct 2020 09:23:21 +0000 Subject: [PATCH] annotations: Add missing hypervisor control annotation Add missing annotation definitions for a hypervisor control binary: - `io.katacontainers.config.hypervisor.ctlpath` - `io.katacontainers.config.hypervisor.hypervisorctl_hash` Signed-off-by: James O. D. Hunt --- src/runtime/virtcontainers/pkg/annotations/annotations.go | 6 ++++++ src/runtime/virtcontainers/types/asset.go | 4 ++++ src/runtime/virtcontainers/types/asset_test.go | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/runtime/virtcontainers/pkg/annotations/annotations.go b/src/runtime/virtcontainers/pkg/annotations/annotations.go index d044e8891f..8e4306aef6 100644 --- a/src/runtime/virtcontainers/pkg/annotations/annotations.go +++ b/src/runtime/virtcontainers/pkg/annotations/annotations.go @@ -42,6 +42,9 @@ const ( // HypervisorPath is a sandbox annotation for passing a per container path pointing at the hypervisor that will run the container VM. HypervisorPath = kataAnnotHypervisorPrefix + "path" + // HypervisorCtlPath is a sandbox annotation for passing a per container path pointing at the hypervisor control binary that will run the container VM. + HypervisorCtlPath = kataAnnotHypervisorPrefix + "ctlpath" + // JailerPath is a sandbox annotation for passing a per container path pointing at the jailer that will constrain the container VM. JailerPath = kataAnnotHypervisorPrefix + "jailer_path" @@ -63,6 +66,9 @@ const ( // HypervisorHash is an sandbox annotation for passing a container hypervisor binary SHA-512 hash value. HypervisorHash = kataAnnotHypervisorPrefix + "hypervisor_hash" + // HypervisorCtlHash is a sandbox annotation for passing a container hypervisor control binary SHA-512 hash value. + HypervisorCtlHash = kataAnnotHypervisorPrefix + "hypervisorctl_hash" + // JailerHash is an sandbox annotation for passing a jailer binary SHA-512 hash value. JailerHash = kataAnnotHypervisorPrefix + "jailer_hash" diff --git a/src/runtime/virtcontainers/types/asset.go b/src/runtime/virtcontainers/types/asset.go index 7dc111f831..329cd24c4c 100644 --- a/src/runtime/virtcontainers/types/asset.go +++ b/src/runtime/virtcontainers/types/asset.go @@ -29,6 +29,8 @@ func (t AssetType) Annotations() (string, string, error) { return annotations.InitrdPath, annotations.InitrdHash, nil case HypervisorAsset: return annotations.HypervisorPath, annotations.HypervisorHash, nil + case HypervisorCtlAsset: + return annotations.HypervisorCtlPath, annotations.HypervisorCtlHash, nil case JailerAsset: return annotations.JailerPath, annotations.JailerHash, nil case FirmwareAsset: @@ -93,6 +95,8 @@ func (a *Asset) Valid() bool { return true case HypervisorAsset: return true + case HypervisorCtlAsset: + return true case JailerAsset: return true case FirmwareAsset: diff --git a/src/runtime/virtcontainers/types/asset_test.go b/src/runtime/virtcontainers/types/asset_test.go index 4ddbb0e43a..d645173cc5 100644 --- a/src/runtime/virtcontainers/types/asset_test.go +++ b/src/runtime/virtcontainers/types/asset_test.go @@ -116,6 +116,7 @@ func TestAssetNew(t *testing.T) { {annotations.ImagePath, annotations.ImageHash, ImageAsset, assetContentHash, false, false}, {annotations.InitrdPath, annotations.InitrdHash, InitrdAsset, assetContentHash, false, false}, {annotations.HypervisorPath, annotations.HypervisorHash, HypervisorAsset, assetContentHash, false, false}, + {annotations.HypervisorCtlPath, annotations.HypervisorCtlHash, HypervisorCtlAsset, assetContentHash, false, false}, {annotations.JailerPath, annotations.JailerHash, JailerAsset, assetContentHash, false, false}, {annotations.FirmwarePath, annotations.FirmwareHash, FirmwareAsset, assetContentHash, false, false}, @@ -124,6 +125,7 @@ func TestAssetNew(t *testing.T) { {annotations.ImagePath, annotations.ImageHash, ImageAsset, assetContentWrongHash, true, false}, {annotations.InitrdPath, annotations.InitrdHash, InitrdAsset, assetContentWrongHash, true, false}, {annotations.HypervisorPath, annotations.HypervisorHash, HypervisorAsset, assetContentWrongHash, true, false}, + {annotations.HypervisorCtlPath, annotations.HypervisorCtlHash, HypervisorCtlAsset, assetContentWrongHash, true, false}, {annotations.JailerPath, annotations.JailerHash, JailerAsset, assetContentWrongHash, true, false}, {annotations.FirmwarePath, annotations.FirmwareHash, FirmwareAsset, assetContentWrongHash, true, false},