OH 3 - Failed to install bindings

Hi all,

I started running OH3 in Docker on my RaspberryPi 4. After running through the initial setup, I was not able to install any bindings. After taking a look into the logs (in /opt/openhab/userdata/logs) I saw these entries:

[ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-persistence-rrd4j, openhab-ui-basic, openhab-binding-avmfritz, openhab-ui-habpanel': Error:
Error downloading mvn:org.openhab.ui.bundles/org.openhab.ui.basic/3.0.2

In my docker logs openhab I saw these error messages:

org.apache.karaf.features.internal.util.MultiException: Error:
	Error downloading mvn:org.openhab.ui.bundles/org.openhab.ui.basic/3.0.2
	at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:91)
	at org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72)
	at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:457)
	at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:452)
	at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:224)
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:393)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
	Suppressed: java.io.IOException: Error downloading mvn:org.openhab.ui.bundles/org.openhab.ui.basic/3.0.2
		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
		... 3 more
	Caused by: java.io.IOException: Error resolving artifact org.openhab.ui.bundles:org.openhab.ui.basic:jar:3.0.2: [Could not transfer artifact org.openhab.ui.bundles:org.openhab.ui.basic:jar:3.0.2 from/to openhab (https://openhab.jfrog.io/openhab/libs-release/): openhab.jfrog.io]
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.configureIOException(AetherBasedResolver.java:803)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:774)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565)
		at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:52)
		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
		... 6 more
		Suppressed: shaded.org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.openhab.ui.bundles:org.openhab.ui.basic:jar:3.0.2 from/to openhab (https://openhab.jfrog.io/openhab/libs-release/): openhab.jfrog.io
			at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:52)
			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:368)
			at shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:642)
			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262)
			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:489)
			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:390)
			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:215)
			at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:192)
			at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:247)
			at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767)
			... 11 more
		Caused by: shaded.org.apache.maven.wagon.TransferFailedException: openhab.jfrog.io
			at shaded.org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1184)
			at shaded.org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1072)
			at shaded.org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:126)
			at shaded.org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
			at shaded.org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
			at shaded.org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:567)
			at shaded.org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:435)
			at shaded.org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:412)
			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:456)
			at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:363)
			... 20 more
		Caused by: java.net.UnknownHostException: openhab.jfrog.io
			at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:797)
			at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1509)
			at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1368)
			at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1302)
			at shaded.org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
			at shaded.org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112)
			at shaded.org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373)
			at shaded.org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394)
			at shaded.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
			at shaded.org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
			at shaded.org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
			at shaded.org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
			at shaded.org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
			at shaded.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
			at org.ops4j.pax.url.mvn.internal.wagon.ConfigurableHttpWagon.execute(ConfigurableHttpWagon.java:162)
			at shaded.org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1095)
			... 29 more
	Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact org.openhab.ui.bundles:org.openhab.ui.basic:jar:3.0.2
		at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:413)
		at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:215)
		at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:192)
		at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:247)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767)
		... 11 more

I tested the installation with the :latest and :3.0.2 image from DockerHub.
Furthermore, I tested OH3 behind Traefik and without Traefik (removed the “labels” in my Docker Compose YAML).

Also, I used docker exec -it openhab bash to get into my container. There I noticed, that from within the container I was not able to wget or curl https://www.google.com or JFrog.

This is my Docker Compose file I’m using:

version: '3'

services:
    openhab:
        image: openhab/openhab:latest
        container_name: openhab
        restart: always
        ports:
            - 2222:8080
        networks:
            - traefik_net
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock:ro
            - /etc/localtime:/etc/localtime:ro
            - /etc/timezone:/etc/timezone:ro
            - /opt/openhab/conf:/openhab/conf
            - /opt/openhab/userdata:/openhab/userdata
            - /opt/openhab/addons:/openhab/addons
        labels:
            - "traefik.enable=true"
            - "traefik.http.routers.openhab.entrypoints=http"
            - "traefik.http.routers.openhab.rule=Host(`xxx`)"
            - "traefik.docker.network=traefik_net"
            - "traefik.http.services.openhab.loadbalancer.server.port=8080"
        environment:
            - EXTRA_JAVA_OPTS=-Duser.timezone=Europe/Berlin

networks:
  traefik_net:
     external: true

Does anyone faced the same issue in the past and know how to fix this?
If you need more information, let me know!

Thank you in advance!

Alex

Just curious, Why 3.0.2 instead of the latest stable 3.1.0 release?

@Bruce_Osborne
Just for testing purpose to see, if this is an issue related to 3.1.0. But the issue occur also with 3.1.0-stable.

1 Like

So either name resolution or routing does not work - I would assume.
Does logging of traefik give any hints ?

Thanks for your reply, @Wolfgang_S
Unfortunately there are no logs in traefik regarding this issue. Furthermore, I have checked two more things:

1. Logs in PiHole
In PiHole I see that the request is there:

Jul 24 10:44:09 dnsmasq[1693]: query[A] openhab.jfrog.io from 172.18.0.1
Jul 24 10:44:09 dnsmasq[1693]: forwarded openhab.jfrog.io to 194.25.0.68
Jul 24 10:44:09 dnsmasq[1693]: reply openhab.jfrog.io is <CNAME>
Jul 24 10:44:09 dnsmasq[1693]: reply endpointdns-gcprod-use1-lb.jfrog.io is 35.190.146.4
Jul 24 10:44:14 dnsmasq[1693]: query[A] openhab.jfrog.io from 172.18.0.1
Jul 24 10:44:14 dnsmasq[1693]: cached openhab.jfrog.io is <CNAME>
Jul 24 10:44:14 dnsmasq[1693]: cached endpointdns-gcprod-use1-lb.jfrog.io is 35.190.146.4

2. curl from another container in same docker network
Since I running multiple containers in the same docker network (to avoid any errors with the docker network), I docker exec into another container and curl https://www.google.com was working fine.

Does someone have an idea?

Thanks! :slight_smile:

I solved my issue with UnknownHostException with this link: Solve DNS Resolution in Other Containers when using Docker pihole - Community How-to's - Pi-hole Userspace

It seems, there is an issue with DNS resolution within other containers behind PiHole. Like mentioned above, I discovered the same, that the request was visible in my PiHole logs but the container wasn’t working properly.

1 Like