2.1.0 -> 2.2.0 Upgrade - cannot create folder and BundleExceptions

Platform information:
    Hardware: Intel(R) Xeon(R) CPU E3-1265L V2 @ 2.50GHz
    OS: Debian GNU/Linux 8 \n \l
    Java Runtime Environment: : Oracle java version "1.8.0_131"
    openHAB version:2.2.0, dev versions of zwave, exec
Issue of the topic: Multiple errors in logs after upgrade regarding cannot create folder AND BundleException

Hi List -
Upgraded my OH 2.1.0 installation using the upgrade script which complete successfully:

#########################################
       openHAB 2.x.x update script
#########################################

Making Temporary Directory
Downloading openHAB 2.2.0...
######################################################################## 100.0%
Update script in .zip archive found, using that instead.

#########################################
       openHAB 2.x.x update script
#########################################

Making Temporary Directory
The script will attempt to update openHAB to version 2.2.0
Is this okay? [y/N]: y
Removing openHAB System Files...
mv: cannot stat ‘/opt/openhab2-nov/userdata/etc/custom.system.properties’: No such file or directory
Clearing cache...
Updating openHAB...
Deleting temporary files...
Restoring previous file ownership (openhab:openhab)

SUCCESS: openHAB updated from 2.1.0 to 2.2.0

But on startup I see errors in openhab.log. First are “Cannot create folder”:

2018-03-10 15:05:46.290 [ERROR] [org.apache.felix.fileinstall        ] - Cannot create folder /opt/openhab2-nov/userdata/tmp/bundles. Is the folder write-protected?
2018-03-10 15:05:46.296 [ERROR] [org.apache.felix.configadmin        ] - [org.osgi.service.cm.ManagedServiceFactory, id=37, bundle=8/mvn:org.apache.felix/org.apache.felix.fileinstall/3.5.8]: Unexpected problem updating configuration org.
apache.felix.fileinstall.dda8da99-17d6-4e6d-8eb9-1a432e6fac83
java.lang.RuntimeException: Cannot create folder: /opt/openhab2-nov/userdata/tmp/bundles
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.prepareDir(DirectoryWatcher.java:638) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.prepareTempDir(DirectoryWatcher.java:618) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.<init>(DirectoryWatcher.java:175) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.FileInstall.updated(FileInstall.java:247) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.FileInstall$ConfigAdminSupport$Tracker.updated(FileInstall.java:377) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1640) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1582) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:141) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:109) [7:org.apache.felix.configadmin:1.8.16]
        at java.lang.Thread.run(Thread.java:748) [?:?]
2018-03-10 15:05:46.301 [ERROR] [org.apache.felix.fileinstall        ] - Cannot create folder /opt/openhab2-2_2_0/userdata/tmp/bundles. Is the folder write-protected?
2018-03-10 15:05:46.301 [ERROR] [org.apache.felix.configadmin        ] - [org.osgi.service.cm.ManagedServiceFactory, id=37, bundle=8/mvn:org.apache.felix/org.apache.felix.fileinstall/3.5.8]: Unexpected problem updating configuration org.
apache.felix.fileinstall.4b2bcac8-1d7c-4260-990e-c981b844996d
java.lang.RuntimeException: Cannot create folder: /opt/openhab2-2_2_0/userdata/tmp/bundles
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.prepareDir(DirectoryWatcher.java:638) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.prepareTempDir(DirectoryWatcher.java:618) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.<init>(DirectoryWatcher.java:175) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.FileInstall.updated(FileInstall.java:247) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.FileInstall$ConfigAdminSupport$Tracker.updated(FileInstall.java:377) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1640) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1582) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:141) [7:org.apache.felix.configadmin:1.8.16]
        at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:109) [7:org.apache.felix.configadmin:1.8.16]
        at java.lang.Thread.run(Thread.java:748) [?:?]

Both of the paths in the error messages above (/opt/openhab2-nov/userdata/tmp/bundles, /opt/openhab2-2_2_0/userdata/tmp/bundles) are OLD install locations.
My current install is located in /opt/openhab2-2_2_0_zwave23snap and is started by systemd via a symlink of /opt/openhab2
Do I need to update this path somewhere in the config?

Next in openhab.log are multiple BundleExceptions (perhaps a result of the above error?)

org.osgi.framework.BundleException: A bundle is already installed with the name "org.openhab.binding.exec" and version "2.1.0.201801250215"
        at org.eclipse.osgi.container.ModuleContainer.install(ModuleContainer.java:260) [?:?]
        at org.eclipse.osgi.storage.Storage.install(Storage.java:539) [?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) [?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1036) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:952) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312) [8:org.apache.felix.fileinstall:3.5.8]
2018-03-10 15:05:48.320 [ERROR] [org.apache.felix.fileinstall        ] - Failed to install artifact: /opt/openhab2-2_2_0_zwave23snap/addons/org.openhab.binding.zwave-2.3.0-SNAPSHOT.jar
org.osgi.framework.BundleException: A bundle is already installed with the name "org.openhab.binding.zwave" and version "2.3.0.201803041016"
        at org.eclipse.osgi.container.ModuleContainer.install(ModuleContainer.java:260) [?:?]
        at org.eclipse.osgi.storage.Storage.install(Storage.java:539) [?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) [?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1036) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:952) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312) [8:org.apache.felix.fileinstall:3.5.8]
