firecracker-containerd: Figure out why cri plugin must be disabled

If the cri plugin is enabled, our runtime causes errors upon exiting:

INFO[2018-12-03T11:02:09.030879139-08:00] TaskExit event &TaskExit{ContainerID:,ID:,Pid:224,ExitStatus:0,ExitedAt:2018-12-03 19:01:50.016792753 +0000 UTC,}
ERRO[2018-12-03T11:02:09.030966305-08:00] Failed to handle backOff event &TaskExit{ContainerID:,ID:,Pid:224,ExitStatus:0,ExitedAt:2018-12-03 19:01:50.016792753 +0000 UTC,} for   error="can't find container for TaskExit event: Prefix can't be empty"

The error “Prefix can’t be empty” appears to be coming from a pkg in moby that is used by the cri plugin.

It’s unclear why because AFAIK we are not invoking any cri functionality but having the plugin enabled seems to change the code path for exiting in some way.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 16 (16 by maintainers)

Commits related to this issue

Most upvoted comments

wasn’t sure what scenario you were running… I updated your main to force id to be set when running from command line.

I think the ids were empty Bc we are setting them to empty strings Bc we don’t currently save the Id passed by containerd to us. I think this is likely a one line change to set s.id = the Id we get from Rpc.

On Wed, Dec 5, 2018 at 9:15 AM Mike Brown notifications@github.com wrote:

In short… looks like at some point in time someone decided to change ID to ContainerID throughout the code and missed one. Then added ContainerID and had to leave the ID there. You’ll note in your error log the containerid and id were both empty.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/firecracker-microvm/firecracker-containerd/issues/35#issuecomment-444566826, or mute the thread https://github.com/notifications/unsubscribe-auth/AEvUYLiguMR7DGactfME3zaOxRoPWHOoks5u1_9LgaJpZM4Y_OKB .