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

Compatibility of blueprint broken in offline environment

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • fuse-6.x-GA
    • fuse-6.x-GA
    • None
    • None
    • % %
    • Hide

      Note that this issue affects fuse 6.3.0.redhat-211

      1. create fabric
      2. create profile with bundle in the attachment
      3. create ssh container in offline environment with the profile deployed
        • provisioning of the container will fail
      Show
      Note that this issue affects fuse 6.3.0.redhat-211 create fabric create profile with bundle in the attachment create ssh container in offline environment with the profile deployed provisioning of the container will fail

      When blueprint bundle, which contains cxf endpoints and karaf commands, is added to a profile. Consequently, the container with the profile fails to provision if it is in offline environment.

      Karaf cannot find the xml schema and throws exception (as it has no internet access to fetch it from the internet). It is clear that not all xml schema should be included in Fuse, but this particular schema is definitely part of 6.3.0 GA, because same steps work in GA (also offline). Therefore, this issue breaks compatibility between GA and R1. Hence customers' bundles may stop working after installing R1 patch.

      blueprint.xml
      <?xml version="1.0" encoding="UTF-8"?>
      <!--
          Licensed to the Apache Software Foundation (ASF) under one or more
          contributor license agreements.  See the NOTICE file distributed with
          this work for additional information regarding copyright ownership.
          The ASF licenses this file to You under the Apache License, Version 2.0
          (the "License"); you may not use this file except in compliance with
          the License.  You may obtain a copy of the License at
      
          http://www.apache.org/licenses/LICENSE-2.0
      
          Unless required by applicable law or agreed to in writing, software
          distributed under the License is distributed on an "AS IS" BASIS,
          WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
          See the License for the specific language governing permissions and
          limitations under the License.
      -->
      
      <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
      		   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      		   xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
      		   xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws"
      		   xmlns:cxf="http://cxf.apache.org/blueprint/core"
      		   xmlns:camel="http://camel.apache.org/schema/blueprint"
      		   xmlns:camelcxf="http://camel.apache.org/schema/blueprint/cxf"
      		   xsi:schemaLocation="
                   http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
                   http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd
                   http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd
                   ">
      
      	<command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0"
      			>
      		<command name="mqclient/pac">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.ProduceAndConsumeCommand"/>
      
      		</command>
      		<command name="mqclient/produce">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.ProduceCommand"/>
      
      		</command>
      		<command name="mqclient/consume">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.ConsumeCommand"/>
      		</command>
      
      		<command name="mqclient/tpac">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TransactionalProduceAndConsumeCommand"/>
      
      		</command>
      		<command name="mqclient/produce-transactional">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TransactionalProduceCommand"/>
      
      		</command>
      		<command name="mqclient/consume-transactional">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TransactionalConsumeCommand"/>
      		</command>
      		<command name="mqclient/publish">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TopicPublishCommand"/>
      		</command>
      		<command name="mqclient/tpublish">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TransactionalPublishCommand"/>
      		</command>
      		<command name="mqclient/subscribe">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TopicSubscribeCommand"/>
      		</command>
      		<command name="mqclient/tsubscribe">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.TransactionalSubscribeCommand"/>
      		</command>
      		<command name="mqclient/durable-subscribe">
      			<action class="org.jboss.fuse.qa.server.tools.fabric.client.commands.DurableTopicSubscribeCommand"/>
      		</command>
      
      	</command-bundle>
      
      	<jaxws:endpoint
      			implementor="#messageClientBean"
      			id="messageClient"
      			address="/mqclient"/>
      
      
      	<service id="messageClientService"
      			 interface="org.jboss.fuse.qa.server.tools.fabric.client.ws.MessageClientInterface"
      			 ref="messageClientBean"/>
      	<bean id="messageClientBean" class="org.jboss.fuse.qa.server.tools.fabric.client.ws.MessageClient"/>
      </blueprint>
      

      The container with the bundle throws following exception:

      
              org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'pt:ParameterizedBoolean' to a(n) 'type definition' component.
      
                at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:201)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:132)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:394)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4093)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4088)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1660)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseNamedAttr(XSDAttributeTraverser.java:324)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDAttributeTraverser.traverseLocal(XSDAttributeTraverser.java:110)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDAbstractTraverser.traverseAttrsAndAttrGrps(XSDAbstractTraverser.java:612)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.processComplexContent(XSDComplexTypeTraverser.java:1120)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexContent(XSDComplexTypeTraverser.java:833)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:312)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.traverseLocal(XSDComplexTypeTraverser.java:161)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:368)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseGlobal(XSDElementTraverser.java:239)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1415)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:614)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:580)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:547)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:513)[:2.11.0.SP4-redhat-1]
                at org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:233)[:2.11.0.SP4-redhat-1]
                at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.createSchema(NamespaceHandlerRegistryImpl.java:628)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.doGetSchema(NamespaceHandlerRegistryImpl.java:458)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.getSchema(NamespaceHandlerRegistryImpl.java:443)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:343)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:300)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:269)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:265)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:255)[org.apache.aries.blueprint:org.apache.aries.blueprint.core:1.7.1 org.apache.aries.blueprint:org.apache.aries.blueprint.core.compatibility:1.0.0]
                at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[org.apache.aries:org.apache.aries.util:1.1.0]
                at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[org.apache.aries:org.apache.aries.util:1.1.0]
                at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[org.apache.aries:org.apache.aries.util:1.1.0]
                at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[org.apache.aries:org.apache.aries.util:1.1.0]
                at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[org.apache.aries:org.apache.aries.util:1.1.0]
                at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
                at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
                at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
                at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
                at org.apache.felix.framework.Felix.startBundle(Felix.java:2100)[org.apache.felix.framework-4.4.1.jar:]
                at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:976)[org.apache.felix.framework-4.4.1.jar:]
                at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:963)[org.apache.felix.framework-4.4.1.jar:]
                at io.fabric8.agent.service.Agent$BaseDeployCallback.startBundle(Agent.java:482)[io.fabric8:fabric-agent:1.2.0.redhat-630211]
                at io.fabric8.agent.service.Deployer$3.call(Deployer.java:968)[io.fabric8:fabric-agent:1.2.0.redhat-630211]
                at io.fabric8.agent.service.Deployer$3.call(Deployer.java:963)[io.fabric8:fabric-agent:1.2.0.redhat-630211]
                at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_79]
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_79]
                at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
      
      

            ggrzybek Grzegorz Grzybek
            knetl.j@gmail.com Jakub Knetl (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: