Skip to content

containerd-shim-urunc-v2 failing to parse -info flag on initialization #750

@Cicada1107

Description

@Cicada1107

Description

When initializing any unikernel on any VMM using nerdctl through urunc-v2 runtime, the containerd-shim-urunc-v2 fails to parse the -info flag passed by the containerd daemon (expecting metadata for runtime-shim), resulting in exit status 2 and logs an error for the same.

Logs

Containerd logs:
level=error msg="failed to load runtime info" error="failed to run [/usr/local/bin/containerd-shim-urunc-v2 -info]: exit status 2 (stderr: \"flag provided but not defined: -info\nUsage of /usr/local/bin/containerd-shim-urunc-v2:\n -address string\n \tgrpc address back to main containerd\n -bundle string\n \tpath to the bundle if not workdir\n -debug\n \tenable debug output in logs\n -id string\n \tid of the task\n -namespace string\n \tnamespace that owns the shim\n -publish-binary string\n \tpath to publish binary (used for publishing events), but /usr/local/bin/containerd-shim-urunc-v2 will ignore this flag, please use the TTRPC_ADDRESS env\n -socket string\n \tsocket path to serve\n -v\tshow the shim version and exit\n\")" runtime=io.containerd.urunc.v2

System info

  • Urunc version: commit f6ddb034acd31955e94a1c2a920cdb51d3f52f2e on branch main
  • Arch: x86-64 (AMD 64)
  • VMM: QEMU
  • Unikernel: Nginx Unikraft
  • containerd version: 2.3.1 (also tested on 1.7.17 and got same bug)
    Note: This bug happens regardless of which unikernel or VMM you run.

Steps to reproduce

  1. Deploy any unikernel on any VMM via nerdctl. For example, nginx unikraft on QEMU:
    sudo nerdctl run --rm -ti --runtime io.containerd.urunc.v2 harbor.nbfc.io/nubificus/urunc/nginx-qemu-unikraft-initrd:latest
    Note: you can run the container in detached mode if you like, to make it easier to check the logs on next step.
  2. Now check the logs via journalctl:
    journalctl -eu containerd.service -n 100 | cat
  3. Observe the -info flag parsing error (refer 'logs' section for exact error).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions