Hello.

We have a system of features to manage the provisioning of our
applications. Some low level features only reference resource
management or other common Karaf and Camel features. Other
intermediate features provide some bundles that expose services, and
rely on low level features. And then come about 100 features that
provide Camel routes contexts.

Each feature at a given level declares a dependency with
"prerequisite" on lower level features.

Our tools deploy this system with an inventory of the features
repositories, using commands like "feature:repo-add -i XXX". To update
them we use "feature:repo-remove -u XXX" to remove the old version
before installing the newest.

When we uninstall features in the reverse order, starting with the
high level features, all works as expected. But if we try to uninstall
an intermediate feature, for example, karaf refuses to execute the
command, since it finds dependent higher level features. It's
logical...

So, is there any way to force the uninstall/remove such a way that our
tools could clean all the deployed features in any random order, with
no special knowledge of logical dependencies. Something like a
transaction on DBMS that may lead to intermediate inconsistent states,
but finally is committed with a correct consistent result...

Thanks for your help.

Regards.

Reply via email to