containerd/patch/0039-containerd-modify-containerd-shim-to-ad.patch
2019-12-30 12:24:38 +08:00

52 lines
1.6 KiB
Diff

From 5eef82c3c41eabb532cd7520acf7e8587b76d8b5 Mon Sep 17 00:00:00 2001
From: jiangpengfei <jiangpengfei9@huawei.com>
Date: Wed, 10 Jul 2019 15:07:46 -0400
Subject: [PATCH] containerd: modify containerd-shim to adapt runv
runtime
reason: containerd-shim pass a too long runtime root path to runv runtime, which cause hyperstartgrpc.sock
file absolute path exceed the max length of Unix Socket(max length is 108).
Signed-off-by: jiangpengfei <jiangpengfei9@huawei.com>
---
runtime/v1/linux/proc/init.go | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/runtime/v1/linux/proc/init.go b/runtime/v1/linux/proc/init.go
index 5b23671..d464147 100644
--- a/runtime/v1/linux/proc/init.go
+++ b/runtime/v1/linux/proc/init.go
@@ -44,6 +44,9 @@ import (
// InitPidFile name of the file that contains the init pid
const InitPidFile = "init.pid"
+// Default runv runtime root dir
+const defaultRunvRoot = "/run/runv"
+
// Init represents an initial process for a container
type Init struct {
wg sync.WaitGroup
@@ -83,12 +86,18 @@ func NewRunc(root, path, namespace, runtime, criu string, systemd bool) *runc.Ru
if root == "" {
root = RuncRoot
}
+
+ rootPath := filepath.Join(root, namespace)
+ if strings.Contains(runtime, "runv") {
+ rootPath = defaultRunvRoot
+ }
+
return &runc.Runc{
Command: runtime,
Log: filepath.Join(path, "log.json"),
LogFormat: runc.JSON,
PdeathSignal: syscall.SIGKILL,
- Root: filepath.Join(root, namespace),
+ Root: rootPath,
Criu: criu,
SystemdCgroup: systemd,
}
--
1.8.3.1