Currently there is no such update functionality in karaf. The list of
commands you supplied is the current best practice when updating features.
What I could imagine is a command like.
feature:update <repo-name> <new-version>
It should update all currently installed features from the repo to the
new version.
As long as the new feature repo has all the features that are currently
installed such a command should be doable. Some problems arise for
special cases:
- Like the new feature has changed feature dependencies that require
other feature updates
- Some features are deleted or added that are needed
- Config files have changed in an incompatible way.
I think these things are the reason why it has not been implemented. We
could try to implement the simple case first of course. I think it would
be a good thing for 3.1.
Christian
Am 12.05.2013 12:52, schrieb Frank Lyaruu:
Hello people of Karaf,
I'm looking for a way to update Karaf features in my application.
We have an application, of about 140 bundles, spread over about 10
Karaf features, currently on Karaf 3.0.0 RC1.
For example, when I release a new bundle version, I'd like to update
our servers to use that new version, with a minimum of downtime. What
I do now, is:
1) Release the bundle to a Maven repository
2) Update the features.xml file, update the feature version and deploy
it to Maven (with a new version number)
3) Uninstall the feature from the servers
4) Remove the old mvn: feature repo from the server instance
5) Add the new mvn: feature repo to the server instance
6) Install the new feature
Mind you, this works fine, but it seems more complicated than
necessary, and it 'creates more waves' in the application as the whole
feature has to be uninstalled first.
Is there a way to 'update' a repo (determine the features that have
been updated, and for each feature determine the bundles that have
changed, and update just those)
Is anything like this possible? Or a completely different way to do
this? If not, and you think this makes sense, I'm willing to help out
if someone can point me in the right direction.
regards, Frank
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
Talend Application Integration Division http://www.talend.com