Skip to content

Configure runtimes to be enabled #567

@windsource

Description

@windsource

Description

As of v0.7 Ankaios will support two runtimes: podman and containerd. In rare cases users might want to use both runtimes but usually a user sticks to one of them. So when a user only uses the containerd runtime, then the podman binary might not be installed and vice versa.

When podman is started without the podman binary being installed, there are some WARN logs like:

[2025-08-18T08:54:55Z INFO  ank_agent] Loading agent config from default path '/etc/ankaios/ank-agent.conf'
[2025-08-18T08:54:55Z INFO  ank_agent::agent_manager] Awaiting commands from the server ...
[2025-08-18T08:54:55Z INFO  ank_agent::runtime_manager] Received the server hello with '0' added workloads.
[2025-08-18T08:54:55Z WARN  ank_agent::runtime_manager] Could not get reusable running workloads: 'Error: 'No such file or directory (os error 2)'. Could not spawn command 'Command { std: "podman" "ps" "--all" "--filter" "label=agent=agent_A" "--format=json", kill_on_drop: false }'.'
[2025-08-18T08:54:55Z WARN  ank_agent::runtime_manager] Could not get reusable running workloads: 'Could not list volume containing config: 'Error: 'No such file or directory (os error 2)'. Could not spawn command 'Command { std: "podman" "volume" "ls" "--filter" "name=.agent_A.config$" "--format={{.Name}}", kill_on_drop: false }'.''

But the agent can still be used with the other available runtimes.

To have that cleaned up it would be good to have a configuration option in the agent config file ank-agent.conf to state the runtimes that should be enabled at startup like:

runtimes = [ "podman", "containerd" ]

Only those runtimes should then be started by the agent. If the array is missing or empty then all runtimes should be started.

Goals

Avoid warning messages when an Ankaios agent is started and binary for a runtime is missing that will never be used.

Final result

Summary

To be filled when the final solution is sketched.

Tasks

  • Task 1
  • Task 2
  • ...

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request. Issue will appear in the change log "Features"

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions