Skip to content

runtime options seem to be ignored (again) with v2.0.1 #11169

@mathias-ioki

Description

@mathias-ioki

Description

The behaviour looks exactly the same, as described here: #10249

TL;TR: We are using crun instead of runc and have therefore a dedicated section for it in our containerd config. With the latest release, this seems to be ignored again.

Error:

error="rpc error: code = Unknown desc = failed to create containerd task: failed to validate OCI runtime features: runtime info: failed to run [/opt/containerd/bin/containerd-shim-runc-v2 -info]: exit status 1 (stderr: \"io.containerd.runc.v2: failed to look up the path of \\\"runc\\\": exec: \\\"runc\\\": executable file not found in $PATH\")"

Steps to reproduce the issue

  • Put crun in a non-default path
  • Configure the path in the config:
    [plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
           BinaryName = '/opt/crun/crun'
    
  • Restart containerd

Describe the results you received and expected

Results I expect:

  • BinaryName is respected and crun is used from this path

Results I received:

  • BinaryName seems to be ignored and containers are not able to start with Error:
    error="rpc error: code = Unknown desc = failed to create containerd task: failed to validate OCI runtime features: runtime info: failed to run [/opt/containerd/bin/containerd-shim-runc-v2 -info]: exit status 1 (stderr: \"io.containerd.runc.v2: failed to look up the path of \\\"runc\\\": exec: \\\"runc\\\": executable file not found in $PATH\")"
    

What version of containerd are you using?

v2.0.1

Any other relevant information

/opt/crun/crun --version

crun version 1.19
commit: db31c42ac46e20b5527f5339dcbf6f023fcd539c
rundir: /run/crun
spec: 1.0.0
+SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL

Show configuration if it is related to CRI plugin.

Related config section - was working fine with 2.0.0:

    [plugins.'io.containerd.cri.v1.runtime'.containerd]
      default_runtime_name = 'crun'
      ignore_blockio_not_enabled_errors = false
      ignore_rdt_not_enabled_errors = false

      [plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes]
        [plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc]
          runtime_type = 'io.containerd.runc.v2'
          runtime_path = ''
          pod_annotations = []
          container_annotations = []
          privileged_without_host_devices = false
          privileged_without_host_devices_all_devices_allowed = false
          base_runtime_spec = ''
          cni_conf_dir = ''
          cni_max_conf_num = 0
          snapshotter = ''
          sandboxer = 'podsandbox'
          io_type = ''

          [plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
            BinaryName = ''
            CriuImagePath = ''
            CriuWorkPath = ''
            IoGid = 0
            IoUid = 0
            NoNewKeyring = false
            Root = ''
            ShimCgroup = ''
            SystemdCgroup = true

        [plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.crun]
          runtime_type = 'io.containerd.runc.v2'
          runtime_path = ''
          pod_annotations = []
          container_annotations = []
          privileged_without_host_devices = false
          privileged_without_host_devices_all_devices_allowed = false
          base_runtime_spec = ''
          cni_conf_dir = ''
          cni_max_conf_num = 0
          snapshotter = ''
          sandboxer = 'podsandbox'
          io_type = ''

          [plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.crun.options]
            BinaryName = '/opt/crun/crun'
            CriuImagePath = ''
            CriuWorkPath = ''
            IoGid = 0
            IoUid = 0
            NoNewKeyring = false
            Root = ''
            ShimCgroup = ''
            SystemdCgroup = true

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions