Hi Punnadi, Adding trustStore as java parameters solved the issue. Earlier we were passing truststore parameters as jenkins parameters in which jenkins plugin was not able to see them.
On Fri, Aug 21, 2015 at 7:31 PM, Punnadi Gunarathna <[email protected]> wrote: > Hi All, > > You can add below system properties to client side and it will solve the > problem: > Since we have self signed server certificate please point wso2carbn.jks > file to TS. > > System.setProperty("javax.net.ssl.keyStore", > prop.getProperty("trust_store_path")); > System.setProperty("javax.net.ssl.keyStorePassword", > prop.getProperty("trust_store_password")); > System.setProperty("javax.net.ssl.trustStore", > prop.getProperty("trust_store_path")); > System.setProperty("javax.net.ssl.trustStorePassword", > prop.getProperty("trust_store_password") > > On Thu, Aug 20, 2015 at 9:12 AM, Danushka Fernando <[email protected]> > wrote: > >> Yup that's the idea. Because with aws lb we can't do mutual ssl. >> >> Thanks & Regards >> Danushka Fernando >> Senior Software Engineer >> WSO2 inc. http://wso2.com/ >> Mobile : +94716332729 >> >> >> On Aug 20, 2015 8:54 AM, "Dimuthu Leelarathne" <[email protected]> wrote: >> >>> >>> Hi, >>> >>> On Wed, Aug 19, 2015 at 5:36 PM, Anuruddha Premalal <[email protected]> >>> wrote: >>> >>>> Hi All, >>>> >>>> I raised the issue in jenkins dev mailing list and still waiting for a >>>> response. Standalone jenkins use jetty servelet container [1]. However it's >>>> still using winstone[2] for java command line argument parsing which I >>>> couldn't find a way to configure SSL clientAuthentication. >>>> >>>> One workaround is to call stratos services using the stratos admin. The >>>> other option is to use a signedJWT token athenticator. >>>> >>>> Using stratos admin for application(stratos) creation might incur >>>> metering or appfactory wall related concerns in-future. >>>> IMO if the MutualAuth doesn't work with current jenkins deployment it's >>>> better to go for SignedJWT Authenticator. >>>> >>> >>> +1 for SignedJWTAuthenticator and invoking the service as the tenant >>> admin (and this means -1 doing it as super tenant admin). >>> >>> On the side(not related to this conversation) Is SignedJWTAuthenticator >>> operating without Mutual SSL now? >>> >>> thanks, >>> dimuthu >>> >>> >>>> >>>> Appreciate your feedback on this regard. >>>> >>>> [1] >>>> https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins >>>> [2] http://winstone.sourceforge.net/#configFile >>>> >>>> On Wed, Aug 19, 2015 at 12:20 PM, Anuruddha Premalal < >>>> [email protected]> wrote: >>>> >>>>> Hi All, >>>>> >>>>> I've completed the following flow for single tenant cartridge. >>>>> >>>>> * Creating S2 git repo for app creation. >>>>> * Creating and deploying the app in stratos and bringing up the >>>>> cartridge. >>>>> * Preparing the tomcat cartridge. >>>>> * Creating s2 repo for app versioning >>>>> * Cleaning application resources(stratos & s2 repos) on deletion. >>>>> >>>>> There's an issue in talking to stratos on application versioning. >>>>> >>>>> On versioning stratos rest calls(to create app) goes through jenkins, >>>>> we are using MutualSSL for communication between stratos and deployers >>>>> bundle. For this to work stratos >>>>> expect "javax.servlet.request.X509Certificate" attribute to be set with >>>>> the >>>>> certificate object, this attribute is not getting set when the call goes >>>>> through jenkins. Because of this stratos is unable to authenticate the >>>>> application creation request. >>>>> >>>>> Also there's an error log[1] in jenkins before sending the rest >>>>> call. This might be the reason for the failure of setting certificate >>>>> object. FYI client truststore and the keystores are identical in jenkins >>>>> and stratos side. >>>>> >>>>> has anyone encountered a similar issue before? >>>>> >>>>> [1] org.apache.commons.httpclient.HttpMethodDirector >>>>> processAuthenticationResponse >>>>> SEVERE: Invalid challenge: Basic >>>>> org.apache.commons.httpclient.auth.MalformedChallengeException: >>>>> Invalid challenge: Basic >>>>> at >>>>> org.apache.commons.httpclient.auth.AuthChallengeParser.extractParams(AuthChallengeParser.java:98) >>>>> at >>>>> org.apache.commons.httpclient.auth.RFC2617Scheme.processChallenge(RFC2617Scheme.java:94) >>>>> at >>>>> org.apache.commons.httpclient.auth.BasicScheme.processChallenge(BasicScheme.java:112) >>>>> at >>>>> org.apache.commons.httpclient.auth.AuthChallengeProcessor.processChallenge(AuthChallengeProcessor.java:162) >>>>> at >>>>> org.apache.commons.httpclient.HttpMethodDirector.processWWWAuthChallenge(HttpMethodDirector.java:694) >>>>> at >>>>> org.apache.commons.httpclient.HttpMethodDirector.processAuthenticationResponse(HttpMethodDirector.java:668) >>>>> at >>>>> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:193) >>>>> at >>>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) >>>>> at >>>>> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) >>>>> at >>>>> org.wso2.carbon.appfactory.s4.integration.StratosRestService.doPost(StratosRestService.java:301) >>>>> at >>>>> org.wso2.carbon.appfactory.s4.integration.StratosRestService.deployApplication(StratosRestService.java:134) >>>>> at >>>>> org.wso2.carbon.appfactory.deployers.StratosApplicationHandler.createAndDeployStratosApplication(StratosApplicationHandler.java:60) >>>>> at >>>>> org.wso2.carbon.appfactory.deployers.AbstractStratosDeployer.addToGitRepo(AbstractStratosDeployer.java:114) >>>>> at >>>>> org.wso2.carbon.appfactory.deployers.AbstractStratosDeployer.deploy(AbstractStratosDeployer.java:72) >>>>> at >>>>> org.wso2.carbon.appfactory.deployers.AbstractDeployer.deployLatestSuccessArtifact(AbstractDeployer.java:123) >>>>> at >>>>> org.wso2.carbon.appfactory.jenkins.deploy.JenkinsArtifactDeployer.deployLatestSuccessArtifact(JenkinsArtifactDeployer.java:84) >>>>> at >>>>> org.wso2.carbon.appfactory.jenkins.artifact.storage.AppfactoryArtifactStoragePlugin.doDynamic(AppfactoryArtifactStoragePlugin.java:92) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>> at >>>>> org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298) >>>>> at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) >>>>> at >>>>> org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) >>>>> at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:391) >>>>> at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) >>>>> at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) >>>>> at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) >>>>> at >>>>> org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) >>>>> at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) >>>>> at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) >>>>> at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) >>>>> at org.kohsuke.stapler.Stapler.service(Stapler.java:238) >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) >>>>> at >>>>> hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123) >>>>> at >>>>> hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>>>> at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) >>>>> at >>>>> hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> jenkins.security.BasicHeaderProcessor.success(BasicHeaderProcessor.java:140) >>>>> at >>>>> jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:82) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) >>>>> at >>>>> hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) >>>>> at >>>>> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) >>>>> at >>>>> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) >>>>> at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>>>> at >>>>> org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>>>> at >>>>> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) >>>>> at >>>>> org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) >>>>> at >>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) >>>>> at >>>>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) >>>>> at >>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) >>>>> at >>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) >>>>> at >>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) >>>>> at >>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) >>>>> at >>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) >>>>> at >>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) >>>>> at >>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) >>>>> at org.eclipse.jetty.server.Server.handle(Server.java:370) >>>>> at >>>>> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) >>>>> at >>>>> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) >>>>> at >>>>> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) >>>>> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) >>>>> at >>>>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) >>>>> at >>>>> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) >>>>> at >>>>> org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196) >>>>> at >>>>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) >>>>> at >>>>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) >>>>> at >>>>> winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) >>>>> 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:744) >>>>> >>>>> Aug 19, 2015 11:31:51 AM org.apache.commons.httpclient.HttpMethodBase >>>>> getResponseBody >>>>> WARNING: Going to buffer response body of large or unknown size. Using >>>>> getResponseBodyAsStream instead is recommended. >>>>> Aug 19, 2015 11:31:51 AM >>>>> org.wso2.carbon.appfactory.s4.integration.StratosRestService >>>>> deployApplication >>>>> SEVERE: Authorization failed when subsctibing to cartridge >>>>> >>>>> >>>>> Regards, >>>>> Anuruddha >>>>> >>>>> On Mon, Aug 3, 2015 at 4:00 PM, Anuruddha Premalal <[email protected] >>>>> > wrote: >>>>> >>>>>> Hi Raj, >>>>>> >>>>>> Yes adding -Dstratos.component.startup.synchronizer.enabled=true to >>>>>> stratos.sh fixed the issue. We missed updating stratos.sh file while >>>>>> doing >>>>>> the migration from 4.0.0 to 4.1.0 >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Aug 3, 2015 at 1:44 PM, Rajkumar Rajaratnam < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Anuruddha, >>>>>>> >>>>>>> I guess we have already fixed this issue sometimes back. I went >>>>>>> though the log again and found that you haven't enabled Component >>>>>>> startup >>>>>>> synchronizer. If you enable it, it will ensure that >>>>>>> CompleteTopologyEvent >>>>>>> will be published only after SM is activated (SM will be activated only >>>>>>> after AS). >>>>>>> >>>>>>> In your logs, have a look at line number 402 : "Component startup >>>>>>> synchronizer enabled: false" >>>>>>> >>>>>>> Please check whether your bin/stratos.sh have >>>>>>> "-Dstratos.component.startup.synchronizer.enabled=true". If not, add it. >>>>>>> Please let us know whether it resolves your issue. >>>>>>> >>>>>>> Thanks, >>>>>>> Raj. >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Aug 3, 2015 at 12:59 PM, Anuruddha Premalal < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Raj, >>>>>>>> >>>>>>>> Thanks for the support given in finding the issue.I couldn't find a >>>>>>>> public stratos jira for this so I've raised jira[1] to track this. >>>>>>>> >>>>>>>> [1] https://issues.apache.org/jira/browse/STRATOS-1487 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Aug 3, 2015 at 12:43 PM, Rajkumar Rajaratnam < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Monitors were not created because CompleteTopologyEvent was >>>>>>>>> published before AutoscalerComponent was activated. In the attached >>>>>>>>> logs, >>>>>>>>> >>>>>>>>> Line number 478 - CompleteTopologyEvent was received by AS >>>>>>>>> Line number 501 - AutoscalerComponent was activated >>>>>>>>> >>>>>>>>> When AS received CompleteTopologyEvent, it didn't load the >>>>>>>>> application context from registry. Hence it just logged "The >>>>>>>>> application is >>>>>>>>> not yet deployed for this [application] asdevelopment" (Line number >>>>>>>>> 482) >>>>>>>>> and ignored the CompleteTopologyEvent. And CompleteTopologyEvent is >>>>>>>>> published only once (until topology is initialized) - so there is no >>>>>>>>> way >>>>>>>>> that the monitors will be created. >>>>>>>>> >>>>>>>>> It needs to be fixed. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Raj. >>>>>>>>> >>>>>>>>> On Mon, Aug 3, 2015 at 12:06 PM, Anuruddha Premalal < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> HI Raj, >>>>>>>>>> >>>>>>>>>> i'm attaching the carbon log file herewith. >>>>>>>>>> >>>>>>>>>> On Mon, Aug 3, 2015 at 11:52 AM, Rajkumar Rajaratnam < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Anuruddha, >>>>>>>>>>> >>>>>>>>>>> Cluster monitor can be created in two situations. >>>>>>>>>>> >>>>>>>>>>> 1) when a cluster is created for the first time (application >>>>>>>>>>> deployment time) >>>>>>>>>>> 2) when stratos is restarted >>>>>>>>>>> >>>>>>>>>>> If cluster monitor creation failed, it would log enough >>>>>>>>>>> information about it (some error logs like "Monitor creation >>>>>>>>>>> failed, even >>>>>>>>>>> after retrying for 5 times") . You can trace back the logs and see >>>>>>>>>>> the >>>>>>>>>>> reason for it. I don't think scenario 1) is the reason for the above >>>>>>>>>>> behaviour, because the members will not be created if the cluster >>>>>>>>>>> monitor >>>>>>>>>>> creation failed. Scenario 2) can be one reason for this behaviour. >>>>>>>>>>> If it is >>>>>>>>>>> the reason, then you should be able to see some error logs regarding >>>>>>>>>>> cluster monitor creation failed. Have you restarted stratos? >>>>>>>>>>> >>>>>>>>>>> Further, "*A cluster monitor is not found in autoscaler >>>>>>>>>>> context" *error doesn't necessarily mean that cluster monitor >>>>>>>>>>> creation failed. It can be because cluster is undeployed and >>>>>>>>>>> the monitor is removed before getting this event from CEP. >>>>>>>>>>> >>>>>>>>>>> If you could attach the complete log, we will be able to point >>>>>>>>>>> out the issue. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Raj. >>>>>>>>>>> >>>>>>>>>>> On Mon, Aug 3, 2015 at 11:32 AM, Anuruddha Premalal < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Also this setup use kubernetes as the IaaS >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Aug 3, 2015 at 11:31 AM, Anuruddha Premalal < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> I am working on $subject. >>>>>>>>>>>>> >>>>>>>>>>>>> In the current appfactory setup we have a single JVM Stratos >>>>>>>>>>>>> 4.1.0 deployment. I am trying to get the autoscaling working since >>>>>>>>>>>>> resetting the SM node each time of failure consumes time. Once a >>>>>>>>>>>>> member >>>>>>>>>>>>> fault event received to AS receives it but unable to continue >>>>>>>>>>>>> with the >>>>>>>>>>>>> following log. When will the cluster monitor get initiated? What >>>>>>>>>>>>> would are >>>>>>>>>>>>> the possibilities for failing the initialization of the cluster >>>>>>>>>>>>> monitor? >>>>>>>>>>>>> >>>>>>>>>>>>> *INFO >>>>>>>>>>>>> {org.apache.stratos.cep.extension.FaultHandlingWindowProcessor} - >>>>>>>>>>>>> Faulty >>>>>>>>>>>>> member detected [member-id] >>>>>>>>>>>>> asdevelopment.anuasdevelopment.anuasdevelopment.domain38d5a847-d16a-4891-bbc0-6582cd9b9988 >>>>>>>>>>>>> with [last time-stamp] 1438580270973 [time-out] 60000 >>>>>>>>>>>>> milliseconds* >>>>>>>>>>>>> *TID: [0] [SCC] [2015-08-03 11:26:38,956] INFO >>>>>>>>>>>>> {org.apache.stratos.cep.extension.FaultHandlingWindowProcessor} - >>>>>>>>>>>>> Publishing member fault event for [member-id] >>>>>>>>>>>>> asdevelopment.anuasdevelopment.anuasdevelopment.domain38d5a847-d16a-4891-bbc0-6582cd9b9988* >>>>>>>>>>>>> *TID: [0] [SCC] [2015-08-03 11:26:38,969] DEBUG >>>>>>>>>>>>> {org.apache.stratos.autoscaler.event.receiver.health.AutoscalerHealthStatEventReceiver} >>>>>>>>>>>>> - Member fault event received: [member] >>>>>>>>>>>>> asdevelopment.anuasdevelopment.anuasdevelopment.domain38d5a847-d16a-4891-bbc0-6582cd9b9988 >>>>>>>>>>>>> * >>>>>>>>>>>>> *TID: [0] [SCC] [2015-08-03 11:26:38,969] DEBUG >>>>>>>>>>>>> {org.apache.stratos.autoscaler.event.receiver.health.AutoscalerHealthStatEventReceiver} >>>>>>>>>>>>> - A cluster monitor is not found in autoscaler context [cluster] >>>>>>>>>>>>> asdevelopment.anuasdevelopment.anuasdevelopment.domain* >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks & Regards, >>>>>>>>>>>>> -- >>>>>>>>>>>>> *Anuruddha Premalal* >>>>>>>>>>>>> Software Eng. | WSO2 Inc. >>>>>>>>>>>>> Mobile : +94710461070 >>>>>>>>>>>>> Web site : www.regilandvalley.com >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> *Anuruddha Premalal* >>>>>>>>>>>> Software Eng. | WSO2 Inc. >>>>>>>>>>>> Mobile : +94710461070 >>>>>>>>>>>> Web site : www.regilandvalley.com >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Rajkumar Rajaratnam >>>>>>>>>>> Committer & PMC Member, Apache Stratos >>>>>>>>>>> Software Engineer, WSO2 >>>>>>>>>>> >>>>>>>>>>> Mobile : +94777568639 >>>>>>>>>>> Blog : rajkumarr.com >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> *Anuruddha Premalal* >>>>>>>>>> Software Eng. | WSO2 Inc. >>>>>>>>>> Mobile : +94710461070 >>>>>>>>>> Web site : www.regilandvalley.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Rajkumar Rajaratnam >>>>>>>>> Committer & PMC Member, Apache Stratos >>>>>>>>> Software Engineer, WSO2 >>>>>>>>> >>>>>>>>> Mobile : +94777568639 >>>>>>>>> Blog : rajkumarr.com >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Anuruddha Premalal* >>>>>>>> Software Eng. | WSO2 Inc. >>>>>>>> Mobile : +94710461070 >>>>>>>> Web site : www.regilandvalley.com >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Rajkumar Rajaratnam >>>>>>> Committer & PMC Member, Apache Stratos >>>>>>> Software Engineer, WSO2 >>>>>>> >>>>>>> Mobile : +94777568639 >>>>>>> Blog : rajkumarr.com >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Anuruddha Premalal* >>>>>> Software Eng. | WSO2 Inc. >>>>>> Mobile : +94710461070 >>>>>> Web site : www.regilandvalley.com >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Anuruddha Premalal* >>>>> Software Eng. | WSO2 Inc. >>>>> Mobile : +94710461070 >>>>> Web site : www.regilandvalley.com >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Anuruddha Premalal* >>>> Software Eng. | WSO2 Inc. >>>> Mobile : +94710461070 >>>> Web site : www.regilandvalley.com >>>> >>>> >>> >>> >>> -- >>> Dimuthu Leelarathne >>> Director & Product Lead of App Factory >>> >>> WSO2, Inc. (http://wso2.com) >>> email: [email protected] >>> Mobile : 0773661935 >>> >>> Lean . Enterprise . Middleware >>> >> > > > -- > > Thanks and Regards, > > Punnadi Gunarathna > Senior Software Engineer, > WSO2, Inc.; http://wso2.com <http://wso2> > Blog: http://hi-my-world.blogspot.com/ > Tel : 94 11 214 5345 > Fax :94 11 2145300 > > <http://lalajisureshika.blogspot.com/> > -- *Anuruddha Premalal* Software Eng. | WSO2 Inc. Mobile : +94710461070 Web site : www.regilandvalley.com
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