2018-03-10 15:05:48.324 [ERROR] [org.apache.felix.fileinstall        ] - Failed to install artifact: /opt/openhab2-2_2_0_zwave23snap/addons/org.openhab.binding.unifi-2.2.0-SNAPSHOT.jar
org.osgi.framework.BundleException: A bundle is already installed with the name "org.openhab.binding.unifi" and version "2.2.0.201709220819"
        at org.eclipse.osgi.container.ModuleContainer.install(ModuleContainer.java:260) [?:?]
        at org.eclipse.osgi.storage.Storage.install(Storage.java:539) [?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) [?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1036) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:952) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312) [8:org.apache.felix.fileinstall:3.5.8]
2018-03-10 15:05:48.332 [ERROR] [org.apache.felix.fileinstall        ] - Failed to install artifact: /opt/openhab2-2_2_0_zwave23snap/addons/org.openhab.binding.exec-2.2.0-SNAPSHOT.jar
org.osgi.framework.BundleException: A bundle is already installed with the name "org.openhab.binding.exec" and version "2.1.0.201801250215"
        at org.eclipse.osgi.container.ModuleContainer.install(ModuleContainer.java:260) [?:?]
        at org.eclipse.osgi.storage.Storage.install(Storage.java:539) [?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) [?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1036) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:952) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312) [8:org.apache.felix.fileinstall:3.5.8]
2018-03-10 15:05:48.349 [ERROR] [org.apache.felix.fileinstall        ] - Failed to install artifact: /opt/openhab2-2_2_0_zwave23snap/addons/org.openhab.binding.zwave-2.3.0-SNAPSHOT.jar
org.osgi.framework.BundleException: A bundle is already installed with the name "org.openhab.binding.zwave" and version "2.3.0.201803041016"
        at org.eclipse.osgi.container.ModuleContainer.install(ModuleContainer.java:260) [?:?]
        at org.eclipse.osgi.storage.Storage.install(Storage.java:539) [?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) [?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1036) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:952) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312) [8:org.apache.felix.fileinstall:3.5.8]
2018-03-10 15:05:48.353 [ERROR] [org.apache.felix.fileinstall        ] - Failed to install artifact: /opt/openhab2-2_2_0_zwave23snap/addons/org.openhab.binding.unifi-2.2.0-SNAPSHOT.jar
org.osgi.framework.BundleException: A bundle is already installed with the name "org.openhab.binding.unifi" and version "2.2.0.201709220819"
        at org.eclipse.osgi.container.ModuleContainer.install(ModuleContainer.java:260) [?:?]
        at org.eclipse.osgi.storage.Storage.install(Storage.java:539) [?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) [?:?]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1036) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:952) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:871) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:485) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361) [8:org.apache.felix.fileinstall:3.5.8]
        at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312) [8:org.apache.felix.fileinstall:3.5.8]

I have dealt with these types of errors in the past using the Karaf console to uninstall the conflicting bundle. I did so and restarted. But I continue to get these errors on every start. Here is the Karaf console bundle output:

openhab> bundle:list | grep "Exec Bind"
242 │ Active   │  80 │ 2.1.0.201801250215     │ Exec Binding
openhab> bundle:list | grep "ZW"
240 │ Active   │  80 │ 2.3.0.201803041016     │ ZWave Binding
openhab> bundle:list | grep "Un"
 15 │ Active   │  80 │ 2.2.0.201709220819     │ UniFi Binding
openhab>

Thanks in advance!
Dave

Following up on this…
On my production system I was able to pretty much ignore these errors for awhile but I think they have finally caught up to me.

When I go to PaperUI -> Addons -> Bindings none of the uninstalled bindings show up as they normally would

I’ve changed my install path a few times, and I see errors in the logs that are referring to the old paths, mostly from the org.apache.felix, for example:

2018-09-22 18:45:41.055 [ERROR] [org.apache.felix.configadmin ] - [org.osgi.service.cm.ManagedServiceFactory, id=37, bundle=9/mvn:org.apache.felix/org.apache.felix.fileinstall/3.6.4]
: Unexpected problem updating configuration org.apache.felix.fileinstall.50428e39-f4ed-49cd-a0be-1f38cfa024d6
java.lang.RuntimeException: Cannot create folder: /opt/openhab2-2_2_0_zwave23snap/userdata/tmp/bundles
at org.apache.felix.fileinstall.internal.DirectoryWatcher.prepareDir(DirectoryWatcher.java:647) ~[?:?]

I used rgrep to track down the old paths in my config and I am going to edit these files and fix the paths:

jj ➜  openhab rgrep /opt/openhab2/addons *
userdata/config/org/apache/felix/fileinstall/6a98895a-1c5b-473e-835a-373c31a401a3.config:felix.fileinstall.dir="/opt/openhab2/addons"
userdata/config/org/apache/felix/fileinstall/dda8da99-17d6-4e6d-8eb9-1a432e6fac83.config:felix.fileinstall.dir="/opt/openhab2/addons"
userdata/config/org/apache/felix/fileinstall/4b2bcac8-1d7c-4260-990e-c981b844996d.config:felix.fileinstall.dir="/opt/openhab2/addons"
userdata/config/org/apache/felix/fileinstall/50428e39-f4ed-49cd-a0be-1f38cfa024d6.config:felix.fileinstall.dir="/opt/openhab2/addons"

I am thinking that will fix it, will post back afterwards