Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-4292

[Patch mechanism] Unable to create child container with patched root

    XMLWordPrintable

Details

    • % %
    • Hide
      1. fabric:create (GA)
      2. container-create-child root testcontainer
      3. install the patching mechanism for build nr. 70, using steps provided in : https://mojo.redhat.com/docs/DOC-1049758 (Patch is applied to version 1.1 but not used)
      4. container-upgrade 1.1 testcontainer
      5. container-upgrade 1.1 root
      Show
      fabric:create (GA) container-create-child root testcontainer install the patching mechanism for build nr. 70, using steps provided in : https://mojo.redhat.com/docs/DOC-1049758 (Patch is applied to version 1.1 but not used) container-upgrade 1.1 testcontainer container-upgrade 1.1 root

    Description

      I am not sure if it relevant, but I created one child container in GA fabric. Then I created new version 1.1 with build 070 applied as patch. Afterwards I successfully upgraded the child container 1.1 and then also the root.

      After upgrading root container:

      JBossFuse:karaf@root> container-list
      [id]             [version]  [type]  [connected]  [profiles]              [provision status]
      root*            1.1        karaf   yes          fabric                  success           
                                                       fabric-ensemble-0000-1                    
                                                       jboss-fuse-full                           
        testcontainer  1.1        karaf   yes          default                 success  
      

      Now if i want to create new child container in version 1.1 or 1.0:

      JBossFuse:karaf@root> container-create-child --version 1.1 root testcontainer2
      The following containers have failed:
      	testcontainer2: Error unmarshaling return; nested exception is: 
      	java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      JBossFuse:karaf@root> container-create-child --version 1.0 root testcontainer2
      The following containers have failed:
      	testcontainer2: Error unmarshaling return; nested exception is: 
      	java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      

      Log:

      2015-10-27 11:18:31,263 | INFO  | r testcontainer2 | ChildContainerProvider           | 77 - io.fabric8.fabric-core - 1.2.0.redhat-621070 | Using container controller io.fabric8.service.child.ChildContainerProvider$1@267241d
      2015-10-27 11:18:31,762 | WARN  | r testcontainer2 | FabricServiceImpl                | 77 - io.fabric8.fabric-core - 1.2.0.redhat-621070 | The creation of the container testcontainer2 has failed
      java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: 
      	java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:246)[:1.7.0_80]
      	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)[:1.7.0_80]
      	at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)[:1.7.0_80]
      	at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)[:1.7.0_80]
      	at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:906)[:1.7.0_80]
      	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:267)[:1.7.0_80]
      	at com.sun.proxy.$Proxy104.getInstances(Unknown Source)[14:org.apache.karaf.admin.management:2.4.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.getParentBasePath(ChildContainerProvider.java:351)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.doCreateKaraf(ChildContainerProvider.java:337)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.access$100(ChildContainerProvider.java:55)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider$1$1.doWithAdminService(ChildContainerProvider.java:192)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider$1$1.doWithAdminService(ChildContainerProvider.java:190)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.ContainerTemplate$2.doWithJmxConnector(ContainerTemplate.java:94)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.NonCachingJmxTemplate.execute(NonCachingJmxTemplate.java:37)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.ContainerTemplate.execute(ContainerTemplate.java:91)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider$1.create(ChildContainerProvider.java:190)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.create(ChildContainerProvider.java:87)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.create(ChildContainerProvider.java:49)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.FabricServiceImpl$1.run(FabricServiceImpl.java:573)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      Caused by: java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      	at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:393)[:1.7.0_80]
      	at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:185)[:1.7.0_80]
      	at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)[:1.7.0_80]
      	at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)[:1.7.0_80]
      	at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)[:1.7.0_80]
      	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)[:1.7.0_80]
      	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)[:1.7.0_80]
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)[:1.7.0_80]
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)[:1.7.0_80]
      	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)[:1.7.0_80]
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:244)[:1.7.0_80]
      	... 18 more
      2015-10-27 11:19:11,391 | INFO  | r testcontainer2 | ChildContainerProvider           | 77 - io.fabric8.fabric-core - 1.2.0.redhat-621070 | Using container controller io.fabric8.service.child.ChildContainerProvider$1@d5acbb2
      2015-10-27 11:19:11,889 | WARN  | r testcontainer2 | FabricServiceImpl                | 77 - io.fabric8.fabric-core - 1.2.0.redhat-621070 | The creation of the container testcontainer2 has failed
      java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: 
      	java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:246)[:1.7.0_80]
      	at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)[:1.7.0_80]
      	at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)[:1.7.0_80]
      	at javax.management.remote.rmi.RMIConnectionImpl_Stub.getAttribute(Unknown Source)[:1.7.0_80]
      	at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getAttribute(RMIConnector.java:906)[:1.7.0_80]
      	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:267)[:1.7.0_80]
      	at com.sun.proxy.$Proxy104.getInstances(Unknown Source)[14:org.apache.karaf.admin.management:2.4.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.getParentBasePath(ChildContainerProvider.java:351)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.doCreateKaraf(ChildContainerProvider.java:337)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.access$100(ChildContainerProvider.java:55)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider$1$1.doWithAdminService(ChildContainerProvider.java:192)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider$1$1.doWithAdminService(ChildContainerProvider.java:190)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.ContainerTemplate$2.doWithJmxConnector(ContainerTemplate.java:94)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.NonCachingJmxTemplate.execute(NonCachingJmxTemplate.java:37)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.ContainerTemplate.execute(ContainerTemplate.java:91)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider$1.create(ChildContainerProvider.java:190)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.create(ChildContainerProvider.java:87)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.child.ChildContainerProvider.create(ChildContainerProvider.java:49)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      	at io.fabric8.service.FabricServiceImpl$1.run(FabricServiceImpl.java:573)[77:io.fabric8.fabric-core:1.2.0.redhat-621070]
      Caused by: java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      	at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:393)[:1.7.0_80]
      	at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:185)[:1.7.0_80]
      	at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)[:1.7.0_80]
      	at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)[:1.7.0_80]
      	at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)[:1.7.0_80]
      	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)[:1.7.0_80]
      	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)[:1.7.0_80]
      	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)[:1.7.0_80]
      	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)[:1.7.0_80]
      	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)[:1.7.0_80]
      	at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:244)[:1.7.0_80]
      	... 18 more
      

      Also I am unable to stop the already created child container but I am able to connect to it via container-connect:

      JBossFuse:karaf@root> container-stop testcontainer 
      The list of container names: [testcontainer]
      Error executing command: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: 
      	java.lang.ClassNotFoundException: org.osgi.service.blueprint.container.ServiceUnavailableException (no security manager: RMI class loader disabled)
      

      If root container is restarted then all commands work without problem but fabric is unable to provision child container created with a old version (I am not really sure if this supported). It is stuck at analyzing.

      JBossFuse:karaf@root> container-create-child --version 1.0 root testcontainer2
      Jmx Login for root: admin
      Jmx Password for root: 
      Creating new instance on SSH port 8104 and RMI ports 1102/44447 at: /home/rjakubco/Fuse/jboss-fuse-6.2.0.redhat-133/instances/testcontainer2
      The following containers have been created successfully:
      	Container: testcontainer2.
      JBossFuse:karaf@root> container-create-child --version 1.1 root testcontainer3
      Creating new instance on SSH port 8105 and RMI ports 1103/44448 at: /home/rjakubco/Fuse/jboss-fuse-6.2.0.redhat-133/instances/testcontainer3
      The following containers have been created successfully:
      	Container: testcontainer3.
      JBossFuse:karaf@root> container-list
      [id]              [version]  [type]  [connected]  [profiles]              [provision status]
      root*             1.1        karaf   yes          fabric                  success           
                                                        fabric-ensemble-0000-1                    
                                                        jboss-fuse-full                           
        testcontainer   1.1        karaf   no           default                 stopped           
        testcontainer2  1.0        karaf   no           default                 analyzing         
        testcontainer3  1.1        karaf   yes          default                 success  
      

      Attachments

        Issue Links

          Activity

            People

              ggrzybek Grzegorz Grzybek
              rjakubco Roman Jakubco (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: