Hey Nuwan.

We've been experiencing some issues when trying to start the cluster nodes
with -Dprofile option in our cluster set up for APIM 1.10.0 Alpha pack. I
have logged a ticket [1] with exceptions attached. Please let us know if
any further details required on this matter.

[1] https://wso2.org/jira/browse/APIMANAGER-4253

Cheers,
Pubudu.

Pubudu D.P
Senior Software Engineer - QA Team | WSO2 inc.
Mobile : +94775464547

On Wed, Nov 11, 2015 at 2:52 PM, Suhan Dharmasuriya <[email protected]> wrote:

> Hi,
>
> When we try to deploy the cluster with APIM 1.10.x with profiles,
> following error [1] is observed in wso2carbon.log.
> Full log for gateway manager also attached.
>
> We have tried with default configurations as well as cluster
> configurations. In both cases the error occurs when trying with profiles.
>
> It would be great if you can guide us to overcome this issue.
>
> Following is the diff between a APIM 1.10.0-SNAPSHOT build pack
> wso2server.sh and our gateway node wso2server.sh file.
>
> $ diff 110wso2server.sh gwwso2server.sh
> 303a304
> >     -Dprofile=gateway-manager \
>
> [1]
> TID: [-1] [] [2015-11-11 09:05:40,614] ERROR
> {org.apache.tomcat.util.digester.Digester} -  Begin event threw exception
> {org.apache.tomcat.util.digester.Digester}
> java.lang.ClassNotFoundException:
> org.wso2.carbon.webapp.mgt.loader.CarbonWebappLoader cannot be found by
> org.wso2.carbon.tomcat_4.4.2
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
> at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> at
> org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144)
> at
> org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1288)
> at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
> at
> org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
> at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
> at
> org.apache.catalina.startup.ContextConfig.processContextConfig(ContextConfig.java:649)
> at
> org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig.java:592)
> at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:850)
> at
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:397)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
> at
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> TID: [-1] [] [2015-11-11 09:05:40,616] ERROR
> {org.apache.catalina.startup.ContextConfig} -  Parse error in context.xml
> for / {org.apache.catalina.startup.ContextConfig}
> org.xml.sax.SAXParseException; systemId: file:/mnt/
> 192.168.57.131/gateway/wso2am-1.10.0-SNAPSHOT/repository/conf/tomcat/context.xml;
> lineNumber: 24; columnNumber: 86; Error at (24, 86) :
> org.wso2.carbon.webapp.mgt.loader.CarbonWebappLoader cannot be found by
> org.wso2.carbon.tomcat_4.4.2
> at
> org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2711)
> at
> org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2743)
> at
> org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1291)
> at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
> at
> org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
> at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
> at
> org.apache.catalina.startup.ContextConfig.processContextConfig(ContextConfig.java:649)
> at
> org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig.java:592)
> at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:850)
> at
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:397)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
> at
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException:
> org.wso2.carbon.webapp.mgt.loader.CarbonWebappLoader cannot be found by
> org.wso2.carbon.tomcat_4.4.2
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
> at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> at
> org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144)
> at
> org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1288)
> ... 26 more
>
> Thanks,
> Suhan
>
>
> On Wed, Nov 11, 2015 at 11:00 AM, Suhan Dharmasuriya <[email protected]>
> wrote:
>
>> Hi Nuwan,
>>
>> We will go ahead with profiles and puppet scripts will remove the
>> unnecessary webapps from relevant profiles.
>>
>> For the moment it occurred the issue [2] was resolved but it didn't. We
>> were able to completely eliminate the issue
>> by removing profiles (which is not a recommended approach).
>>
>> We will retest with profiles and get back to you.
>>
>> Thank you for the quick reply.
>>
>> Thanks,
>> Suhan
>>
>>
>> On Wed, Nov 11, 2015 at 10:50 AM, Nuwan Dias <[email protected]> wrote:
>>
>>> IMO its better to start with profiles. Removing the unnecessary webapps
>>> from the relevant profiles would still have to be done since profiles do
>>> not take care of their removal.
>>>
>>> When I went through the mail thread at [2] I got the impression that you
>>> got it resolved. And I didn't see anything related to profiles in there.
>>>
>>> Thanks,
>>> NuwanD.
>>>
>>> On Wed, Nov 11, 2015 at 10:33 AM, Suhan Dharmasuriya <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> Currently we are running the APIM cluster without specifying any
>>>> profiles [1].
>>>> i.e. when templating wso2server.sh file, -Dprofile parameter values
>>>> (gateway-worker, gateway-manager, api-key-manager, api-publisher,
>>>> api-store) are not given.
>>>>
>>>> However the required store and publisher jaggeryapps are added/removed
>>>> by puppet scripts when starting each profile instance.
>>>> As for an example during the initialization of gateway instance, store
>>>> and publisher apps are removed as follows.
>>>>
>>>>     exec { "removing_publisher_app_for_gateway":
>>>>         path    =>
>>>> "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
>>>>         command => "rm -rf
>>>> $carbon_home/repository/deployment/server/jaggeryapps/publisher",
>>>>         require => Apimanager::Deploy["${deployment_code}_${amtype}"],
>>>>     }
>>>>
>>>>     exec { "removing_store_app_for_gateway":
>>>>         path    =>
>>>> "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
>>>>         command => "rm -rf
>>>> $carbon_home/repository/deployment/server/jaggeryapps/store",
>>>>         require => Apimanager::Deploy["${deployment_code}_${amtype}"],
>>>>     }
>>>>
>>>> This is performed accordingly in each profile instance of the cluster.
>>>> i.e. in store instance publisher app is removed, in publisher instance
>>>> store app is removed,
>>>> in keymanager instance both apps are removed.
>>>>
>>>> WDYT about this approach?
>>>>
>>>> We had to go to this approach since we started to get some
>>>> NoClassDefFoundError errors [2]
>>>> when automating cluster based tests.
>>>>
>>>> [1] https://docs.wso2.com/display/AM191/Product+Profiles
>>>> [2] [Dev] OpenIDConnect - Error while accessing UserInfo Endpoint
>>>>
>>>> Thanks,
>>>> Suhan
>>>>
>>>>
>>>>
>>>> --
>>>> Suhan Dharmasuriya
>>>> Software Engineer - Test Automation
>>>>
>>>> *WSO2, Inc. *
>>>>
>>>> lean . enterprise . middleware
>>>> Tel: +94 112 145345
>>>> Mob: +94 779 869138
>>>> Blog: http://suhan-opensource.blogspot.com/
>>>>
>>>
>>>
>>>
>>> --
>>> Nuwan Dias
>>>
>>> Technical Lead - WSO2, Inc. http://wso2.com
>>> email : [email protected]
>>> Phone : +94 777 775 729
>>>
>>
>>
>>
>> --
>> Suhan Dharmasuriya
>> Software Engineer - Test Automation
>>
>> *WSO2, Inc. *
>>
>> lean . enterprise . middleware
>> Tel: +94 112 145345
>> Mob: +94 779 869138
>> Blog: http://suhan-opensource.blogspot.com/
>>
>
>
>
> --
> Suhan Dharmasuriya
> Software Engineer - Test Automation
>
> *WSO2, Inc. *
>
> lean . enterprise . middleware
> Tel: +94 112 145345
> Mob: +94 779 869138
> Blog: http://suhan-opensource.blogspot.com/
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to