<p>I successfully use cri-o to run pod and container, following the <a href="https://github.com/cri-o/cri-o/blob/master/tutorials/setup.md" rel="nofollow noreferrer">guide</a> and <a href="https://github.com/cri-o/cri-o/blob/master/tutorials/crictl.md" rel="nofollow noreferrer">tutorial</a>, whose default <code>cgroup_manager</code> is <code>cgroupfs</code>.</p>

<p>when I tried to set <code>cgroup_manager = "systemd"</code> in <code>/etc/crio/crio.conf</code> and restart <code>crio</code> service.</p>

<p>then, I tried the same steps in <a href="https://github.com/cri-o/cri-o/blob/master/tutorials/crictl.md" rel="nofollow noreferrer">tutorial</a></p>

<pre><code>POD_ID=$(sudo crictl runp test/testdata/sandbox_config.json)
</code></pre>

<p>got the error below:</p>

<pre><code>FATA[0000] run pod sandbox failed: rpc error: code = Unknown desc = cri-o configured with systemd cgroup manager, but did not receive slice as parent: /Burstable/pod_123-456
</code></pre>

<p>the <code>sandbox_config.json</code> is same as <a href="https://github.com/cri-o/cri-o/blob/master/test/testdata/sandbox_config.json" rel="nofollow noreferrer">sandbox_config.json</a></p>

<p>How to use cri-o to start pod and container when <code>cgroup_manager=systemd</code>? Is there a sample?</p>

<p>When you switch the cgroup manager to systemd in /etc/crio/crio.conf, you have to modify the pod yaml/json to give the cgroup_parent a slice instead.
So in your sandbox_config.json change</p>

<pre><code>"linux": {
        "cgroup_parent": "/Burstable/pod_123-456",
</code></pre>

<p>to something like this</p>

<pre><code>"linux": {
        "cgroup_parent": "podabc.slice",
</code></pre>

<p>Try re-creating your pod and it should start up fine now.</p>
