2 Replies Latest reply on Dec 19, 2012 10:00 AM by komododave

    Should all custom profiles now extend 'karaf' instead of 'default'?

    komododave

      Before reading, note that we use Sonatype Nexus proxies for all Maven repositories.

       

      Stan Lewis mentioned in  this post that the 'karaf' profile must be extended when creating a profile to which the 'process-manager' feature is added.

       

      However, I just created a fresh fabric and ran the  FMC pinger example and it failed to provision, giving the same error as I listed  here.

       

      Modifying the 'pinger-base' profile described in the example to extend 'karaf' instead of 'default' worked like a charm.

       

      I simply want to understand this. So the question is:

       

      Why can I see the features in FMC after adding the features repo specified in the example, yet they won't provision on the default profile?

       

      This confuses me because our custom Nexus proxy is the only maven repo access that Fabric has, and is configured for the agent on 'default' profile and for the maven proxy on 'fabric' profile.

       

      Therefore, what information is the 'karaf' profile providing that's otherwise missing, and how is it different from what FMC uses to populate its available features list?

        • 1. Re: Should all custom profiles now extend 'karaf' instead of 'default'?
          stlewis

          The "karaf" profile has these two feature repositories:

           

          mvn:org.apache.karaf.assemblies.features/standard/2.3.0.fuse-71-047/xml/features

           

          and

           

          mvn:org.apache.karaf.assemblies.features/enterprise/2.3.0.fuse-71-047/xml/features

           

          The first feature repository brings in the "http" feature which is apparently needed by those artifacts.  Note that feature repositories are different than maven repositories, feature repositories are a karaf thing that enable you to configure a group of bundles into a "feature" to be provisioned all at the same time.  When the fabric agent is provisioning it only knows about the feature repositories that it's effective profiles have been configured with.  Also if you specify dependent feature repositories in a feature repository XML the provisioning agent will be able to grab features from there.  That's the main reason in the "pinger" example I have a bunch of them listed, that way it's less work configuring profiles to deploy the pinger example features.

           

          Now I'm gonna have to update that pinger example to also include the karaf feature repository...

          • 2. Re: Should all custom profiles now extend 'karaf' instead of 'default'?
            komododave

            Great info as always Stan, thank you for explaining clearly. That's another question ticked off