4 Replies Latest reply on Mar 26, 2013 8:49 AM by ashish.mohan_ashish.mohan

    Issue while deploying bundle with extension bundle: Unsatisfied requirement

    ashish.mohan_ashish.mohan

      My project uses some system libraries so we have created an extension bundle. All the application in my project use this extension as dependent feature as mentioned below

       

       

       

      When I try to apply a profile with dummy-app as feature to a container, I get below error.

      ======================

      Provision Exception Trace: java.lang.Exception: Can not resolve feature:

      Unsatisfied requirement(s):

      -


       

      bundle:(&(symbolicname=system.bundle))

      Framework Extension for myproject

       

      at org.fusesource.fabric.agent.ObrResolver.resolve(ObrResolver.java:200)

      at org.fusesource.fabric.agent.DeploymentAgent.updateDeployment(DeploymentAgent.java:554)

      at org.fusesource.fabric.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:428)

      at org.fusesource.fabric.agent.DeploymentAgent$1.run(DeploymentAgent.java:238)

      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

      at java.util.concurrent.FutureTask.run(FutureTask.java:166)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

      at java.lang.Thread.run(Thread.java:722)

      ======================

       

       

       

      MANIFEST.MF of extension looks like below

      ======================

      Manifest-Version: 1.0

      Export-Package: sun.nio.ch,sun.misc,sun.security.util,sun.security.action,com.sun.jdmk.comm,sun.reflect,

      sun.reflect.generics.reflectiveObjects

      Fragment-Host: system.bundle; extension:=framework

      Bundle-Name: Framework Extension for myproject

      Bundle-ManifestVersion: 2

      Bundle-Description: Bundle exporting classes required by myproject

      Bundle-SymbolicName: myproject.extension

      ======================

       

      Fuse Fabric appears to be having issue when Fragment-Host has system.bundle or extension? Is it because fuse already has a bundle called "System Bundle (4.0.3.fuse-71-047)" and it's conflicting? How can I resolve this issue.

       

      When I deploy my application directly on karaf container then it works. However same does not work with Fuse fabric.

        • 1. Re: Issue while deploying bundle with extension bundle: Unsatisfied requirement
          ffang

          Hi,

           

          Would you please append a small testcase which we can build and deploy to reproduce this problem.

          Thanks

          Freeman

          • 2. Re: Issue while deploying bundle with extension bundle: Unsatisfied requirement
            ashish.mohan_ashish.mohan

            First of all apologies for delay.

            I've attached the extension bundle(extension.zip) that I'm using as dependent bundle for all my bundles. When I add this feature to my profile and try to assign that profile to any child or remote container, I get below error

            -


            Provision Exception Trace: java.lang.Exception: Can not resolve feature:

            Unsatisfied requirement(s):

             

            bundle:(&(symbolicname=system.bundle))

            Framework Extension for My POC

             

            at org.fusesource.fabric.agent.ObrResolver.resolve(ObrResolver.java:200)

            at org.fusesource.fabric.agent.DeploymentAgent.updateDeployment(DeploymentAgent.java:554)

            at org.fusesource.fabric.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:428)

            -


             

            I'm stuck at this point and not able to move forward. Any help is greatly appreciated.

            Let me know if you need any other info.

            • 3. Re: Issue while deploying bundle with extension bundle: Unsatisfied requirement
              ashish.mohan_ashish.mohan

              Another thing I have noticed that if I directly install extension bundle in a child container, it successfully installs which indicates there is nothing wrong with the extension bundle. Below is listing when I run "list" command.

               

              System Bundle (4.0.3.fuse-71-047), Fragments: 150

              OPS4J Pax Url - mvn: (1.3.5)

              .

              .

              .

              Framework Extension for My POC (1.0.0.SNAPHOT), Hosts: 0

               

              I'm wondering why FuseFabric is not able to deploy this. Is this something that works and has been tested?

              Also as I understand, all the bundles that are installed directly and not through FuseFabric are uninstalled by Fabric when container is restarted. So I guess this apporach is not going to work.

              • 4. Re: Issue while deploying bundle with extension bundle: Unsatisfied requirement
                ashish.mohan_ashish.mohan

                I even tried copying my extension bundle directly to "deploy" directory of child container and after that container stopped automatically.

                 

                Below is the exception in the log:

                 

                2013-03-26 12:21:11,941 | INFO  | es/local1/deploy | fileinstall                      | ?                                   ? | 6 - org.apache.felix.fileinstall - 3.3.11.fuse-71-047 | Installed //extension-1.0.0-SNAPSHOT.jar

                2013-03-26 12:21:11,990 | INFO  | FelixStartLevel  | DeploymentAgent                  | rce.fabric.agent.DeploymentAgent  216 | 67 - org.fusesource.fabric.fabric-agent - 7.1.0.fuse-047 | Stopping DeploymentAgent

                2013-03-26 12:21:12,019 | INFO  | ispatcher thread | AbstractZKClient                 | ctZKClient$StateChangeDispatcher  361 | 59 - org.fusesource.fabric.fabric-zookeeper - 7.1.0.fuse-047 | StateChangeDispatcher terminated.

                2013-03-26 12:21:12,021 | INFO  | FelixStartLevel  | ZooKeeper                        | org.apache.zookeeper.ZooKeeper    679 | 58 - org.fusesource.fabric.fabric-linkedin-zookeeper - 7.1.0.fuse-047 | Session: 0x13d98855d82001e closed

                2013-03-26 12:21:12,021 | INFO  | ad-1-EventThread | ClientCnxn                       | zookeeper.ClientCnxn$EventThread  511 | 58 - org.fusesource.fabric.fabric-linkedin-zookeeper - 7.1.0.fuse-047 | EventThread shut down

                2013-03-26 12:21:12,145 | INFO  | FelixStartLevel  | core                             | ?                                   ? | 38 - org.apache.aries.jmx.core - 1.0.1.fuse-71-047 | Stopping JMX OSGi agent

                2013-03-26 12:21:12,146 | INFO  | FelixStartLevel  | core                             | ?                                   ? | 38 - org.apache.aries.jmx.core - 1.0.1.fuse-71-047 | Unregistering MBean with ObjectName osgi.compendium:service=cm,version=1.3 for service with service.id

                2013-03-26 12:21:12,147 | INFO  | JMX OSGi Agent   | core                             | ?                                   ? | 38 - org.apache.aries.jmx.core - 1.0.1.fuse-71-047 | Unregistering org.osgi.jmx.framework.BundleStateMBean to MBeanServer com.sun.jmx.mbeanserver.JmxMBeanServer@15f87254 with name osgi.core:type=bundleState,version=1.5

                2013-03-26 12:21:12,236 | INFO  | FelixStartLevel  | Activator                        | j.pax.logging.internal.Activator   59 | 4 - org.ops4j.pax.logging.pax-logging-api - 1.7.0 | Disabling SLF4J API support.

                2013-03-26 12:21:12,236 | INFO  | FelixStartLevel  | Activator                        | j.pax.logging.internal.Activator   62 | 4 - org.ops4j.pax.logging.pax-logging-api - 1.7.0 | Disabling Jakarta Commons Logging API support.

                2013-03-26 12:21:12,236 | INFO  | FelixStartLevel  | Activator                        | j.pax.logging.internal.Activator   65 | 4 - org.ops4j.pax.logging.pax-logging-api - 1.7.0 | Disabling Log4J API support.

                2013-03-26 12:21:12,237 | INFO  | FelixStartLevel  | Activator                        | j.pax.logging.internal.Activator   68 | 4 - org.ops4j.pax.logging.pax-logging-api - 1.7.0 | Disabling Avalon Logger API support.

                2013-03-26 12:21:12,237 | INFO  | FelixStartLevel  | Activator                        | j.pax.logging.internal.Activator   71 | 4 - org.ops4j.pax.logging.pax-logging-api - 1.7.0 | Disabling JULI Logger API support.

                 

                 

                Can someone please provide inputs?