Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-5123

Executing feature:repo-remove can leave karaf in an invalid state

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.1
    • Fix Version/s: 4.1.2, 4.2.0.M1
    • Component/s: karaf
    • Labels:
      None

      Description

      To reproduce:

      feature:repo-add activemq 5.14.5
      feature:install activemq-client
      feature:repo-remove activemq-5.14.5

      After this step karaf is in an invalid state but no error / warning is shown

      feature:install jdbc

      Error executing command: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=activemq-client; type=karaf.feature; version="[5.14.5,5.14.5]"; filter:="(&(osgi.identity=activemq-client)(type=karaf.feature)(version>=5.14.5)(version<=5.14.5))"

      When installing any other feature karaf complains about the feature activemq-client as it knowns it should be installed but does not find the repo anymore.

      The workaround is to remove all features that are now not available anymore in one step. Removing individually does not work if there are more than one feature missing as feature:uninstall is only executed if it leaves karaf in a valid state.

      I propose we these things:

      • At least we need to provide a warning when executing feature:repo-remove and list all features that are now unavailable.
      • Even better would be to refuse to remove the repo when some of its features are still needed. Eventually we want an override like -f to force removal.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                gnt Guillaume Nodet
                Reporter:
                chris@die-schneider.net Christian Schneider
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: