The wording of the message is slightly wrong.
It should be "Feature named 'shell-compat/4.0.6' is not required" but it
would not be much more clear.
In short, the fact that a feature is installed does not mean you can
"uninstall" it.
You can only uninstall features you have explicitly installed.
And btw, this does not mean that it will be uninstalled, this will be the
case only if it's not required by another feature.

If you want to get a better picture of what happens, you can use the
"requirement-list" command that will print all the input requirements for
the feature service (and resolver).  All those requirements will be
fulfilled at any time after calling "feature:install" or
"feature:uninstall" (or "requirement-add", "requirement-remove").  You can
also add requirements on bundles, services, etc...

So to get back to the initial problem, "feature:uninstall" does not go
through the list of bundles and uninstalling them anymore.  It removes the
requirement from the list of input requirements and run the resolver
again.  If the feature is not needed anymore, its bundles will be
uninstalled.



2016-09-05 21:01 GMT+02:00 Benson Margulies <ben...@basistech.com>:

> I install shell-compat by including 'standard' in my assembly.
>
> If I try to uninstall it, I get the following complaint that it is not
> installed.
>
> karaf@root>feature:uninstall shell-compat/4.0.6
> 2016-09-05 14:59:20,611 | ERROR | nsole user karaf | ShellUtil
>                | 191 - org.apache.karaf.shell.core - 4.0.6 | Exception
> caught while executing command
> java.lang.IllegalArgumentException: Feature named 'shell-compat/4.0.6'
> is not installed
> at org.apache.karaf.features.internal.service.FeaturesServiceImpl.
> uninstallFeatures(FeaturesServiceImpl.java:997)[
> 6:org.apache.karaf.features.core:4.0.6]
> at org.apache.karaf.features.command.UninstallFeatureCommand.doExecute(
> UninstallFeatureCommand.java:54)[178:org.apache.karaf.
> features.command:4.0.6]
> at org.apache.karaf.features.command.FeaturesCommandSupport.execute(
> FeaturesCommandSupport.java:37)[178:org.apache.karaf.
> features.command:4.0.6]
> at org.apache.karaf.shell.impl.action.command.ActionCommand.
> execute(ActionCommand.java:83)[191:org.apache.karaf.shell.core:4.0.6]
> at org.apache.karaf.shell.impl.console.osgi.secured.
> SecuredCommand.execute(SecuredCommand.java:67)[191:
> org.apache.karaf.shell.core:4.0.6]
> at org.apache.karaf.shell.impl.console.osgi.secured.
> SecuredCommand.execute(SecuredCommand.java:87)[191:
> org.apache.karaf.shell.core:4.0.6]
> at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.
> java:480)[191:org.apache.karaf.shell.core:4.0.6]
> at org.apache.felix.gogo.runtime.Closure.executeStatement(
> Closure.java:406)[191:org.apache.karaf.shell.core:4.0.6]
> at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[191:
> org.apache.karaf.shell.core:4.0.6]
> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:
> 182)[191:org.apache.karaf.shell.core:4.0.6]
> at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:
> 119)[191:org.apache.karaf.shell.core:4.0.6]
> at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(
> CommandSessionImpl.java:94)[191:org.apache.karaf.shell.core:4.0.6]
> at org.apache.karaf.shell.impl.console.ConsoleSessionImpl.
> run(ConsoleSessionImpl.java:274)[191:org.apache.karaf.shell.core:4.0.6]
> at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]
>



-- 
------------------------
Guillaume Nodet
------------------------
Red Hat, Open Source Integration

Email: gno...@redhat.com
Web: http://fusesource.com
Blog: http://gnodet.blogspot.com/

Reply via email to