Issues updating to OH 3.2

Dear all

I like OH and its community very much and highly appreciate all your efforts. However, updating to a new release was never an easy topic at least for me:

  1. Run on 3.1. and tried to update with openhabian config to 3.2. Result: system was broken and not accessible anymore (putty, app etc)
  2. Freshly installed the whole system via openhabian and restored sytem via my back-up file (thanks God i had a back-up file) via openhabian config (50 and 51).

Now following issue: I cannot access karaf console, cannot access system via web (192.xxx.xxx.xx:8080) and cannot access system via app.

Could anybody help me to get my system up and running again? i’m quite lost.

Thanks in advance for any help, highly appreciated

Is openHAB running at all? It looks like it is not started from the symptoms.
Was openHAB 3.2 working before you restored your backed up configuration?

try

systemctl status openhab.service

on the command line. What does it tell you?

Not sure if I understood you correct, but I have also recently restored an OH3.1 backup to an OH3.2 installation and faced a startup issue.

The backup was overwriting a config file which was modified during the update, therefore the updated information was lost again.

Maybe take a look into your logs, search for the error message and chances are high that others already had same issue and you find a solution

Hi Sascha

It says:

● openhab.service - openHAB instance, reachable at http://openhabian:8080
     Loaded: loaded (/lib/systemd/system/openhab.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/openhab.service.d
             └─override.conf
     Active: active (running) since Thu 2021-12-30 23:34:14 CET; 8h ago
       Docs: https://www.openhab.org/docs/
             https://community.openhab.org
   Main PID: 3995 (java)
      Tasks: 29 (limit: 2178)
        CPU: 36.337s
     CGroup: /system.slice/openhab.service
             └─3995 /usr/bin/java -XX:-UsePerfData -Dopenhab.home=/usr/share/openhab -Dopenhab.conf=/etc/openhab -Dopenhab.runtime=/usr/share/openhab/runtime -Dopenhab.userdata=/var/lib/openhab -Dopenhab.lo>

With my little understanding i guess that the back-end seems to be running. Also my back-up script produced a new new back-up in the night (as is should). Apparently just web-server and karaf console and maybe other front-end systems are not working…

Unfortunately i did not test if everything is working before i did that restore… I naively assumed that everything should be working…

2021-12-30 23:34:30.462 [ERROR] [ternal.service.BootFeaturesInstaller] - Error installing boot features
org.apache.karaf.features.internal.util.MultiException: Error:
        Error downloading mvn:org.ops4j.pax.logging/pax-logging-api/2.0.12
        Error downloading mvn:org.ops4j.pax.logging/pax-logging-log4j2/2.0.12
        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:399) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
        Suppressed: java.io.IOException: Error downloading mvn:org.ops4j.pax.logging/pax-logging-api/2.0.12
                at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77) ~[?:?]
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
                at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
                at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
                at java.lang.Thread.run(Thread.java:829) [?:?]
        Caused by: java.io.IOException: Error resolving artifact org.ops4j.pax.logging:pax-logging-api:jar:2.0.12: [Could not find artifact org.ops4j.pax.logging:pax-logging-api:jar:2.0.12 in openhab (https>
                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.ArtifactNotFoundException: Could not find artifact org.ops4j.pax.logging:pax-logging-api:jar:2.0.12 in openhab (https://openhab.jfrog.io/openha>
                        at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[?:?]
                        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) ~[?:?]
                        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) ~[?:?]
                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
                        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
                        at java.lang.Thread.run(Thread.java:829) [?:?]
        Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact org.ops4j.pax.logging:pax-logging-api:jar:2.0.12
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) ~[?:?]
                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: java.io.IOException: Error downloading mvn:org.ops4j.pax.logging/pax-logging-log4j2/2.0.12
                at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77) ~[?:?]
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
                at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
                at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
                at java.lang.Thread.run(Thread.java:829) [?:?]
        Caused by: java.io.IOException: Error resolving artifact org.ops4j.pax.logging:pax-logging-log4j2:jar:2.0.12: [Could not find artifact org.ops4j.pax.logging:pax-logging-log4j2:jar:2.0.12 in openhab >
                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.ArtifactNotFoundException: Could not find artifact org.ops4j.pax.logging:pax-logging-log4j2:jar:2.0.12 in openhab (https://openhab.jfrog.io/ope>
                        at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[?:?]
                        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) ~[?:?]
                        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) ~[?:?]
                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
                        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
                        at java.lang.Thread.run(Thread.java:829) [?:?]
        Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact org.ops4j.pax.logging:pax-logging-log4j2:jar:2.0.12
                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) ~[?:?]
                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

and that is what the log file says. Any idea what I could do to fix this issue?

Many thanks in advance for your help.

Have you updated java to version 11? That’s available within openhabian-config tool and if you search the forum with your error message, you find some comments on this

Thanks Matthias

I did not manually install Java 11, I thought this would be done automatically.

