Karaf console: bundle:uninstall and bundle:update not running as expected!

I have an OH2 online SNAPSHOT installation.

In service.cfg:

package = standard
remote = true

I read the following topics before:

and many other…

Thus I tried:

bundle:update (in my example: = 218 = hamonyhub) --> result: harmony binding was only uninstalled, nothing else!! (Then I installed it again…)

bundle:uninstall 219 -->result: harmony binding was uninstalled!! (OK!)

PaperUI: Installed Harmony Binding --> OK

Expected it will now be the newest version available, --> failed --> same version as before!

bundle:uninstall 220 -->result: harmony binding was uninstalled!! (OK!)

Went to folder: \userdata\tmp\mvn\org\openhab\binding\org.openhab.binding.harmonyhub and deleted all files and subfolders.

PaperUI: Installed Harmony Binding --> OK

Now the newest version of harmony binding is available! --> OK!

What did I miss, what was wrong?

Is it a bug or a feature?

I expected that an uninstallation will also delete the files from harddisk or a new installation of the same binding will overwrite the old ones.

Edit: If a binding never was installed before, then the newest is installed from remote.

I had the same problem and your solution worked also for me.
I’m pretty sure it is not a feature, so I opened an issue on github:

Thanks a lot. Also have Snapshot Build 858. Maybe that’s the problem…

AFAIK the “Online-Repo” is here: --> last updated Apr 26, 2017

e.g. Harmonyhub Binding is there:

HarmonyHub Binding

When will there normally be the latest version?

I thought “nightly” means “once a night”??

Who knows the exact update frequency?

But this is not the origin of the problem. When I try to update e.g. build 858 (or earlier) to above shown (latest available version) I always get the same .jar as it was in build 858 (or earlier). After deleting \userdata\tmp\mvn\org\openhab\binding\org.openhab.binding.harmonyhub it updates to:

211 | Active | 80 | 2.1.0.201704261428 | HarmonyHub Binding

which is exactly above mentioned version…

Snapshot distro: https://openhab.ci.cloudbees.com/job/openHAB-Distribution/
Snapshot bindings: https://openhab.ci.cloudbees.com/job/openHAB2-Bundles/lastSuccessfulBuild/

This was correct until last weekend :slight_smile:
Please see my post here about the move of this repo. Sorry for the inconveniences :innocent:

1 Like

@Kai Ok, thank you very much for this information! :slight_smile:

@sihui Yes, there are the “offline” files. For downloading manually, unzip them and install a new distro or to put them to addons folder. But if you use Paper UI to install a binding, the online-repo was until last weekend:

https://bintray.com/openhab/mvn/online-repo/2.1.nightly

and now is:

https://openhab.jfrog.io/openhab/online-repo-snapshot/2.1

Yes, that is how I use it :slight_smile:
But once installed, you are also able to update a binding via uninstalling/installing.

I closed the github issue because now we know the reason …

@Kai @sihui

I tested the new online-repo!

Uninstalled (e.g) allplay and harmonyhub bindings.

Changed the following files with the new repo-path:

userdata/etc/version.properties
userdata/etc/org.ops4j.pax.url.mvn.cfg

deleted the following folders:

\userdata\tmp\mvn\org\openhab\binding\org.openhab.binding.allplay
\userdata\tmp\mvn\org\openhab\binding\org.openhab.binding.harmonyhub

Installed allplay and harmonyhub again:

and now I have the newest versions:

bundle:list

238 | Active | 80 | 2.1.0.201705011011 | HarmonyHub Binding
239 | Active | 80 | 2.1.0.201705011011 | AllPlay Binding

@Kai Why one have to delete the binding-folders manually? Should it not been overwritten automatically?

This gets even more weird:

On a manual installed #906 build, comes with:

198 | Active | 80 | 2.1.0.201704261428 | HarmonyHub Binding

Uninstalled harmony binding via PaperUI, installed harmony binding via PaperUI:

2017-05-02 19:37:19.633 [INFO ] [core.karaf.internal.FeatureInstaller] - Uninstalled 'openhab-binding-harmonyhub’
218 | Active | 80 | 2.1.0.201704261428 | HarmonyHub Binding

Still same version of the binding.

Uninstalled harmony binding, deleted the files in the /tmp … directory, installed the harmony binding again via PaperUI:

219 | Active | 80 | 2.1.0.201704261428 | HarmonyHub Binding

Still old version. I guess I have to reopen the git issue … there seems to be definitely something wrong, because this has worked before (without deleting the binding files manually).
BTW, restarting openhab2 service did not help either.

Did you check?

\userdata/etc/version.properties
userdata/etc/org.ops4j.pax.url.mvn.cfg

No. I won’t go any deeper into this or tweak my system, this update “thing” has to be a feature from openHAB and not from me tinkering around in system files.

No idea, I would expect it to work as well. Did it work in the past?
openHAB uses plain Apache Karaf features here, so maybe someone could check how Karaf handles the updates from remote snapshot repos.

@Kai

I didn’t use this in the past. But after several “harmonyhub” issues (March/April 2017), I tried a recommendation of wborn from this topic:

I only use addons directory for inofficial or testing or my own bindings. All officially were installed via PaperUI or are inside addons.cfg.

But it never worked that (wborn’s recommended) way. (uninstall and install it again).

So I opened my own topic, here… (this one!)

Yes (manual install, not repo).

See first post, @Celaeno1 already did that without success.

What I meant was to check the Karaf documentation or its user forum on how this is designed to work.

That’s a whole different story then :slight_smile:

From what I’ve found upgrading should even be possible with just installing the feature (Karaf 4). In Karaf 3 you have to uninstall the feature first and then reinstall the feature.

http://karaf.922171.n3.nabble.com/Feature-and-Karaf-upgrades-tt4047334.html#a4047336

http://karaf.apache.org/manual/latest/#_features_upgrade

@Kai @sihui

For me it’s now enough to know how it works:

I edited (checked) the following files:

\userdata\etc\ version.properties
\userdata\etc\ org.ops4j.pax.url.mvn.cfg
\userdata\config\org\ops4j\pax\url\ mvn.config

I checked if there are the following (correct) entries:

version.properties

online-repo     : https://openhab.jfrog.io/openhab/online-repo-snapshot/2.1

org.ops4j.pax.url.mvn.cfg

org.ops4j.pax.url.mvn.repositories = https://openhab.jfrog.io/openhab/online-repo-snapshot/2.1@id=openhab@snapshots

mvn.config

org.ops4j.pax.url.mvn.repositories="https://openhab.jfrog.io/openhab/online-repo-snapshot/2.1@id\=openhab@snapshots"

Then I uninstall my binging(s) that should be updated via PaperUI
or I remove them from \conf\services\ addons.cfg

Then I go to the following folder:

\userdata\tmp\mvn\org\openhab\binding and delete the corresponding folder of the binding, eg:

org.openhab.binding.harmonyhub

Then I put the entry back to \conf\services\ addons.cfg

or install it via PaperUI again.

Then the newest available version of the binding will be downloaded from above Online-Repo.

Ready! :slight_smile:

1 Like

Nice workaround … but in my opinion the upgrade procedure should be fixed, there are a lot of users out here who don’t like to mess with system files (and they should not have to do that).

1 Like