Example doesn't work on beaglebone black
esetnik opened this issue · 15 comments
31.07.18 12:15:29 (-0400) main Systemd init system enabled.
31.07.18 12:15:29 (-0400) main Failed to insert module 'kdbus': Function not implemented
31.07.18 12:15:29 (-0400) main systemd 230 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
31.07.18 12:15:29 (-0400) main Detected virtualization docker.
31.07.18 12:15:29 (-0400) main Detected architecture arm.
31.07.18 12:15:29 (-0400) main Set hostname to <788b700>.
31.07.18 12:15:29 (-0400) main Cannot determine cgroup we are running in: No medium found
31.07.18 12:15:29 (-0400) main Failed to allocate manager object: No medium found
31.07.18 12:15:29 (-0400) main [!!!!!!] Failed to allocate manager object, freezing.
31.07.18 12:15:29 (-0400) main Freezing execution.
Seems like it's related to balena-io-library/base-images#342
@esetnik thanks for the report. What version of resinOS did you notice this on?
@shaunmulligan Resin OS 2.12.7+rev1 the latest available for beaglebone black.
Thanks @esetnik , I'll look into it.
Hey @esetnik , I just set up a new application and pushed this to a fresh device and reproduced your issue. It seems there is an issue with the resin/beaglebone-black-node:6-slim
base image interestingly enough the resin/raspberrypi3-alpine-node:6-slim
base image works correctly.
@nghiant2710 is this issue related to balena-io-library/base-images#342 and when will those images be released?
@shaunmulligan FYI it's not just affecting resin/beaglebone-black-node:6-slim
. I've also tested resin/beaglebone-black-node
and resin/beaglebone-black-node:8-slim
which are both also affected.
It'd also be nice to setup some sort of automated testing for scenarios like this where changes in base image break the example projects. I'm not sure if the resin team has a way to virtualize the testing of device specific images without resorting to running on real devices. The problem is that the base image node:6-slim
changed out from under me, so while my project has no code changes and was previously working, it suddenly breaks for all beaglebone devices. Do you publish specific tags for base images such that I can rollback to a previously working stable node:8-slim
image?
Hey @esetnik we are indeed working on a way to do more automated testing. For production projects we always recommend using the date frozen tags which don't auto update, for example the tag: 6.10-slim-20170408. Our base image for this project follows a moving tag which is good for development and testing, but obviously has the problem of moving fast and breaking things.
I am using beaglebone black and it looks like all the old tags are missing. See here. Are you suggesting that the old beaglebone-node
image will work?
My Dockerfile.template looks like FROM resin/%%RESIN_MACHINE_NAME%%-node:8-slim
which resolves to resin/beaglebone-black-node:8-slim
on beaglebone black. So I don't think there's any older tags for me to revert back to.
@esetnik sorry, i pointed to the wrong base image. The name you state is the correct one. The tags are all there, its just that dockerhub UI doesn't show them. I would suggest rather looking here: https://store.docker.com/community/images/resin/beaglebone-black-python/tags
The docker store UI has paginated tags so you can go back as far as we have been producing images.
Any update on this?
Hey @esetnik apparently this is fixed in balena-io-library/base-images#449 and should be merged and pushed in the coming days.
Thanks for letting me know. Is there a good way to know when this has been pushed?
I'm seeing the same issue using resin/raspberrypi3-node:8
on Resin OS 2.32.0+rev1
[Logs] [5/8/2019, 6:33:12 PM] [main] Systemd init system enabled.
[Logs] [5/8/2019, 6:33:13 PM] [main] Failed to insert module 'kdbus': Function not implemented
[Logs] [5/8/2019, 6:33:13 PM] [main] systemd 230 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[Logs] [5/8/2019, 6:33:13 PM] [main] Detected virtualization docker.
[Logs] [5/8/2019, 6:33:13 PM] [main] Detected architecture arm.
[Logs] [5/8/2019, 6:33:13 PM] [main] Set hostname to <37c9ad9>.
[Logs] [5/8/2019, 6:33:13 PM] [main] Cannot determine cgroup we are running in: No medium found
[Logs] [5/8/2019, 6:33:13 PM] [main] Failed to allocate manager object: No medium found
[Logs] [5/8/2019, 6:33:13 PM] [main] [!!!!!!] Failed to allocate manager object, freezing.
[Logs] [5/8/2019, 6:33:13 PM] [main] Freezing execution.
Here's my Dockerfile:
FROM resin/raspberrypi3-node:8
ENV INITSYSTEM on
RUN echo "deb [check-valid-until=no] http://cdn-fastly.deb.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie.list \
&& echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list \
&& sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update \
&& apt-get -t jessie-backports install -yq network-manager \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& systemctl mask NetworkManager.service
WORKDIR /usr/src/app
COPY . .
CMD ./nmcli
Hi @JeffJassky, since you install network-manager
from jessie-backports
which also installs systemd
v230 as a dependency and it breaks our systemd setup.
The default systemd in Debian Jessie image (v215) requires VOLUME
instruction https://github.com/balena-io-library/base-images/blob/master/examples/INITSYSTEM/systemd/systemd/Dockerfile#L29-L31 while for systemd v230 and above, that instruction must be removed https://github.com/balena-io-library/base-images/blob/master/examples/INITSYSTEM/systemd/systemd.v230/Dockerfile#L32-L33.
You also should change the base image to the new balenalib
since resin
base images are now deprecated.