In openhabian-config I guess it is in the menu 40 and then 45. But which one to choose: Zulu 11 OpenJDK 32-bit or AdoptOpenJDK 11

Hi Sascha

Ok, I did a fresh install again…and tested if the system was working before restoring… and it did work!

After restoring, karaf console and the web server are not working anymore. So, same behavior as yesterday night. The restoring procedure seems to destroy the system.

Any ideas, how to fix that?

I’d check those threads, since they pop up when you search for your error message

Error downloading mvn:org.ops4j.pax.logging/pax-logging-api/2.0.12

Probably the mentioned files gets overwritten after restoring the backup…

Dear Sascha

After some trying at least I got the web server working. in my case I had to change the org.apache.karaf.features.xml file to:

<?xml version="1.0" encoding="UTF-8"?>
<featuresProcessing xmlns="http://karaf.apache.org/xmlns/features-processing/v1.0.0">

    <bundleReplacements>
        <bundle originalUri="mvn:org.ops4j.pax.logging/pax-logging-api/[0,2.0.13)" replacement="mvn:org.ops4j.pax.logging/pax-logging-api/2.0.13" mode="maven" />
        <bundle originalUri="mvn:org.ops4j.pax.logging/pax-logging-log4j2/[0,2.0.13)" replacement="mvn:org.ops4j.pax.logging/pax-logging-log4j2/2.0.13" mode="maven" />
        <bundle originalUri="mvn:org.ops4j.pax.logging/pax-logging-logback/[0,2.0.13)" replacement="mvn:org.ops4j.pax.logging/pax-logging-logback/2.0.13" mode="maven" />
    </bundleReplacements>

</featuresProcessing>

However, when I want to lo access thekaraf Console i get follwing error message:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
"Some Code XXXXXXXXXXXXXXXXXXXX".
Please contact your system administrator.
Add correct host key in /home/openhabian/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/openhabian/.ssh/known_hosts:1
  remove with:
  ssh-keygen -f "/home/openhabian/.ssh/known_hosts" -R "[localhost]:8101"
RSA host key for [localhost]:8101 has changed and you have requested strict checking.
Host key verification failed.

What do I have to do here?

Not really sure - i’m not doing more than searching the forum for related errors and paste them here for you. So the most recent thread with a similar problem is (strangely i was involved there as well :wink: )

But the error message itself basically tells you what to to:

Add correct host key in /home/openhabian/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/openhabian/.ssh/known_hosts:1
remove with:
ssh-keygen -f “/home/openhabian/.ssh/known_hosts” -R “[localhost]:8101”

So maybe the known_hosts file is also part of the backup and has been replaced.
But i’m not really an expert in this domain

Run the command shown:

ssh-keygen -f “/home/openhabian/.ssh/known_hosts” -R “[localhost]:8101”

Then try again to connect to the karaf console.

1 Like

Dear Sascha

I didn’t want to appear lazy, I was just scared to mess something up again. Anyway, I followed the steps as proposed and anything seems to work now.

So, thanks a lot for your help and happy new year then!

openHAB has always said downgrading was is not supported. the 3.1 backup should have been restored on 3.1 & then upgraded to get converted to 3.2.

Yes, it was more to nail down the issue, if it is because of the upgrade itself or because of a wrong backup.

hi I have the same problem, but in / home/openhabian I only have the readme.txt file, I don’t have .ssh / known_hosts “-R” [localhost]: 8101 "
how can i solve? thank you

I was also bitten by this but was able to restore from backup anyway!

The heart of the problem is as follows. If you run openhabian and restore a backup from, say 3.1 to a 3.2 install, a lot of files with references to file paths and library versions are overwritten. What you get is a totally broken install.

I think it would be better for the openhabian restore process to check versions and simply prevent a restore if the openhab version is different!

In my case I had no usable 3.1 install to revert to, so I had to somehow save my rather involved configuration. Long story short - if you unpack the openhabian-backup-date.zip, you can selectively restore the configuration files you need.

You should more or less get everything from the “conf” directory and the "jsondb’ directory from “userdata”. Your mileage may vary, but I was able to rescue my configuration this way

2 Likes

That was why I suggested restoring to 3.1 FIRST & THEN upgrading,

No, that’s a user’s own duty.
Restoring a (config) backup taken on a software version A to that software’s version B is a fundamental user mistake.
Devs can easily waste time of theirs adding all sorts of checks but in the end no software can sufficiently prevent users from doing silly things and there is no alternative to understanding the thing right.

BTW your issue and request haven’t anything to do with openHABian.
That just calls openhab-cli script which is part of the openHAB distribution and as such part of every install. If you want that to be enhanced, go code that check and provide it back to the community as a pull request on openhab-distro.

True! If you have something to revert to!

Usually I’m Mr. Backup himself but in this specific case my backups were useless and I could not for the life of me install an older version of openHAB via openhabian. It always automagically upgraded to the current 3.2 version after install.

I am pretty sure this could happen to other people too, so I wanted to document my way out of the situation. This is after all a community resource.