I’ve got a Pi4 running a minion, except I have to reboot it every 2-3 days as it goes to 100% CPU and memory usage and becomes unrecoverable.
I’ve tried setting the ulimits in the docker-compose but it’s not made much of an effect.
It’s using the opennms/pi-minion image currently as the opennms/minion:26.1.0 image for arm comes up with this error when running:
onms-sec-minion-01 | org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=minion-provisiond-detectors; type=karaf.feature; version="[26.1.0,26.1.0]"; filter:="(&(osgi.identity=minion-provisiond-detectors)(type=karaf.feature)(version>=26.1.0)(version<=26.1.0))" [caused by: Unable to resolve minion-provisiond-detectors/26.1.0: missing requirement [minion-provisiond-detectors/26.1.0] osgi.identity; osgi.identity=opennms-icmp-best; type=karaf.feature [caused by: Unable to resolve opennms-icmp-best/26.1.0: missing requirement [opennms-icmp-best/26.1.0] osgi.identity; osgi.identity=opennms-icmp-jna; type=karaf.feature [caused by: Unable to resolve opennms-icmp-jna/26.1.0: missing requirement [opennms-icmp-jna/26.1.0] osgi.identity; osgi.identity=org.opennms.opennms-icmp-jna; type=osgi.bundle; version="[26.1.0,26.1.0]"; resolution:=mandatory [caused by: Unable to resolve org.opennms.opennms-icmp-jna/26.1.0: missing requirement [org.opennms.opennms-icmp-jna/26.1.0] osgi.wiring.package; filter:="(osgi.wiring.package=com.sun.jna)" [caused by: Unable to resolve com.sun.jna [13](R 13.0): missing requirement [com.sun.jna [13](R 13.0)] osgi.native; (|(&(osgi.native.osname~=win32)(osgi.native.processor~=x86))(&(osgi.native.osname~=win32)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=win)(osgi.native.processor~=x86))(&(osgi.native.osname~=win)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=wince)(osgi.native.processor~=arm))(&(osgi.native.osname~=sunos)(osgi.native.processor~=x86))(&(osgi.native.osname~=sunos)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=sunos)(osgi.native.processor~=sparc))(&(osgi.native.osname~=sunos)(osgi.native.processor~=sparcv9))(&(osgi.native.osname~=aix)(osgi.native.processor~=ppc))(&(osgi.native.osname~=aix)(osgi.native.processor~=ppc64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc64le))(&(osgi.native.osname~=linux)(osgi.native.processor~=x86))(&(osgi.native.osname~=linux)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=linux)(osgi.native.processor~=arm))(&(osgi.native.osname~=linux)(osgi.native.processor~=armel))(&(osgi.native.osname~=linux)(osgi.native.processor~=aarch64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ia64))(&(osgi.native.osname~=linux)(osgi.native.processor~=sparcv9))(&(osgi.native.osname~=freebsd)(osgi.native.processor~=x86))(&(osgi.native.osname~=freebsd)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=openbsd)(osgi.native.processor~=x86))(&(osgi.native.osname~=openbsd)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=macosx)(|(osgi.native.processor~=x86)(osgi.native.processor~=x86-64)(osgi.native.processor~=ppc))))]]]]]
onms-sec-minion-01 | at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
onms-sec-minion-01 | at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:392)
onms-sec-minion-01 | at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
onms-sec-minion-01 | at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
onms-sec-minion-01 | at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
onms-sec-minion-01 | at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:393)
onms-sec-minion-01 | at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
onms-sec-minion-01 | at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
onms-sec-minion-01 | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
onms-sec-minion-01 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
onms-sec-minion-01 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
onms-sec-minion-01 | at java.base/java.lang.Thread.run(Thread.java:834)
onms-sec-minion-01 | Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve minion-provisiond-detectors/26.1.0: missing requirement [minion-provisiond-detectors/26.1.0] osgi.identity; osgi.identity=opennms-icmp-best; type=karaf.feature [caused by: Unable to resolve opennms-icmp-best/26.1.0: missing requirement [opennms-icmp-best/26.1.0] osgi.identity; osgi.identity=opennms-icmp-jna; type=karaf.feature [caused by: Unable to resolve opennms-icmp-jna/26.1.0: missing requirement [opennms-icmp-jna/26.1.0] osgi.identity; osgi.identity=org.opennms.opennms-icmp-jna; type=osgi.bundle; version="[26.1.0,26.1.0]"; resolution:=mandatory [caused by: Unable to resolve org.opennms.opennms-icmp-jna/26.1.0: missing requirement [org.opennms.opennms-icmp-jna/26.1.0] osgi.wiring.package; filter:="(osgi.wiring.package=com.sun.jna)" [caused by: Unable to resolve com.sun.jna [13](R 13.0): missing requirement [com.sun.jna [13](R 13.0)] osgi.native; (|(&(osgi.native.osname~=win32)(osgi.native.processor~=x86))(&(osgi.native.osname~=win32)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=win)(osgi.native.processor~=x86))(&(osgi.native.osname~=win)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=wince)(osgi.native.processor~=arm))(&(osgi.native.osname~=sunos)(osgi.native.processor~=x86))(&(osgi.native.osname~=sunos)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=sunos)(osgi.native.processor~=sparc))(&(osgi.native.osname~=sunos)(osgi.native.processor~=sparcv9))(&(osgi.native.osname~=aix)(osgi.native.processor~=ppc))(&(osgi.native.osname~=aix)(osgi.native.processor~=ppc64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ppc64le))(&(osgi.native.osname~=linux)(osgi.native.processor~=x86))(&(osgi.native.osname~=linux)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=linux)(osgi.native.processor~=arm))(&(osgi.native.osname~=linux)(osgi.native.processor~=armel))(&(osgi.native.osname~=linux)(osgi.native.processor~=aarch64))(&(osgi.native.osname~=linux)(osgi.native.processor~=ia64))(&(osgi.native.osname~=linux)(osgi.native.processor~=sparcv9))(&(osgi.native.osname~=freebsd)(osgi.native.processor~=x86))(&(osgi.native.osname~=freebsd)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=openbsd)(osgi.native.processor~=x86))(&(osgi.native.osname~=openbsd)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=macosx)(|(osgi.native.processor~=x86)(osgi.native.processor~=x86-64)(osgi.native.processor~=ppc))))]]]]
onms-sec-minion-01 | at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
onms-sec-minion-01 | ... 12 more
This is my docker-compose:
version: ‘3.4’
services:
minion:
#image: opennms/minion:26.1.0
image: opennms/pi-minion
container_name: onms-minion-01
environment:
- TZ=Australia/Perth
- MINION_ID=<id>
- MINION_LOCATION=Default
- OPENNMS_BROKER_URL=tcp://opennms:61616
- OPENNMS_HTTP_URL=http://opennms:8980/opennms
command: ["-f"]
ulimits:
nofile:
soft: 1024
hard: 65536
sysctls:
- net.ipv4.ping_group_range=0 429496729
healthcheck:
test: ["CMD", "/opt/minion/bin/client", "ping", "|", "grep", "-Pzo", "\"(?s).*Success.*.Success.*\"", "||", "exit", "1"]
interval: 10s
timeout: 3s
retries: 3
ports:
- "8201:8201/tcp"
- "1162:1162/udp"
- "1514:1514/udp"
restart: unless-stopped