diff --git a/cmd/containerd-shim/main_unix.go b/cmd/containerd-shim/main_unix.go index 18e9a47d4..45e5c205f 100644 --- a/cmd/containerd-shim/main_unix.go +++ b/cmd/containerd-shim/main_unix.go @@ -78,7 +78,7 @@ func parseFlags() { flag.StringVar(&addressFlag, "address", "", "grpc address back to main containerd") flag.StringVar(&workdirFlag, "workdir", "", "path used to storage large temporary data") flag.StringVar(&runtimeRootFlag, "runtime-root", process.RuncRoot, "root directory for the runtime") - flag.StringVar(&criuFlag, "criu", "", "path to criu binary") + flag.StringVar(&criuFlag, "criu", "", "path to criu binary (deprecated: do not use)") flag.BoolVar(&systemdCgroupFlag, "systemd-cgroup", false, "set runtime to use systemd-cgroup") // currently, the `containerd publish` utility is embedded in the daemon binary. // The daemon invokes `containerd-shim -containerd-binary ...` with its own os.Executable() path. @@ -176,7 +176,6 @@ func executeShim() error { Path: path, Namespace: namespaceFlag, WorkDir: workdirFlag, - Criu: criuFlag, SystemdCgroup: systemdCgroupFlag, RuntimeRoot: runtimeRootFlag, }, diff --git a/pkg/process/init.go b/pkg/process/init.go index 26aebdcb5..75eb0d187 100644 --- a/pkg/process/init.go +++ b/pkg/process/init.go @@ -79,7 +79,7 @@ type Init struct { } // NewRunc returns a new runc instance for a process -func NewRunc(root, path, namespace, runtime, criu string, systemd bool) *runc.Runc { +func NewRunc(root, path, namespace, runtime string, systemd bool) *runc.Runc { if root == "" { root = RuncRoot } @@ -89,7 +89,6 @@ func NewRunc(root, path, namespace, runtime, criu string, systemd bool) *runc.Ru LogFormat: runc.JSON, PdeathSignal: unix.SIGKILL, Root: filepath.Join(root, namespace), - Criu: criu, SystemdCgroup: systemd, } } diff --git a/runtime/linux/runctypes/next.pb.txt b/runtime/linux/runctypes/next.pb.txt index 863c49ff1..724df8ec3 100755 --- a/runtime/linux/runctypes/next.pb.txt +++ b/runtime/linux/runctypes/next.pb.txt @@ -23,6 +23,9 @@ file { number: 3 label: LABEL_OPTIONAL type: TYPE_STRING + options { + deprecated: true + } json_name: "criuPath" } field { diff --git a/runtime/linux/runctypes/runc.pb.go b/runtime/linux/runctypes/runc.pb.go index cb8274cc5..ce30e6e2a 100644 --- a/runtime/linux/runctypes/runc.pb.go +++ b/runtime/linux/runctypes/runc.pb.go @@ -26,9 +26,15 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type RuncOptions struct { - Runtime string `protobuf:"bytes,1,opt,name=runtime,proto3" json:"runtime,omitempty"` - RuntimeRoot string `protobuf:"bytes,2,opt,name=runtime_root,json=runtimeRoot,proto3" json:"runtime_root,omitempty"` - CriuPath string `protobuf:"bytes,3,opt,name=criu_path,json=criuPath,proto3" json:"criu_path,omitempty"` + Runtime string `protobuf:"bytes,1,opt,name=runtime,proto3" json:"runtime,omitempty"` + RuntimeRoot string `protobuf:"bytes,2,opt,name=runtime_root,json=runtimeRoot,proto3" json:"runtime_root,omitempty"` + // criu binary path. + // + // Deprecated: runc option --criu is now ignored (with a warning), and the + // option will be removed entirely in a future release. Users who need a non- + // standard criu binary should rely on the standard way of looking up binaries + // in $PATH. + CriuPath string `protobuf:"bytes,3,opt,name=criu_path,json=criuPath,proto3" json:"criu_path,omitempty"` // Deprecated: Do not use. SystemdCgroup bool `protobuf:"varint,4,opt,name=systemd_cgroup,json=systemdCgroup,proto3" json:"systemd_cgroup,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -216,45 +222,45 @@ func init() { } var fileDescriptor_d20e2ba8b3cc58b9 = []byte{ - // 605 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x94, 0xcf, 0x6e, 0xd3, 0x4a, - 0x14, 0xc6, 0xeb, 0xfe, 0x49, 0x9c, 0x93, 0xa4, 0xbd, 0x77, 0xee, 0xad, 0xe4, 0xdb, 0xaa, 0x69, - 0x6e, 0xf8, 0xa3, 0xb0, 0x49, 0x25, 0x10, 0x2b, 0x76, 0x4d, 0x11, 0xaa, 0x80, 0x52, 0x19, 0x2a, - 0x24, 0x84, 0x34, 0x72, 0xc7, 0x87, 0x64, 0x94, 0x78, 0x8e, 0xe5, 0x19, 0x93, 0x64, 0xc7, 0x13, - 0xf0, 0x42, 0xbc, 0x40, 0x57, 0x88, 0x25, 0x2b, 0x44, 0xf3, 0x24, 0x68, 0xc6, 0x76, 0xda, 0x35, - 0x4b, 0x76, 0xe7, 0xfc, 0xce, 0x67, 0x9f, 0xa3, 0xef, 0x93, 0x0d, 0xc3, 0x91, 0x34, 0xe3, 0xfc, - 0x72, 0x20, 0x28, 0x39, 0x12, 0xa4, 0x4c, 0x24, 0x15, 0x66, 0xf1, 0xed, 0x32, 0xcb, 0x95, 0x91, - 0x09, 0x1e, 0x4d, 0xa5, 0xca, 0xe7, 0xb6, 0x13, 0x66, 0x91, 0xa2, 0x76, 0xd5, 0x20, 0xcd, 0xc8, - 0x10, 0xdb, 0xbd, 0x91, 0x0f, 0x9c, 0x6c, 0x60, 0x87, 0x7b, 0xff, 0x8e, 0x68, 0x44, 0x4e, 0x71, - 0x64, 0xab, 0x42, 0xdc, 0xfb, 0xec, 0x41, 0x33, 0xcc, 0x95, 0x78, 0x95, 0x1a, 0x49, 0x4a, 0xb3, - 0x00, 0xea, 0xe5, 0x8a, 0xc0, 0xeb, 0x7a, 0xfd, 0x46, 0x58, 0xb5, 0xec, 0x7f, 0x68, 0x95, 0x25, - 0xcf, 0x88, 0x4c, 0xb0, 0xee, 0xc6, 0xcd, 0x92, 0x85, 0x44, 0x86, 0xed, 0x43, 0x43, 0x64, 0x32, - 0xe7, 0x69, 0x64, 0xc6, 0xc1, 0x86, 0x9b, 0xfb, 0x16, 0x9c, 0x47, 0x66, 0xcc, 0xee, 0xc1, 0xb6, - 0x5e, 0x68, 0x83, 0x49, 0xcc, 0xc5, 0x28, 0xa3, 0x3c, 0x0d, 0x36, 0xbb, 0x5e, 0xdf, 0x0f, 0xdb, - 0x25, 0x1d, 0x3a, 0xd8, 0xfb, 0xba, 0x01, 0xed, 0x61, 0x86, 0x91, 0xc1, 0xea, 0xa4, 0x1e, 0xb4, - 0x15, 0xf1, 0x54, 0x7e, 0x24, 0x53, 0x6c, 0xf6, 0xdc, 0x73, 0x4d, 0x45, 0xe7, 0x96, 0xb9, 0xcd, - 0xff, 0x81, 0x4f, 0x29, 0x2a, 0x6e, 0x44, 0xea, 0x0e, 0xf3, 0xc3, 0xba, 0xed, 0xdf, 0x88, 0x94, - 0x3d, 0x84, 0x5d, 0x9c, 0x1b, 0xcc, 0x54, 0x34, 0xe5, 0xb9, 0x92, 0x73, 0xae, 0x49, 0x4c, 0xd0, - 0x68, 0x77, 0xa0, 0x1f, 0xfe, 0x53, 0x0d, 0x2f, 0x94, 0x9c, 0xbf, 0x2e, 0x46, 0x6c, 0x0f, 0x7c, - 0x83, 0x59, 0x22, 0x55, 0x34, 0x2d, 0xaf, 0x5c, 0xf5, 0xec, 0x00, 0xe0, 0x83, 0x9c, 0x22, 0x9f, - 0x92, 0x98, 0xe8, 0x60, 0xcb, 0x4d, 0x1b, 0x96, 0xbc, 0xb0, 0x80, 0x3d, 0x80, 0xbf, 0x30, 0x49, - 0xcd, 0x82, 0xab, 0x28, 0x41, 0x9d, 0x46, 0x02, 0x75, 0x50, 0xeb, 0x6e, 0xf4, 0x1b, 0xe1, 0x8e, - 0xe3, 0x67, 0x2b, 0x6c, 0x1d, 0x2d, 0x9c, 0xd0, 0x3c, 0xa1, 0x18, 0x83, 0x7a, 0xe1, 0x68, 0xc9, - 0x5e, 0x52, 0x8c, 0xec, 0x2e, 0x6c, 0x2b, 0xe2, 0x0a, 0x67, 0x7c, 0x82, 0x8b, 0x4c, 0xaa, 0x51, - 0xe0, 0xbb, 0x85, 0x2d, 0x45, 0x67, 0x38, 0x7b, 0x5e, 0x30, 0x76, 0x08, 0x4d, 0x3d, 0x96, 0x49, - 0xe5, 0x6b, 0xc3, 0xbd, 0x07, 0x2c, 0x2a, 0x4c, 0x65, 0xbb, 0x50, 0x93, 0xc4, 0x73, 0x19, 0x07, - 0xd0, 0xf5, 0xfa, 0xed, 0x70, 0x4b, 0xd2, 0x85, 0x8c, 0x4b, 0x3c, 0x92, 0x71, 0xd0, 0xac, 0xf0, - 0x33, 0x19, 0xdb, 0xa5, 0x2e, 0xc6, 0x19, 0x65, 0x93, 0x22, 0xcb, 0x96, 0x7b, 0x63, 0xcb, 0xd2, - 0xb7, 0x94, 0x4d, 0x5c, 0x9e, 0xf7, 0x61, 0xc7, 0xa9, 0x64, 0x12, 0x8d, 0xb0, 0x90, 0xb5, 0x9d, - 0xac, 0x6d, 0xf1, 0xa9, 0xa5, 0x56, 0xd7, 0xfb, 0xb2, 0x0e, 0x7f, 0x0f, 0xc7, 0x28, 0x26, 0x29, - 0x49, 0x65, 0xaa, 0x50, 0x19, 0x6c, 0xe2, 0x5c, 0x56, 0x59, 0xba, 0xfa, 0x8f, 0x0d, 0x71, 0x1f, - 0x1a, 0x37, 0x56, 0xfa, 0xc5, 0x67, 0x31, 0xab, 0x6c, 0x3c, 0x00, 0xb8, 0xe5, 0x60, 0x11, 0x5d, - 0x43, 0xae, 0xdc, 0x7b, 0x0c, 0xdb, 0xe7, 0x19, 0x09, 0xd4, 0xfa, 0x04, 0x4d, 0x24, 0xa7, 0x9a, - 0xdd, 0x81, 0x3a, 0xce, 0x51, 0x70, 0x19, 0x17, 0x5f, 0xe8, 0x31, 0x2c, 0x7f, 0x1c, 0xd6, 0x9e, - 0xce, 0x51, 0x9c, 0x9e, 0x84, 0x35, 0x3b, 0x3a, 0x8d, 0x8f, 0xdf, 0x5f, 0x5d, 0x77, 0xd6, 0xbe, - 0x5f, 0x77, 0xd6, 0x3e, 0x2d, 0x3b, 0xde, 0xd5, 0xb2, 0xe3, 0x7d, 0x5b, 0x76, 0xbc, 0x9f, 0xcb, - 0x8e, 0xf7, 0xee, 0xf8, 0x77, 0x7f, 0x31, 0x4f, 0x56, 0xd5, 0x65, 0xcd, 0xfd, 0x3b, 0x1e, 0xfd, - 0x0a, 0x00, 0x00, 0xff, 0xff, 0x72, 0x8a, 0x0a, 0x26, 0xaf, 0x04, 0x00, 0x00, + // 606 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x94, 0xcf, 0x6e, 0xd3, 0x40, + 0x10, 0xc6, 0xeb, 0xfe, 0x49, 0x9c, 0x49, 0xd2, 0xc2, 0x42, 0x25, 0x53, 0xd4, 0x34, 0x84, 0x3f, + 0x0a, 0x97, 0x54, 0x02, 0x71, 0xe2, 0x96, 0x14, 0xa1, 0x0a, 0x28, 0x95, 0xa1, 0x42, 0x42, 0x48, + 0x2b, 0x77, 0x3d, 0x24, 0xab, 0xc4, 0x3b, 0x96, 0x77, 0x4d, 0x92, 0x1b, 0xcf, 0xc0, 0xeb, 0xf0, + 0x02, 0x3d, 0x21, 0x8e, 0x9c, 0x10, 0xcd, 0x93, 0xa0, 0x5d, 0xc7, 0x69, 0xcf, 0x1c, 0xb9, 0xcd, + 0xfc, 0xbe, 0x2f, 0x9e, 0xd1, 0x37, 0xca, 0xc2, 0x60, 0x28, 0xcd, 0x28, 0x3f, 0xef, 0x09, 0x4a, + 0x0e, 0x05, 0x29, 0x13, 0x49, 0x85, 0x59, 0x7c, 0xbd, 0xcc, 0x72, 0x65, 0x64, 0x82, 0x87, 0x13, + 0xa9, 0xf2, 0x99, 0xed, 0x84, 0x99, 0xa7, 0xa8, 0x5d, 0xd5, 0x4b, 0x33, 0x32, 0xc4, 0x76, 0xaf, + 0xec, 0x3d, 0x67, 0xeb, 0x59, 0x71, 0xef, 0xf6, 0x90, 0x86, 0xe4, 0x1c, 0x87, 0xb6, 0x2a, 0xcc, + 0x9d, 0x6f, 0x1e, 0xd4, 0xc3, 0x5c, 0x89, 0xb7, 0xa9, 0x91, 0xa4, 0x34, 0x0b, 0xa0, 0xba, 0x1c, + 0x11, 0x78, 0x6d, 0xaf, 0x5b, 0x0b, 0xcb, 0x96, 0xdd, 0x83, 0xc6, 0xb2, 0xe4, 0x19, 0x91, 0x09, + 0xd6, 0x9d, 0x5c, 0x5f, 0xb2, 0x90, 0xc8, 0xb0, 0x03, 0xa8, 0x89, 0x4c, 0xe6, 0x3c, 0x8d, 0xcc, + 0x28, 0xd8, 0xb0, 0x7a, 0x7f, 0x3d, 0xf0, 0x42, 0xdf, 0xc2, 0xd3, 0xc8, 0x8c, 0xd8, 0x43, 0xd8, + 0xd6, 0x73, 0x6d, 0x30, 0x89, 0xb9, 0x18, 0x66, 0x94, 0xa7, 0xc1, 0x66, 0xdb, 0xeb, 0xfa, 0x61, + 0x73, 0x49, 0x07, 0x0e, 0x76, 0x7e, 0x6c, 0x40, 0x73, 0x90, 0x61, 0x64, 0xb0, 0x5c, 0xab, 0x03, + 0x4d, 0x45, 0x3c, 0x95, 0x5f, 0xc8, 0x14, 0xd3, 0x3d, 0xf7, 0xbb, 0xba, 0xa2, 0x53, 0xcb, 0xdc, + 0xf4, 0x3b, 0xe0, 0x53, 0x8a, 0x8a, 0x1b, 0x91, 0xba, 0xe5, 0xfc, 0xb0, 0x6a, 0xfb, 0xf7, 0x22, + 0x65, 0x4f, 0x60, 0x17, 0x67, 0x06, 0x33, 0x15, 0x4d, 0x78, 0xae, 0xe4, 0x8c, 0x6b, 0x12, 0x63, + 0x34, 0xda, 0x2d, 0xe9, 0x87, 0xb7, 0x4a, 0xf1, 0x4c, 0xc9, 0xd9, 0xbb, 0x42, 0x62, 0x7b, 0xe0, + 0x1b, 0xcc, 0x12, 0xa9, 0xa2, 0xc9, 0x72, 0xcb, 0x55, 0xcf, 0xf6, 0x01, 0x3e, 0xcb, 0x09, 0xf2, + 0x09, 0x89, 0xb1, 0x0e, 0xb6, 0x9c, 0x5a, 0xb3, 0xe4, 0xb5, 0x05, 0xec, 0x31, 0xdc, 0xc0, 0x24, + 0x35, 0x73, 0xae, 0xa2, 0x04, 0x75, 0x1a, 0x09, 0xd4, 0x41, 0xa5, 0xbd, 0xd1, 0xad, 0x85, 0x3b, + 0x8e, 0x9f, 0xac, 0xb0, 0x4d, 0xb5, 0x48, 0x42, 0xf3, 0x84, 0x62, 0x0c, 0xaa, 0x45, 0xaa, 0x4b, + 0xf6, 0x86, 0x62, 0x64, 0x0f, 0x60, 0x5b, 0x11, 0x57, 0x38, 0xe5, 0x63, 0x9c, 0x67, 0x52, 0x0d, + 0x03, 0xdf, 0x0d, 0x6c, 0x28, 0x3a, 0xc1, 0xe9, 0xab, 0x82, 0xb1, 0x03, 0xa8, 0xeb, 0x91, 0x4c, + 0xca, 0x5c, 0x6b, 0xee, 0x3b, 0x60, 0x51, 0x11, 0x2a, 0xdb, 0x85, 0x8a, 0x24, 0x9e, 0xcb, 0x38, + 0x80, 0xb6, 0xd7, 0x6d, 0x86, 0x5b, 0x92, 0xce, 0x64, 0xbc, 0xc4, 0x43, 0x19, 0x07, 0xf5, 0x12, + 0xbf, 0x94, 0xb1, 0x1d, 0xea, 0x4e, 0x39, 0xa5, 0x6c, 0x5c, 0xdc, 0xb3, 0xe1, 0xbe, 0xd8, 0xb0, + 0xf4, 0x03, 0x65, 0x63, 0x77, 0xcf, 0x47, 0xb0, 0xe3, 0x5c, 0x32, 0x89, 0x86, 0x58, 0xd8, 0x9a, + 0xce, 0xd6, 0xb4, 0xf8, 0xd8, 0x52, 0xeb, 0xeb, 0x7c, 0x5f, 0x87, 0x9b, 0x83, 0x11, 0x8a, 0x71, + 0x4a, 0x52, 0x99, 0xf2, 0xa8, 0x0c, 0x36, 0x71, 0x26, 0xcb, 0x5b, 0xba, 0xfa, 0xbf, 0x3d, 0xe2, + 0x5d, 0xa8, 0x5d, 0x45, 0xe9, 0x3b, 0xdd, 0x9f, 0x96, 0x31, 0xee, 0x03, 0x5c, 0x4b, 0xb0, 0x38, + 0x5d, 0x4d, 0xae, 0xd2, 0x7b, 0x06, 0xdb, 0xa7, 0x19, 0x09, 0xd4, 0xfa, 0x08, 0x4d, 0x24, 0x27, + 0x9a, 0xdd, 0x87, 0x2a, 0xce, 0x50, 0x70, 0x19, 0x17, 0xff, 0xd2, 0x3e, 0x2c, 0x7e, 0x1f, 0x54, + 0x5e, 0xcc, 0x50, 0x1c, 0x1f, 0x85, 0x15, 0x2b, 0x1d, 0xc7, 0xfd, 0x4f, 0x17, 0x97, 0xad, 0xb5, + 0x5f, 0x97, 0xad, 0xb5, 0xaf, 0x8b, 0x96, 0x77, 0xb1, 0x68, 0x79, 0x3f, 0x17, 0x2d, 0xef, 0xcf, + 0xa2, 0xe5, 0x7d, 0xec, 0xff, 0xeb, 0x33, 0xf3, 0x7c, 0x55, 0x9d, 0x57, 0xdc, 0xfb, 0xf1, 0xf4, + 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0xbd, 0xd4, 0x57, 0xb3, 0x04, 0x00, 0x00, } func (m *RuncOptions) Marshal() (dAtA []byte, err error) { diff --git a/runtime/linux/runctypes/runc.proto b/runtime/linux/runctypes/runc.proto index f5bd7ef70..9a0f2732d 100644 --- a/runtime/linux/runctypes/runc.proto +++ b/runtime/linux/runctypes/runc.proto @@ -9,7 +9,13 @@ option go_package = "github.com/containerd/containerd/runtime/linux/runctypes;ru message RuncOptions { string runtime = 1; string runtime_root = 2; - string criu_path = 3; + // criu binary path. + // + // Deprecated: runc option --criu is now ignored (with a warning), and the + // option will be removed entirely in a future release. Users who need a non- + // standard criu binary should rely on the standard way of looking up binaries + // in $PATH. + string criu_path = 3 [deprecated = true]; bool systemd_cgroup = 4; } diff --git a/runtime/v1/linux/bundle.go b/runtime/v1/linux/bundle.go index b1830d004..d25957b83 100644 --- a/runtime/v1/linux/bundle.go +++ b/runtime/v1/linux/bundle.go @@ -217,12 +217,10 @@ func (b *bundle) decideShimAddress(namespace string) string { func (b *bundle) shimConfig(namespace string, c *Config, runcOptions *runctypes.RuncOptions) shim.Config { var ( - criuPath string runtimeRoot = c.RuntimeRoot systemdCgroup bool ) if runcOptions != nil { - criuPath = runcOptions.CriuPath systemdCgroup = runcOptions.SystemdCgroup if runcOptions.RuntimeRoot != "" { runtimeRoot = runcOptions.RuntimeRoot @@ -232,7 +230,6 @@ func (b *bundle) shimConfig(namespace string, c *Config, runcOptions *runctypes. Path: b.path, WorkDir: b.workDir, Namespace: namespace, - Criu: criuPath, RuntimeRoot: runtimeRoot, SystemdCgroup: systemdCgroup, } diff --git a/runtime/v1/shim/client/client.go b/runtime/v1/shim/client/client.go index 6e5eae522..83b6717c8 100644 --- a/runtime/v1/shim/client/client.go +++ b/runtime/v1/shim/client/client.go @@ -197,9 +197,6 @@ func newCommand(binary, daemonAddress string, debug bool, config shim.Config, so "-containerd-binary", selfExe, } - if config.Criu != "" { - args = append(args, "-criu-path", config.Criu) - } if config.RuntimeRoot != "" { args = append(args, "-runtime-root", config.RuntimeRoot) } diff --git a/runtime/v1/shim/service.go b/runtime/v1/shim/service.go index d54d23caf..8e8fab9eb 100644 --- a/runtime/v1/shim/service.go +++ b/runtime/v1/shim/service.go @@ -62,9 +62,15 @@ var ( // Config contains shim specific configuration type Config struct { - Path string - Namespace string - WorkDir string + Path string + Namespace string + WorkDir string + // Criu is the path to the criu binary used for checkpoint and restore. + // + // Deprecated: runc option --criu is now ignored (with a warning), and the + // option will be removed entirely in a future release. Users who need a non- + // standard criu binary should rely on the standard way of looking up binaries + // in $PATH. Criu string RuntimeRoot string SystemdCgroup bool @@ -172,7 +178,6 @@ func (s *Service) Create(ctx context.Context, r *shimapi.CreateTaskRequest) (_ * s.config.WorkDir, s.config.RuntimeRoot, s.config.Namespace, - s.config.Criu, s.config.SystemdCgroup, s.platform, config, @@ -637,7 +642,7 @@ func getTopic(ctx context.Context, e interface{}) string { return runtime.TaskUnknownTopic } -func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace, criu string, systemdCgroup bool, platform stdio.Platform, r *process.CreateConfig, rootfs string) (*process.Init, error) { +func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace string, systemdCgroup bool, platform stdio.Platform, r *process.CreateConfig, rootfs string) (*process.Init, error) { var options runctypes.CreateOptions if r.Options != nil { v, err := typeurl.UnmarshalAny(r.Options) @@ -647,7 +652,7 @@ func newInit(ctx context.Context, path, workDir, runtimeRoot, namespace, criu st options = *v.(*runctypes.CreateOptions) } - runtime := process.NewRunc(runtimeRoot, path, namespace, r.Runtime, criu, systemdCgroup) + runtime := process.NewRunc(runtimeRoot, path, namespace, r.Runtime, systemdCgroup) p := process.New(r.ID, runtime, stdio.Stdio{ Stdin: r.Stdin, Stdout: r.Stdout, diff --git a/runtime/v2/runc/container.go b/runtime/v2/runc/container.go index 4da91d691..dc32efec7 100644 --- a/runtime/v2/runc/container.go +++ b/runtime/v2/runc/container.go @@ -210,7 +210,7 @@ func WriteRuntime(path, runtime string) error { func newInit(ctx context.Context, path, workDir, namespace string, platform stdio.Platform, r *process.CreateConfig, options *options.Options, rootfs string) (*process.Init, error) { - runtime := process.NewRunc(options.Root, path, namespace, options.BinaryName, options.CriuPath, options.SystemdCgroup) + runtime := process.NewRunc(options.Root, path, namespace, options.BinaryName, options.SystemdCgroup) p := process.New(r.ID, runtime, stdio.Stdio{ Stdin: r.Stdin, Stdout: r.Stdout, diff --git a/runtime/v2/runc/manager/manager_linux.go b/runtime/v2/runc/manager/manager_linux.go index e0823c8cb..846fbe716 100644 --- a/runtime/v2/runc/manager/manager_linux.go +++ b/runtime/v2/runc/manager/manager_linux.go @@ -261,7 +261,7 @@ func (manager) Stop(ctx context.Context, id string) (shim.StopStatus, error) { root = opts.Root } - r := process.NewRunc(root, path, ns, runtime, "", false) + r := process.NewRunc(root, path, ns, runtime, false) if err := r.Delete(ctx, id, &runcC.DeleteOpts{ Force: true, }); err != nil { diff --git a/runtime/v2/runc/options/next.pb.txt b/runtime/v2/runc/options/next.pb.txt index 7c0f40316..5fd5173b2 100755 --- a/runtime/v2/runc/options/next.pb.txt +++ b/runtime/v2/runc/options/next.pb.txt @@ -58,6 +58,9 @@ file { number: 8 label: LABEL_OPTIONAL type: TYPE_STRING + options { + deprecated: true + } json_name: "criuPath" } field { diff --git a/runtime/v2/runc/options/oci.pb.go b/runtime/v2/runc/options/oci.pb.go index 85bc131e3..68f5d7e99 100644 --- a/runtime/v2/runc/options/oci.pb.go +++ b/runtime/v2/runc/options/oci.pb.go @@ -40,8 +40,13 @@ type Options struct { BinaryName string `protobuf:"bytes,6,opt,name=binary_name,json=binaryName,proto3" json:"binary_name,omitempty"` // runc root directory Root string `protobuf:"bytes,7,opt,name=root,proto3" json:"root,omitempty"` - // criu binary path - CriuPath string `protobuf:"bytes,8,opt,name=criu_path,json=criuPath,proto3" json:"criu_path,omitempty"` + // criu binary path. + // + // Deprecated: runc option --criu is now ignored (with a warning), and the + // option will be removed entirely in a future release. Users who need a non- + // standard criu binary should rely on the standard way of looking up binaries + // in $PATH. + CriuPath string `protobuf:"bytes,8,opt,name=criu_path,json=criuPath,proto3" json:"criu_path,omitempty"` // Deprecated: Do not use. // enable systemd cgroups SystemdCgroup bool `protobuf:"varint,9,opt,name=systemd_cgroup,json=systemdCgroup,proto3" json:"systemd_cgroup,omitempty"` // criu image path @@ -192,44 +197,44 @@ func init() { } var fileDescriptor_4e5440d739e9a863 = []byte{ - // 586 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x4f, 0x6f, 0xd3, 0x4c, - 0x10, 0x87, 0xeb, 0xfe, 0x49, 0xec, 0x4d, 0x93, 0xbe, 0xef, 0x42, 0x25, 0xd3, 0x8a, 0x34, 0x94, - 0x82, 0xc2, 0x25, 0x11, 0x45, 0x9c, 0xb8, 0xa0, 0xb6, 0x08, 0x55, 0x40, 0xa9, 0x0c, 0x15, 0x52, - 0x2f, 0x2b, 0x77, 0x3d, 0x38, 0xa3, 0xc4, 0x3b, 0x96, 0x77, 0xd3, 0xa4, 0x37, 0xbe, 0x17, 0x5f, - 0xa0, 0x47, 0x8e, 0x9c, 0x10, 0xcd, 0x8d, 0x6f, 0x81, 0x76, 0xed, 0xa4, 0x3d, 0x73, 0xf2, 0xec, - 0x33, 0x3f, 0x8f, 0xd7, 0xcf, 0x6a, 0xd9, 0x41, 0x8a, 0x66, 0x30, 0xbe, 0xe8, 0x49, 0xca, 0xfa, - 0x92, 0x94, 0x89, 0x51, 0x41, 0x91, 0xdc, 0x2d, 0x8b, 0xb1, 0x32, 0x98, 0x41, 0xff, 0x72, 0xdf, - 0x96, 0xb2, 0x4f, 0xb9, 0x41, 0x52, 0xba, 0x4f, 0x12, 0x7b, 0x79, 0x41, 0x86, 0x38, 0xbf, 0x4d, - 0xf7, 0x6c, 0xa4, 0x77, 0xf9, 0x7c, 0xeb, 0x7e, 0x4a, 0x29, 0xb9, 0x76, 0xdf, 0x56, 0x65, 0x72, - 0xf7, 0xcf, 0x32, 0xab, 0x7f, 0x2c, 0xdf, 0xe7, 0xbb, 0xac, 0xa9, 0x48, 0xe4, 0x78, 0x49, 0x46, - 0x14, 0x44, 0x26, 0xf4, 0x3a, 0x5e, 0xd7, 0x8f, 0x1a, 0x8a, 0x4e, 0x2d, 0x8b, 0x88, 0x0c, 0xdf, - 0x63, 0x2d, 0x45, 0x42, 0xc1, 0x44, 0x0c, 0xe1, 0xaa, 0x40, 0x95, 0x86, 0xcb, 0x2e, 0xb4, 0xae, - 0xe8, 0x04, 0x26, 0xef, 0x4a, 0xc6, 0x77, 0x58, 0x43, 0x0f, 0x30, 0x13, 0x32, 0x2d, 0x68, 0x9c, - 0x87, 0x2b, 0x1d, 0xaf, 0x1b, 0x44, 0xcc, 0xa2, 0x43, 0x47, 0xf8, 0x26, 0xab, 0x21, 0x89, 0x31, - 0x26, 0xe1, 0x6a, 0xc7, 0xeb, 0x36, 0xa3, 0x35, 0xa4, 0x33, 0x4c, 0x2a, 0x9c, 0x62, 0x12, 0xae, - 0xcd, 0xf1, 0x5b, 0x4c, 0xec, 0xb8, 0x0b, 0x54, 0x71, 0x71, 0x25, 0x54, 0x9c, 0x41, 0x58, 0x2b, - 0xc7, 0x95, 0xe8, 0x24, 0xce, 0x80, 0x73, 0xb6, 0xea, 0x36, 0x5c, 0x77, 0x1d, 0x57, 0xf3, 0x6d, - 0x16, 0xc8, 0x02, 0xc7, 0x22, 0x8f, 0xcd, 0x20, 0xf4, 0x5d, 0xc3, 0xb7, 0xe0, 0x34, 0x36, 0x03, - 0xfe, 0x84, 0xb5, 0xf4, 0x95, 0x36, 0x90, 0x25, 0xf3, 0x3d, 0x06, 0xee, 0x37, 0x9a, 0x15, 0xad, - 0xb6, 0xf9, 0x94, 0x6d, 0xb8, 0x19, 0x98, 0xc5, 0x29, 0x94, 0x93, 0x98, 0x9b, 0xd4, 0xb4, 0xf8, - 0xd8, 0x52, 0x37, 0x6e, 0x8f, 0xb5, 0x5c, 0x6e, 0x42, 0xc5, 0xb0, 0x8c, 0x35, 0x5c, 0x6c, 0xdd, - 0xd2, 0x2f, 0x54, 0x0c, 0x6d, 0x6a, 0xf7, 0xfb, 0x32, 0xfb, 0xff, 0x70, 0x00, 0x72, 0x98, 0x13, - 0x2a, 0x33, 0xb7, 0xce, 0xd9, 0x2a, 0x4c, 0x71, 0x2e, 0xdb, 0xd5, 0xfc, 0x01, 0xf3, 0x29, 0x07, - 0x25, 0x8c, 0xcc, 0x2b, 0xbf, 0x75, 0xbb, 0xfe, 0x2c, 0x73, 0xbe, 0xcf, 0x36, 0x61, 0x6a, 0xa0, - 0x50, 0xf1, 0x48, 0x8c, 0x15, 0x4e, 0x85, 0x26, 0x39, 0x04, 0xa3, 0x9d, 0x64, 0x3f, 0xba, 0x37, - 0x6f, 0x9e, 0x29, 0x9c, 0x7e, 0x2a, 0x5b, 0x7c, 0x8b, 0xf9, 0x06, 0x8a, 0x0c, 0x55, 0x3c, 0x72, - 0xbe, 0xfd, 0x68, 0xb1, 0xe6, 0x0f, 0x19, 0xfb, 0x8a, 0x23, 0x10, 0x23, 0x92, 0x43, 0xed, 0xb4, - 0xfb, 0x51, 0x60, 0xc9, 0x7b, 0x0b, 0xf8, 0x33, 0xf6, 0x1f, 0x64, 0xb9, 0x29, 0xcd, 0xeb, 0x3c, - 0x96, 0xa0, 0xc3, 0x5a, 0x67, 0xa5, 0x1b, 0x44, 0x1b, 0x8e, 0x9f, 0x2c, 0x30, 0x7f, 0xc4, 0xd6, - 0x4b, 0x97, 0x5a, 0x64, 0x94, 0x40, 0x75, 0x18, 0x8d, 0x8a, 0x7d, 0xa0, 0x04, 0xec, 0xc7, 0xee, - 0xa8, 0x2c, 0x0f, 0x25, 0xc0, 0x85, 0xc6, 0x6d, 0x16, 0xdc, 0x1a, 0x0c, 0xca, 0x23, 0x9b, 0xcc, - 0xed, 0xbd, 0x64, 0xad, 0xd3, 0x82, 0x24, 0x68, 0x7d, 0x04, 0x26, 0xc6, 0x91, 0xe6, 0x8f, 0x59, - 0x1d, 0xa6, 0x20, 0x05, 0x26, 0x4e, 0x5e, 0x70, 0xc0, 0x66, 0xbf, 0x76, 0x6a, 0x6f, 0xa6, 0x20, - 0x8f, 0x8f, 0xa2, 0x9a, 0x6d, 0x1d, 0x27, 0x07, 0xe7, 0xd7, 0x37, 0xed, 0xa5, 0x9f, 0x37, 0xed, - 0xa5, 0x6f, 0xb3, 0xb6, 0x77, 0x3d, 0x6b, 0x7b, 0x3f, 0x66, 0x6d, 0xef, 0xf7, 0xac, 0xed, 0x9d, - 0xbf, 0xfe, 0xd7, 0x8b, 0xf6, 0xaa, 0x7a, 0x5e, 0xd4, 0xdc, 0x1d, 0x7a, 0xf1, 0x37, 0x00, 0x00, - 0xff, 0xff, 0x0d, 0x09, 0x46, 0xe5, 0xb3, 0x03, 0x00, 0x00, + // 592 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x41, 0x6f, 0xd3, 0x4a, + 0x10, 0xc7, 0xeb, 0xb4, 0x4d, 0xec, 0x4d, 0x93, 0xbe, 0xb7, 0xef, 0x55, 0x32, 0x45, 0xa4, 0xa1, + 0x14, 0x14, 0x2e, 0x89, 0x28, 0xe2, 0xc4, 0x05, 0xa5, 0x45, 0xa8, 0x02, 0x4a, 0x65, 0xa8, 0x90, + 0x7a, 0x59, 0xb9, 0xeb, 0xc1, 0x19, 0x25, 0xde, 0xb1, 0xbc, 0x9b, 0x26, 0xbd, 0xf1, 0xbd, 0xf8, + 0x02, 0x3d, 0x72, 0xe4, 0x84, 0x68, 0xee, 0x7c, 0x07, 0xb4, 0x6b, 0xa7, 0xed, 0x99, 0x53, 0x66, + 0x7f, 0xf3, 0xcf, 0xec, 0xfa, 0xb7, 0x5a, 0x36, 0x4c, 0xd1, 0x8c, 0xa6, 0xe7, 0x7d, 0x49, 0xd9, + 0x40, 0x92, 0x32, 0x31, 0x2a, 0x28, 0x92, 0xbb, 0x65, 0x31, 0x55, 0x06, 0x33, 0x18, 0x5c, 0xec, + 0xdb, 0x52, 0x0e, 0x28, 0x37, 0x48, 0x4a, 0x0f, 0x48, 0x62, 0x3f, 0x2f, 0xc8, 0x10, 0xe7, 0xb7, + 0xe9, 0xbe, 0x8d, 0xf4, 0x2f, 0x9e, 0x6d, 0xff, 0x9f, 0x52, 0x4a, 0xae, 0x3d, 0xb0, 0x55, 0x99, + 0xdc, 0xfd, 0x5d, 0x63, 0x8d, 0x0f, 0xe5, 0xff, 0xf9, 0x2e, 0x6b, 0x29, 0x12, 0x39, 0x5e, 0x90, + 0x11, 0x05, 0x91, 0x09, 0xbd, 0xae, 0xd7, 0xf3, 0xa3, 0xa6, 0xa2, 0x13, 0xcb, 0x22, 0x22, 0xc3, + 0xf7, 0x58, 0x5b, 0x91, 0x50, 0x30, 0x13, 0x63, 0xb8, 0x2c, 0x50, 0xa5, 0x61, 0xcd, 0x85, 0x36, + 0x14, 0x1d, 0xc3, 0xec, 0x6d, 0xc9, 0xf8, 0x0e, 0x6b, 0xea, 0x11, 0x66, 0x42, 0xa6, 0x05, 0x4d, + 0xf3, 0x70, 0xb5, 0xeb, 0xf5, 0x82, 0x88, 0x59, 0x74, 0xe0, 0x08, 0xdf, 0x62, 0x75, 0x24, 0x31, + 0xc5, 0x24, 0x5c, 0xeb, 0x7a, 0xbd, 0x56, 0xb4, 0x8e, 0x74, 0x8a, 0x49, 0x85, 0x53, 0x4c, 0xc2, + 0xf5, 0x25, 0x7e, 0x83, 0x89, 0x1d, 0x77, 0x8e, 0x2a, 0x2e, 0x2e, 0x85, 0x8a, 0x33, 0x08, 0xeb, + 0xe5, 0xb8, 0x12, 0x1d, 0xc7, 0x19, 0x70, 0xce, 0xd6, 0xdc, 0x81, 0x1b, 0xae, 0xe3, 0x6a, 0xbe, + 0xc3, 0x02, 0x59, 0xe0, 0x54, 0xe4, 0xb1, 0x19, 0x85, 0xbe, 0x6d, 0x0c, 0x6b, 0xa1, 0x17, 0xf9, + 0x16, 0x9e, 0xc4, 0x66, 0xc4, 0x1f, 0xb3, 0xb6, 0xbe, 0xd4, 0x06, 0xb2, 0x64, 0x79, 0xce, 0xc0, + 0x7d, 0x4a, 0xab, 0xa2, 0xd5, 0x51, 0x9f, 0xb0, 0x4d, 0x37, 0x07, 0xb3, 0x38, 0x85, 0x72, 0x1a, + 0x73, 0xdb, 0xb4, 0x2c, 0x3e, 0xb2, 0xd4, 0x8d, 0xdb, 0x63, 0x6d, 0x97, 0x9b, 0x51, 0x31, 0x2e, + 0x63, 0x4d, 0x17, 0xdb, 0xb0, 0xf4, 0x33, 0x15, 0x63, 0x9b, 0xda, 0xfd, 0x56, 0x63, 0xff, 0x1e, + 0x8c, 0x40, 0x8e, 0x73, 0x42, 0x65, 0x96, 0xe6, 0x39, 0x5b, 0x83, 0x39, 0x2e, 0x85, 0xbb, 0x9a, + 0xdf, 0x63, 0x3e, 0xe5, 0xa0, 0x84, 0x91, 0x79, 0xe5, 0xb8, 0x61, 0xd7, 0x9f, 0x64, 0xce, 0xf7, + 0xd9, 0x16, 0xcc, 0x0d, 0x14, 0x2a, 0x9e, 0x88, 0xa9, 0xc2, 0xb9, 0xd0, 0x24, 0xc7, 0x60, 0xb4, + 0x13, 0xed, 0x47, 0xff, 0x2d, 0x9b, 0xa7, 0x0a, 0xe7, 0x1f, 0xcb, 0x16, 0xdf, 0x66, 0xbe, 0x81, + 0x22, 0x43, 0x15, 0x4f, 0x9c, 0x73, 0x3f, 0xba, 0x59, 0xf3, 0x07, 0x8c, 0x7d, 0xc1, 0x09, 0x88, + 0x09, 0xc9, 0xb1, 0x76, 0xea, 0xfd, 0x28, 0xb0, 0xe4, 0x9d, 0x05, 0xfc, 0x29, 0xfb, 0x07, 0xb2, + 0xdc, 0x94, 0xf6, 0x75, 0x1e, 0x4b, 0xd0, 0x61, 0xbd, 0xbb, 0xda, 0x0b, 0xa2, 0x4d, 0xc7, 0x8f, + 0x6f, 0x30, 0x7f, 0xc8, 0x36, 0x4a, 0x97, 0x5a, 0x64, 0x94, 0x40, 0x75, 0x21, 0xcd, 0x8a, 0xbd, + 0xa7, 0x04, 0xec, 0x66, 0x77, 0x54, 0xba, 0x8b, 0x89, 0x02, 0xbc, 0xd1, 0x78, 0x9f, 0x05, 0xb7, + 0x06, 0x03, 0xd7, 0xf5, 0x67, 0x4b, 0x7b, 0x2f, 0x58, 0xfb, 0xa4, 0x20, 0x09, 0x5a, 0x1f, 0x82, + 0x89, 0x71, 0xa2, 0xf9, 0x23, 0xd6, 0x80, 0x39, 0x48, 0x81, 0x89, 0x93, 0x17, 0x0c, 0xd9, 0xe2, + 0xe7, 0x4e, 0xfd, 0xf5, 0x1c, 0xe4, 0xd1, 0x61, 0x54, 0xb7, 0xad, 0xa3, 0x64, 0x78, 0x76, 0x75, + 0xdd, 0x59, 0xf9, 0x71, 0xdd, 0x59, 0xf9, 0xba, 0xe8, 0x78, 0x57, 0x8b, 0x8e, 0xf7, 0x7d, 0xd1, + 0xf1, 0x7e, 0x2d, 0x3a, 0xde, 0xd9, 0xab, 0xbf, 0x7d, 0x6c, 0x2f, 0xab, 0xdf, 0xf3, 0xba, 0x7b, + 0x47, 0xcf, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x10, 0x71, 0xdd, 0xb7, 0x03, 0x00, 0x00, } func (m *Options) Marshal() (dAtA []byte, err error) { diff --git a/runtime/v2/runc/options/oci.proto b/runtime/v2/runc/options/oci.proto index d59221c01..71a637dbb 100644 --- a/runtime/v2/runc/options/oci.proto +++ b/runtime/v2/runc/options/oci.proto @@ -21,8 +21,13 @@ message Options { string binary_name = 6; // runc root directory string root = 7; - // criu binary path - string criu_path = 8; + // criu binary path. + // + // Deprecated: runc option --criu is now ignored (with a warning), and the + // option will be removed entirely in a future release. Users who need a non- + // standard criu binary should rely on the standard way of looking up binaries + // in $PATH. + string criu_path = 8 [deprecated = true]; // enable systemd cgroups bool systemd_cgroup = 9; // criu image path diff --git a/runtime/v2/runc/v1/service.go b/runtime/v2/runc/v1/service.go index da81e2605..6765adfa2 100644 --- a/runtime/v2/runc/v1/service.go +++ b/runtime/v2/runc/v1/service.go @@ -250,7 +250,7 @@ func (s *service) Cleanup(ctx context.Context) (*taskAPI.DeleteResponse, error) root = opts.Root } - r := process.NewRunc(root, path, ns, runtime, "", false) + r := process.NewRunc(root, path, ns, runtime, false) if err := r.Delete(ctx, s.id, &runcC.DeleteOpts{ Force: true, }); err != nil {