Giter Site home page Giter Site logo

container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory about podman-static HOT 14 CLOSED

mgoltzsche avatar mgoltzsche commented on August 21, 2024
container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory

from podman-static.

Comments (14)

cruscio avatar cruscio commented on August 21, 2024 1

@mgoltzsche - looks like you already have a fix, but in case this helps...

What is your use-case that requires catatonit to be installed?

Here's one: 89luca89/distrobox#667 Distrobox: Installing podman in a static manner on a steam deck, podman pod create fails. You can find the full debug log in that issue if you're curious. Seems like some recent version of podman changed behavior to building the pause image locally by default, which can't be done without catatonit.

Meanwhile, I added infra_image="k8s.gcr.io/pause:3.8" to /home/deck/.config/containers/containers.conf, pulled the image, and reran podman pod create - and it worked great!

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024 1

The fix was released with v4.4.3.

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024 1

I fixed it.
Release v4.4.4 also ships the catatonit binary

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024

@willzhang podman-static does not include catatonit because I didn't need it so far.
What is your use-case that requires catatonit to be installed?
Can you provide a reproducible example of your use-case in form of a podman CLI call please?

from podman-static.

willzhang avatar willzhang commented on August 21, 2024

use-case1、cephadm need podman
https://docs.ceph.com/en/latest/cephadm/install/

curl --silent --remote-name --location https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm
chmod +x cephadm
mv cephadm /usr/local/bin

this will give error container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory

cephadm bootstrap --mon-ip 192.168.10.10

use-case2、podman play kube kubernetes.yaml

from podman-static.

adrecord avatar adrecord commented on August 21, 2024

I've gotten around this on machines without catatonit by specifying an infra_image in your containers.conf, in the engine section, like so..

[engine]
infra_image="k8s.gcr.io/pause:3.8"

See if that works for you @willzhang.

Perhaps this should be the default in the shipped containers.conf, to remove the dependency on catatonit for the kube/pod commands.

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024

@adrecord thanks for your suggestion!
@willzhang can you confirm that #55 works for you?

from podman-static.

willzhang avatar willzhang commented on August 21, 2024

i will confirm later

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024

@cruscio thanks for confirming that the fix works. I merged the PR but did not publish a new release yet. I anticipate there will be a new podman release within the next days which I'll ship the fix with.

from podman-static.

willzhang avatar willzhang commented on August 21, 2024

我已经在没有 catatonit 的机器上解决了这个问题,方法是在引擎部分的 container.conf 中指定一个 infra_image,就像这样......

[engine]
infra_image="k8s.gcr.io/pause:3.8"

看看这是否适合你@willzhang.

也许这应该是随附的 container.conf 中的默认设置,以消除 kube/pod 命令对 catatonit 的依赖。

this not work for me

root@node01:~# cat  /etc/containers/containers.conf
# See https://github.com/containers/common/blob/master/pkg/config/containers.conf
[engine]
cgroup_manager = "cgroupfs"
events_logger="file"
infra_image="k8s.gcr.io/pause:3.8"

root@node01:~# podman pull k8s.gcr.io/pause:3.8
Trying to pull k8s.gcr.io/pause:3.8...
Getting image source signatures
Copying blob 9457426d6899 done  
Copying config 4873874c08 done  
Writing manifest to image destination
Storing signatures
4873874c08efc72e9729683a83ffbb7502ee729e9a5ac097723806ea7fa13517

root@node01:~# cephadm bootstrap --mon-ip 192.168.72.40
Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chrony.service is enabled and running
Repeating the final host check...
podman (/usr/local/bin/podman) version 4.4.3 is present
systemctl is present
lvcreate is present
Unit chrony.service is enabled and running
Host looks OK
Cluster fsid: aac503de-d174-11ed-bad6-d1da98c13f11
Verifying IP 192.168.72.40 port 3300 ...
Verifying IP 192.168.72.40 port 6789 ...
Mon IP `192.168.72.40` is in CIDR network `192.168.72.0/24`
Mon IP `192.168.72.40` is in CIDR network `192.168.72.0/24`
Internal network (--cluster-network) has not been provided, OSD replication will default to the public_network
Pulling container image quay.io/ceph/ceph:v17...
Non-zero exit code 125 from /usr/local/bin/podman run --rm --ipc=host --stop-signal=SIGTERM --net=host --entrypoint ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v17 -e NODE_NAME=node01 -e CEPH_USE_RANDOM_NONCE=1 quay.io/ceph/ceph:v17 --version
ceph: stderr Error: container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory
Traceback (most recent call last):
  File "/usr/local/bin/cephadm", line 9653, in <module>
    main()
  File "/usr/local/bin/cephadm", line 9641, in main
    r = ctx.func(ctx)
  File "/usr/local/bin/cephadm", line 2205, in _default_image
    return func(ctx)
  File "/usr/local/bin/cephadm", line 5664, in command_bootstrap
    image_ver = CephContainer(ctx, ctx.image, 'ceph', ['--version']).run().strip()
  File "/usr/local/bin/cephadm", line 4144, in run
    out, _, _ = call_throws(self.ctx, self.run_cmd(),
  File "/usr/local/bin/cephadm", line 1852, in call_throws
    raise RuntimeError(f'Failed command: {" ".join(command)}: {s}')
RuntimeError: Failed command: /usr/local/bin/podman run --rm --ipc=host --stop-signal=SIGTERM --net=host --entrypoint ceph --init -e CONTAINER_IMAGE=quay.io/ceph/ceph:v17 -e NODE_NAME=node01 -e CEPH_USE_RANDOM_NONCE=1 quay.io/ceph/ceph:v17 --version: Error: container-init binary not found on the host: stat /usr/libexec/podman/catatonit: no such file or directory

root@node01:~# 

from podman-static.

willzhang avatar willzhang commented on August 21, 2024

maybe this is cephadm problems, it only find catatonit in /usr/libexec/podman/ , not $PATH?

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024

Looks like the catatonit binary is still required and needs to be shipped with the podman-static image.
Also, shipping the binary would make the distribution more complete, to potentially also work offline.

(This one is related: containers/common#1110)

from podman-static.

mgoltzsche avatar mgoltzsche commented on August 21, 2024

Unfortunately, the catatonit build failed due to a syntax error within the ./configure script (see #58). Feel free to fix the PR. Otherwise, I'll revisit that some other evening.

from podman-static.

thesteve0 avatar thesteve0 commented on August 21, 2024

Not a bug, just frustrated that SteamDeck pacman only installs 4.2.1

``
`(125)(deck@steamdeck ~)$ podman -v
podman version 4.2.1

from podman-static.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.