stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Imesh Gunaratne <im...@apache.org>
Subject Re: [Discuss] Kubernetes workflow is now working!
Date Thu, 01 Jan 2015 13:04:03 GMT
As I see we have the same logic for VMs which terminate the instance if it
could not allocate IP addresses:

https://github.com/apache/stratos/blob/master/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/JcloudsIaas.java

String msg = "Error occurred while allocating predefined floating ip
address: " + preDefinedIp +
                                    " / allocated ip:" + ip +
                                    " - terminating node:" +
memberContext.toString();
                            log.error(msg);
                            // terminate instance
                            destroyNode(nodeMetadata.getId(),
memberContext);
                            throw new CloudControllerException(msg);

We might need to change this logic to log the error message and wait until
the Autoscaler terminate the instance.

Thanks

On Thu, Jan 1, 2015 at 12:01 PM, Imesh Gunaratne <imesh@apache.org> wrote:

> A good point Raj, yes, it is not consistent to let the cloud controller
> handle this logic as it is already done by the Autoscaler. I will fix this.
>
> Thanks
>
> On Wed, Dec 31, 2014 at 8:51 PM, Rajkumar Rajaratnam <rajkumarr@wso2.com>
> wrote:
>
>> Hi,
>>
>> Currently pods' status are monitored by CC. If pods are not getting
>> "Running" status within a time period(default to 120s), replication
>> controllers and pods are deleted by CC and nothing happens after that.
>>
>> I faced some problems due to this. My pods and replication controller
>> were deleted by CC, because pods didn't come to "Running" status.
>>
>> ERROR
>> {org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas} -
>> Pod status did not change to running within 120 sec, hence removing
>> replication controller and pod: [cluster-id] php.php.domain [member-id]
>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168
>> [replication-controller-id]
>> php-php-domaine9f27b1c-6694-4b70-b939-f80b2ad74168 [pod-id]
>> php-php-domaine9f27b1c-6694-4b70-b939-f80b2ad74168
>>
>> But AS doesn't know about this. Later AS moved these members to obsolete
>> list. When AS asks CC to terminate these pods, CC throws exception saying
>> member context not found.
>>
>>
>>
>>
>>
>> *rajkumar@rajkumar-Latitude-E6540:/opt/stratos-packs/apache-stratos-4.1.0-SNAPSHOT/bin$
>> [2014-12-31 20:02:16,728]  INFO
>> {org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext}
>> -  Pending state of member:
>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168 is expired. Adding as an
>> obsoleted member.[2014-12-31 20:03:31,788]  INFO
>> {org.apache.stratos.autoscaler.client.CloudControllerClient} -  Terminating
>> instance via cloud controller: [member]
>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168[2014-12-31 20:03:31,798]
>> ERROR
>> {org.apache.stratos.cloud.controller.services.impl.CloudControllerServiceImpl}
>> -  Member termination failed, member context not found: [member-id]
>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168[2014-12-31 20:03:31,799]
>> ERROR {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} -  Member
>> termination failed, member context not found: [member-id]
>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168org.apache.stratos.cloud.controller.exception.InvalidMemberException:
>> Member termination failed, member context not found: [member-id]
>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168*
>>
>> Is this a correct flow?
>>
>> IMO, we don't need to monitor the pods' status at CC side. Rather, AS
>> will move these pods to obsolete list once the pending time is expired.
>> Then AS will ask CC to delete these pods. This is how VM scenario works
>> now. Otherwise, CC and AS will not be in same state. For example, AS will
>> ask to terminate a member which CC does not have.
>>
>> One more thing I noticed that member context is added to CC's data holder
>> only after pods are coming to "Running" status. IMO, we need to add the
>> member context as soon as pods are created. This ensures that when AS asks
>> a member to terminate, CC will always have it.
>>
>> wdyt?
>>
>> Thanks.
>>
>> On Wed, Dec 31, 2014 at 7:47 PM, Rajkumar Rajaratnam <rajkumarr@wso2.com>
>> wrote:
>>
>>> Thanks Dakshika,
>>>
>>> Yes my stratos-installer was outdated. Its working fine now.
>>>
>>> Thanks.
>>>
>>> On Tue, Dec 30, 2014 at 11:35 AM, Dakshika Jayathilaka <
>>> dakshika@wso2.com> wrote:
>>>
>>>> Hi Raj,
>>>>
>>>> seems you  missed below DB sqls,  reside on *tools/stratos-*
>>>> *installer/resources*.
>>>>
>>>> application-mysql.sql
>>>> security-mysql.sql
>>>>
>>>> execute both and retry..
>>>>
>>>> Thank you,
>>>>
>>>> Regards,
>>>>
>>>> *Dakshika Jayathilaka*
>>>> Software Engineer
>>>> WSO2, Inc.
>>>> lean.enterprise.middleware
>>>> 0771100911
>>>>
>>>> On Tue, Dec 30, 2014 at 9:07 AM, Rajkumar Rajaratnam <
>>>> rajkumarr@wso2.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am trying our kubernetes. I am getting the following exception while
>>>>> deploying an application.
>>>>>
>>>>> [2014-12-30 09:02:14,414]  INFO
>>>>> {org.apache.stratos.autoscaler.api.AutoScalerServiceImpl} -  Adding
>>>>> application: [application-id] single-cartridge-app
>>>>> [2014-12-30 09:02:14,482]  INFO
>>>>> {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} -
>>>>> 'admin@carbon.super [-1234]' logged in at [2014-12-30
>>>>> 09:02:14,482+0530]
>>>>> [2014-12-30 09:02:14,492] ERROR
>>>>> {org.wso2.carbon.identity.oauth.dao.OAuthAppDAO} -  Error when executing
>>>>> the SQL : SELECT * FROM IDN_OAUTH_CONSUMER_APPS WHERE USERNAME=? AND
>>>>> TENANT_ID=? AND APP_NAME=?
>>>>> [2014-12-30 09:02:14,493] ERROR
>>>>> {org.wso2.carbon.identity.oauth.dao.OAuthAppDAO} -  Table
>>>>> 'userstore.IDN_OAUTH_CONSUMER_APPS' doesn't exist
>>>>> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table
>>>>> 'userstore.IDN_OAUTH_CONSUMER_APPS' doesn't exist
>>>>>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>> Method)
>>>>>     at
>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>>     at
>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>>     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>>>>>     at com.mysql.jdbc.Util.getInstance(Util.java:386)
>>>>>     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
>>>>>     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
>>>>>     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
>>>>>     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
>>>>>     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
>>>>>     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2834)
>>>>>     at
>>>>> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)
>>>>>     at
>>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2313)
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.isDuplicateApplication(OAuthAppDAO.java:372)
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.addOAuthApplication(OAuthAppDAO.java:67)
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.OAuthAdminService.registerOAuthApplicationData(OAuthAdminService.java:228)
>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>     at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>     at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>     at
>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
>>>>>     at
>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
>>>>>     at
>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
>>>>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>     at
>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>>>>>     at
>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
>>>>>     at
>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>     at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>     at
>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>     at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>     at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>>     at
>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>>>     at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>>>     at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>     at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>     at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>     at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>     at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>>     at java.lang.Thread.run(Thread.java:662)
>>>>> [2014-12-30 09:02:14,496] ERROR
>>>>> {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} -  Error when
>>>>> reading the application information from the persistence store.
>>>>> org.wso2.carbon.identity.oauth.IdentityOAuthAdminException: Error when
>>>>> reading the application information from the persistence store.
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.isDuplicateApplication(OAuthAppDAO.java:383)
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.addOAuthApplication(OAuthAppDAO.java:67)
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.OAuthAdminService.registerOAuthApplicationData(OAuthAdminService.java:228)
>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>     at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>     at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>     at
>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
>>>>>     at
>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
>>>>>     at
>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
>>>>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>     at
>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>>>>>     at
>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
>>>>>     at
>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>     at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>     at
>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>     at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>     at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>>     at
>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>>>     at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>>>     at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>     at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>     at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>     at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>     at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>>     at java.lang.Thread.run(Thread.java:662)
>>>>> [2014-12-30 09:02:14,511] ERROR
>>>>> {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} -
>>>>> org.apache.axis2.AxisFault: Error when reading the application information
>>>>> from the persistence store.
>>>>> org.apache.stratos.autoscaler.exception.AutoScalerException:
>>>>> org.apache.axis2.AxisFault: Error when reading the application information
>>>>> from the persistence store.
>>>>>     at
>>>>> org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser.createToken(DefaultApplicationParser.java:714)
>>>>>     at
>>>>> org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser.parse(DefaultApplicationParser.java:109)
>>>>>     at
>>>>> org.apache.stratos.autoscaler.api.AutoScalerServiceImpl.addApplication(AutoScalerServiceImpl.java:173)
>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>     at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>     at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>     at
>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
>>>>>     at
>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
>>>>>     at
>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
>>>>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>>     at
>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
>>>>>     at
>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
>>>>>     at
>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
>>>>>     at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>     at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>     at
>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>     at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>     at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>>     at
>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>>>     at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>>>     at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>     at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>     at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>     at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>     at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>>     at java.lang.Thread.run(Thread.java:662)
>>>>> Caused by: org.apache.axis2.AxisFault: Error when reading the
>>>>> application information from the persistence store.
>>>>>     at
>>>>> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
>>>>>     at
>>>>> org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:91)
>>>>>     at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
>>>>>     at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
>>>>>     at
>>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
>>>>>     at
>>>>> org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub.registerOAuthApplicationData(OAuthAdminServiceStub.java:323)
>>>>>     at
>>>>> org.apache.stratos.autoscaler.client.oAuthAdminServiceClient.registerOauthApplication(oAuthAdminServiceClient.java:97)
>>>>>     at
>>>>> org.apache.stratos.autoscaler.applications.parser.DefaultApplicationParser.createToken(DefaultApplicationParser.java:712)
>>>>>     ... 46 more
>>>>> [2014-12-30 09:02:14,521] ERROR
>>>>> {org.apache.stratos.rest.endpoint.handlers.CustomExceptionMapper} -  Error
>>>>> while fulfilling the request
>>>>> org.apache.stratos.rest.endpoint.exception.RestAPIException
>>>>>     at
>>>>> org.apache.stratos.rest.endpoint.api.StratosApiV41Utils.addApplication(StratosApiV41Utils.java:974)
>>>>>     at
>>>>> org.apache.stratos.rest.endpoint.api.StratosApiV41.addApplication(StratosApiV41.java:354)
>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>     at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>     at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>     at
>>>>> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
>>>>>     at
>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
>>>>>     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194)
>>>>>     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
>>>>>     at
>>>>> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
>>>>>     at
>>>>> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
>>>>>     at
>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>>>>     at
>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>>>>     at
>>>>> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
>>>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>>     at
>>>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>     at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>     at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>     at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>     at
>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>     at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>     at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
>>>>>     at
>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
>>>>>     at
>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>>>>     at
>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
>>>>>     at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>     at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>     at
>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>     at
>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>     at
>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>>>>     at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>>     at java.lang.Thread.run(Thread.java:662)
>>>>> Caused by: org.apache.axis2.AxisFault: org.apache.axis2.AxisFault:
>>>>> Error when reading the application information from the persistence store.
>>>>>     at
>>>>> org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
>>>>>     at
>>>>> org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:91)
>>>>>     at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
>>>>>     at
>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
>>>>>     at
>>>>> org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
>>>>>     at
>>>>> org.apache.stratos.autoscaler.stub.AutoScalerServiceStub.addApplication(AutoScalerServiceStub.java:3223)
>>>>>     at
>>>>> org.apache.stratos.manager.client.AutoscalerServiceClient.addApplication(AutoscalerServiceClient.java:122)
>>>>>     at
>>>>> org.apache.stratos.rest.endpoint.api.StratosApiV41Utils.addApplication(StratosApiV41Utils.java:970)
>>>>>     ...
>>>>>
>>>>> Any idea?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Mon, Dec 29, 2014 at 4:06 PM, Imesh Gunaratne <imesh@apache.org>
>>>>> wrote:
>>>>>
>>>>>> I did an improvement in the container startup logic to wait until the
>>>>>> pod status changes to Runnning state. Here cloud controller will wait until
>>>>>> two minutes to a pod to become active. if not the call will be rolled back.
>>>>>> Pod activation timeout can be configured using the system property:
>>>>>> stratos.pod.activation.timeout.
>>>>>>
>>>>>> Once pod changes to Running state, IP addresses will be updated as
>>>>>> follows:
>>>>>> - Member's default private IP: Pod's IP address
>>>>>> - Member's default public IP: Pod's host IP address
>>>>>>
>>>>>> A sample log:
>>>>>>
>>>>>> [2014-12-29 15:43:02,419]  INFO Starting container: [cartridge-type]
>>>>>> php
>>>>>> [2014-12-29 15:43:02,454]  INFO Creating replication controller:
>>>>>> [replication-controller-id]
>>>>>> php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f7a [name]
>>>>>> php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f7a [docker-image]
>>>>>> stratos/php:4.1.0-alpha [container-ports] [80] [replicas] 1
>>>>>> [2014-12-29 15:43:02,559]  INFO Replication controller created
>>>>>> successfully: [replication-controller-id]
>>>>>> php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f7a [name]
>>>>>> php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f7a [docker-image]
>>>>>> stratos/php:4.1.0-alpha [container-port] [80] [replicas] 1
>>>>>> [2014-12-29 15:43:02,560]  INFO Creating service: [service-id]
>>>>>> php-php-domain-http-80 [service-name] php-php-domain-http-80 [service-port]
>>>>>> 4500 [container-port] 80, [public-ip] 172.17.8.100
>>>>>> [2014-12-29 15:43:02,598]  INFO Service created successfully:
>>>>>> [service-id] php-php-domain-http-80 [service-name] php-php-domain-http-80
>>>>>> [service-port] 4500 [container-port] 80, [public-ip] 172.17.8.100
>>>>>> [2014-12-29 15:43:07,412]  *INFO Waiting pod status to be changed to
>>>>>> running*: [member-id]
>>>>>> php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [pod-id]
>>>>>> 440b7235-8f43-11e4-b193-080027f35f1b [current-pod-status] waiting
>>>>>> [2014-12-29 15:43:18,459]  *INFO Waiting pod status to be changed to
>>>>>> running*: [member-id]
>>>>>> php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [pod-id]
>>>>>> 440b7235-8f43-11e4-b193-080027f35f1b [current-pod-status] waiting
>>>>>> [2014-12-29 15:43:29,509]  *INFO Pod status changed to running*:
>>>>>> [member-id] php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [pod-id]
>>>>>> 440b7235-8f43-11e4-b193-080027f35f1b
>>>>>> [2014-12-29 15:43:33,595]  INFO Instance started successfully:
>>>>>> [cartridge-type] php [cluster-id] php.php.domain [instance-id]
>>>>>> 440b7235-8f43-11e4-b193-080027f35f1b [default-private-ip] 10.100.37.4
>>>>>> [default-public-ip] 172.17.8.100
>>>>>> [2014-12-29 15:43:33,601]  INFO Publishing instance spawned event:
>>>>>> [service-name] php [cluster-id] php.php.domain [cluster-instance-id]
>>>>>> single-cartridge-app-1 [member-id]
>>>>>> php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [instance-id]
>>>>>> 440b7235-8f43-11e4-b193-080027f35f1b [network-partition-id] network-p1
>>>>>> [partition-id] p1 [lb-cluster-id] null
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Sun, Dec 28, 2014 at 7:40 PM, Imesh Gunaratne <imesh@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Thanks Lakmal!
>>>>>>> After the application becomes active I can see that Autoscaler is
>>>>>>> detecting a fauly member:
>>>>>>>
>>>>>>> [2014-12-28 19:12:14,016]  INFO
>>>>>>> {org.apache.stratos.cep.extension.FaultHandlingWindowProcessor} -  Faulty
>>>>>>> member detected [member-id]
>>>>>>> php.php.domaincc7fb2e4-ea96-4b70-8706-353e4225f170 with [last time-stamp]
>>>>>>> 1419774066943 [time-out] 60000 milliseconds
>>>>>>> [2014-12-28 19:12:14,025]  INFO
>>>>>>> {org.apache.stratos.cep.extension.FaultHandlingWindowProcessor} -
>>>>>>>  Publishing member fault event for [member-id]
>>>>>>> php.php.domaincc7fb2e4-ea96-4b70-8706-353e4225f170
>>>>>>> [2014-12-28 19:12:14,036]  INFO
>>>>>>> {org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusInactiveProcessor}
>>>>>>> -  Publishing Cluster inactivate event for [application]:
>>>>>>> single-cartridge-app [cluster]: php.php.domain
>>>>>>>
>>>>>>> I'm currently investigating the reason for this.
>>>>>>>
>>>>>>> On Fri, Dec 26, 2014 at 7:09 PM, Lakmal Warusawithana <
>>>>>>> lakmal@wso2.com> wrote:
>>>>>>>
>>>>>>>> thanks Imesh, will give a try.
>>>>>>>>
>>>>>>>> On Fri, Dec 26, 2014 at 6:35 PM, Imesh Gunaratne <imesh@apache.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>> After fixing the above issue, the application is getting active!
>>>>>>>>> :-) I used a single cartridge application for this test. Now we can create
>>>>>>>>> a more complex application and see how it works.
>>>>>>>>>
>>>>>>>>> I have written a small guide on describing all steps for trying
>>>>>>>>> out Kubernetes workflow, please try out:
>>>>>>>>> https://gist.github.com/imesh/b8f81fac8de39183a504
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>> On Fri, Dec 26, 2014 at 5:25 PM, Imesh Gunaratne <imesh@apache.org
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> I think it should be as follows:
>>>>>>>>>>
>>>>>>>>>> Member private IP => container IP
>>>>>>>>>> Member default private IP => container IP
>>>>>>>>>> Member public IPs = > service proxy IPs
>>>>>>>>>> Member default public IP => kubernetes master/host IP
>>>>>>>>>>
>>>>>>>>>> If public IP assignment is not enabled service proxies are not
>>>>>>>>>> created, I can recall that Lakmal suggested this.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> On Fri, Dec 26, 2014 at 5:10 PM, Imesh Gunaratne <
>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> I fixed the above issue by setting the private and public IPs to
>>>>>>>>>>> Kubernetes Master IP, we will need to review few things here:
>>>>>>>>>>> - Private IP address of a member needs to be the service proxy
>>>>>>>>>>> IP address
>>>>>>>>>>> - However each service proxy will have a unique IP address (each
>>>>>>>>>>> transport of the server)
>>>>>>>>>>> - Which means there will be a private IP for each transport
>>>>>>>>>>>
>>>>>>>>>>> Will discuss this and see how we can resolve this problem later
>>>>>>>>>>> on. For the moment setting the Kubernetes Master IP is sufficient IMO.
>>>>>>>>>>>
>>>>>>>>>>> After fixing the above issue, now I see the below error:
>>>>>>>>>>>
>>>>>>>>>>> [2014-12-26 17:05:30,547] ERROR
>>>>>>>>>>> {org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver}
>>>>>>>>>>> -  Error processing event null
>>>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor.getClusterInstanceContext(ClusterMonitor.java:1116)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor.handleMemberActivatedEvent(ClusterMonitor.java:875)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver$12.onEvent(AutoscalerTopologyEventReceiver.java:393)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)
>>>>>>>>>>> at java.util.Observable.notifyObservers(Observable.java:159)
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Dec 26, 2014 at 4:56 PM, Rajkumar Rajaratnam <
>>>>>>>>>>> rajkumarr@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Dec 26, 2014 at 4:34 PM, Imesh Gunaratne <
>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Lakmal,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I added these to Kubernetes Cluster definition for the time
>>>>>>>>>>>>> being since I'm finding/fixing many issues in agent and docker base image,
>>>>>>>>>>>>> will discuss and move them to a proper location later on. WDYT?
>>>>>>>>>>>>>
>>>>>>>>>>>>> {
>>>>>>>>>>>>>       "clusterId": "kubernetes-cluster-1",
>>>>>>>>>>>>>       "description": "Kubernetes CoreOS cluster",
>>>>>>>>>>>>>       ...
>>>>>>>>>>>>>     "property":[
>>>>>>>>>>>>>        {
>>>>>>>>>>>>>           "name":"payload_parameter.MB_IP",
>>>>>>>>>>>>>           "value":"192.168.59.3"
>>>>>>>>>>>>>        },
>>>>>>>>>>>>>        {
>>>>>>>>>>>>>           "name":"payload_parameter.MB_PORT",
>>>>>>>>>>>>>           "value":"1883"
>>>>>>>>>>>>>        },
>>>>>>>>>>>>>        {
>>>>>>>>>>>>>           "name":"payload_parameter.CEP_IP",
>>>>>>>>>>>>>           "value":"192.168.59.3"
>>>>>>>>>>>>>        },
>>>>>>>>>>>>>        {
>>>>>>>>>>>>>           "name":"payload_parameter.CEP_PORT",
>>>>>>>>>>>>>           "value":"7711"
>>>>>>>>>>>>>        },
>>>>>>>>>>>>>        {
>>>>>>>>>>>>>           "name":"payload_parameter.LOG_LEVEL",
>>>>>>>>>>>>>           "value":"DEBUG"
>>>>>>>>>>>>>        }
>>>>>>>>>>>>>     ]
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> After the above fix I'm now seeing the below error in cloud
>>>>>>>>>>>>> controller. Seems like we do not send the ip address in the member
>>>>>>>>>>>>> activated event. Need to check agent logic again:
>>>>>>>>>>>>>
>>>>>>>>>>>>> [2014-12-26 16:28:06,218]  INFO
>>>>>>>>>>>>> {org.apache.stratos.manager.listener.InstanceStatusListener} -  Instance
>>>>>>>>>>>>> status message received
>>>>>>>>>>>>> [2014-12-26 16:28:06,218]  INFO
>>>>>>>>>>>>> {org.apache.stratos.manager.listener.InstanceStatusListener} -  Event class
>>>>>>>>>>>>> name:
>>>>>>>>>>>>> org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent
>>>>>>>>>>>>> [2014-12-26 16:28:06,219]  INFO
>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} -
>>>>>>>>>>>>>  member started event adding status activated
>>>>>>>>>>>>> [2014-12-26 16:28:06,225]  INFO
>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPublisher}
>>>>>>>>>>>>> -  Publishing member activated event: [service-name] php [cluster-id]
>>>>>>>>>>>>> php.php.domain [cluster-instance-id] single-cartridge-app-1 [member-id]
>>>>>>>>>>>>> php.php.domaind7655e6f-f962-425b-b93b-2bf7333dc37d [network-partition-id]
>>>>>>>>>>>>>  [partition-id]
>>>>>>>>>>>>> [2014-12-26 16:28:06,244] ERROR
>>>>>>>>>>>>> {org.apache.stratos.messaging.message.receiver.topology.TopologyEventMessageDelegator}
>>>>>>>>>>>>> -  Failed to retrieve topology event message
>>>>>>>>>>>>> java.lang.RuntimeException: *No ip address found in member
>>>>>>>>>>>>> activated event: *[service] php [cluster] php.php.domain
>>>>>>>>>>>>> [member] php.php.domaind7655e6f-f962-425b-b93b-2bf7333dc37d
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.stratos.messaging.message.processor.topology.MemberActivatedMessageProcessor.doProcess(MemberActivatedMessageProcessor.java:102)
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I guess spawned containers doesn't have IP addresses. How we
>>>>>>>>>>>> are getting IP address for a container is like this.
>>>>>>>>>>>>
>>>>>>>>>>>> // PodActivationWatcher.java
>>>>>>>>>>>> String hostIP = pod.getCurrentState().getHost();
>>>>>>>>>>>>
>>>>>>>>>>>> This is returning null or empty, so member activated event is
>>>>>>>>>>>> not having an IP.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 3:49 PM, Lakmal Warusawithana <
>>>>>>>>>>>>> lakmal@wso2.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Shall we used metadata service to publish all these generic
>>>>>>>>>>>>>> information?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 3:40 PM, Imesh Gunaratne <
>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> As I can see in the agent.conf some configuration parameters
>>>>>>>>>>>>>>> are missing:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> These parameters are not sent in Kuberbenetes workflow, we
>>>>>>>>>>>>>>> might need to think how to send them. ASFAIK in VM workflow most of these
>>>>>>>>>>>>>>> missing parameters are sent by puppet master.
>>>>>>>>>>>>>>> ‚Äč
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 3:18 PM, Imesh Gunaratne <
>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Seems like we have a string formatting issue in agent:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> http://stackoverflow.com/questions/18053500/typeerror-not-all-arguments-converted-during-string-formatting-python
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 3:11 PM, Imesh Gunaratne <
>>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I fixed the above issue with INTERNAL parameter and now
>>>>>>>>>>>>>>>>> I'm seeing the following error:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [2014-12-26 09:37:27,321] INFO
>>>>>>>>>>>>>>>>> {cartridgeagentconfiguration.py:__init__} - Cartridge agent configuration
>>>>>>>>>>>>>>>>> initialized
>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 850,
>>>>>>>>>>>>>>>>> in emit
>>>>>>>>>>>>>>>>>     msg = self.format(record)
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 723,
>>>>>>>>>>>>>>>>> in format
>>>>>>>>>>>>>>>>>     return fmt.format(record)
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 464,
>>>>>>>>>>>>>>>>> in format
>>>>>>>>>>>>>>>>>     record.message = record.getMessage()
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 328,
>>>>>>>>>>>>>>>>> in getMessage
>>>>>>>>>>>>>>>>>     msg = msg % self.args
>>>>>>>>>>>>>>>>> TypeError: not all arguments converted during string
>>>>>>>>>>>>>>>>> formatting
>>>>>>>>>>>>>>>>> Logged from file agent.py, line 331
>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 850,
>>>>>>>>>>>>>>>>> in emit
>>>>>>>>>>>>>>>>>     msg = self.format(record)
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 723,
>>>>>>>>>>>>>>>>> in format
>>>>>>>>>>>>>>>>>     return fmt.format(record)
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 464,
>>>>>>>>>>>>>>>>> in format
>>>>>>>>>>>>>>>>>     record.message = record.getMessage()
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 328,
>>>>>>>>>>>>>>>>> in getMessage
>>>>>>>>>>>>>>>>>     msg = msg % self.args
>>>>>>>>>>>>>>>>> TypeError: not all arguments converted during string
>>>>>>>>>>>>>>>>> formatting
>>>>>>>>>>>>>>>>> Logged from file agent.py, line 331
>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 850,
>>>>>>>>>>>>>>>>> in emit
>>>>>>>>>>>>>>>>>     msg = self.format(record)
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 723,
>>>>>>>>>>>>>>>>> in format
>>>>>>>>>>>>>>>>>     return fmt.format(record)
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 464,
>>>>>>>>>>>>>>>>> in format
>>>>>>>>>>>>>>>>>     record.message = record.getMessage()
>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line 328,
>>>>>>>>>>>>>>>>> in getMessage
>>>>>>>>>>>>>>>>>     msg = msg % self.args
>>>>>>>>>>>>>>>>> TypeError: not all arguments converted during string
>>>>>>>>>>>>>>>>> formatting
>>>>>>>>>>>>>>>>> Logged from file agent.py, line 331
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 3:03 PM, Imesh Gunaratne <
>>>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> As I found there was an issue in agent code, it was using
>>>>>>>>>>>>>>>>>> PROVIDER constant to fetch the INTERNAL parameter. I cannot see PROVIDER
>>>>>>>>>>>>>>>>>> parameter being using in the agent.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 2:32 PM, Gayan Gunarathne <
>>>>>>>>>>>>>>>>>> gayang@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi Imesh,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Attachment is the sample launch_params that I have
>>>>>>>>>>>>>>>>>>> tested.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>> Gayan
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 2:22 PM, Gayan Gunarathne <
>>>>>>>>>>>>>>>>>>> gayang@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi Imesh,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Is that launch_params contains the PROVIDER parameter?
>>>>>>>>>>>>>>>>>>>> I guess this comes when the provider is not available in the payload. Seems
>>>>>>>>>>>>>>>>>>>> like we are showing wrong error message.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>> Gayan
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 2:05 PM, Imesh Gunaratne <
>>>>>>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks Gayan, yes it was not there in launch_params, I
>>>>>>>>>>>>>>>>>>>>> just fixed it and seeing the below error:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> [2014-12-26 08:31:17,311] INFO
>>>>>>>>>>>>>>>>>>>>> {cartridgeagentconfiguration.py:__init__} -  INTERNAL payload parameter is
>>>>>>>>>>>>>>>>>>>>> not found
>>>>>>>>>>>>>>>>>>>>> [2014-12-26 08:31:17,311] INFO
>>>>>>>>>>>>>>>>>>>>> {cartridgeagentconfiguration.py:__init__} - Cartridge agent configuration
>>>>>>>>>>>>>>>>>>>>> initialized
>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line
>>>>>>>>>>>>>>>>>>>>> 850, in emit
>>>>>>>>>>>>>>>>>>>>>     msg = self.format(record)
>>>>>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line
>>>>>>>>>>>>>>>>>>>>> 723, in format
>>>>>>>>>>>>>>>>>>>>>     return fmt.format(record)
>>>>>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line
>>>>>>>>>>>>>>>>>>>>> 464, in format
>>>>>>>>>>>>>>>>>>>>>     record.message = record.getMessage()
>>>>>>>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/logging/__init__.py", line
>>>>>>>>>>>>>>>>>>>>> 328, in getMessage
>>>>>>>>>>>>>>>>>>>>>     msg = msg % self.args
>>>>>>>>>>>>>>>>>>>>> TypeError: not all arguments converted during string
>>>>>>>>>>>>>>>>>>>>> formatting
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 1:49 PM, Gayan Gunarathne <
>>>>>>>>>>>>>>>>>>>>> gayang@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hi Imesh,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> This is happen when CLUSTER_INSTANCE_ID not contain
>>>>>>>>>>>>>>>>>>>>>> as the payload parameter of the cartridge agent.I think we can first check
>>>>>>>>>>>>>>>>>>>>>> the agent payload and see CLUSTER_INSTANCE_ID is
>>>>>>>>>>>>>>>>>>>>>> there in the agent payload.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>>>>>>>> Gayan
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 1:39 PM, Imesh Gunaratne <
>>>>>>>>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I fixed the above issue in cartridge agent and
>>>>>>>>>>>>>>>>>>>>>>> re-created the base image, now I'm seeing another error:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> root@e82ebdc6-8cd5-11e4-85d5-080027f35f1b:~# cat
>>>>>>>>>>>>>>>>>>>>>>> /tmp/agent.screen.log
>>>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>>>>>>>   File "agent.py", line 32, in <module>
>>>>>>>>>>>>>>>>>>>>>>>     from modules.extensions import
>>>>>>>>>>>>>>>>>>>>>>> defaultextensionhandler
>>>>>>>>>>>>>>>>>>>>>>>   File
>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/extensions/defaultextensionhandler.py",
>>>>>>>>>>>>>>>>>>>>>>> line 22, in <module>
>>>>>>>>>>>>>>>>>>>>>>>     from ..util import extensionutils,
>>>>>>>>>>>>>>>>>>>>>>> cartridgeagentutils
>>>>>>>>>>>>>>>>>>>>>>>   File
>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/util/extensionutils.py",
>>>>>>>>>>>>>>>>>>>>>>> line 29, in <module>
>>>>>>>>>>>>>>>>>>>>>>>     cartridge_agent_config =
>>>>>>>>>>>>>>>>>>>>>>> cartridgeagentconfiguration.CartridgeAgentConfiguration()
>>>>>>>>>>>>>>>>>>>>>>>   File
>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/config/cartridgeagentconfiguration.py",
>>>>>>>>>>>>>>>>>>>>>>> line 349, in __init__
>>>>>>>>>>>>>>>>>>>>>>>     CartridgeAgentConfiguration.instance =
>>>>>>>>>>>>>>>>>>>>>>> CartridgeAgentConfiguration.__CartridgeAgentConfiguration()
>>>>>>>>>>>>>>>>>>>>>>>   File
>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/config/cartridgeagentconfiguration.py",
>>>>>>>>>>>>>>>>>>>>>>> line 226, in __init__
>>>>>>>>>>>>>>>>>>>>>>>     raise RuntimeError(ex)
>>>>>>>>>>>>>>>>>>>>>>> RuntimeError: Cannot find the value of required
>>>>>>>>>>>>>>>>>>>>>>> parameter: 'CLUSTER_INSTANCE_ID'
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> I can see CLUSTER_INSTANCE_ID being passed to the
>>>>>>>>>>>>>>>>>>>>>>> container, may be there is something wrong in the agent code, will
>>>>>>>>>>>>>>>>>>>>>>> investigate.
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 2:40 AM, Imesh Gunaratne <
>>>>>>>>>>>>>>>>>>>>>>> imesh@apache.org> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Hi Devs,
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> I fixed some of the issues in Kubernetes Iaas and
>>>>>>>>>>>>>>>>>>>>>>>> tested the Kubernetes workflow with sample php docker image. Now
>>>>>>>>>>>>>>>>>>>>>>>> replication controllers, services and containers get created without a
>>>>>>>>>>>>>>>>>>>>>>>> problem. We can also access the php server in the container.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> However I noticed that agent does not send the
>>>>>>>>>>>>>>>>>>>>>>>> instance started event to CEP. Following error was found in agent screen
>>>>>>>>>>>>>>>>>>>>>>>> log:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>>>>>>>>>>   File "agent.py", line 21, in <module>
>>>>>>>>>>>>>>>>>>>>>>>>     from cartridgeagent.cartridgeagent.modules
>>>>>>>>>>>>>>>>>>>>>>>> import eventsubscriber
>>>>>>>>>>>>>>>>>>>>>>>> ImportError: No module named
>>>>>>>>>>>>>>>>>>>>>>>> cartridgeagent.cartridgeagent.modules
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> May be agent was not updated in the php docker
>>>>>>>>>>>>>>>>>>>>>>>> image. Will check this tomorrow.
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Gayan Gunarathne
>>>>>>>>>>>>>>>>>>>>>> Technical Lead
>>>>>>>>>>>>>>>>>>>>>> WSO2 Inc. (http://wso2.com)
>>>>>>>>>>>>>>>>>>>>>> email  : gayang@wso2.com  | mobile : +94 766819985
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Gayan Gunarathne
>>>>>>>>>>>>>>>>>>>> Technical Lead
>>>>>>>>>>>>>>>>>>>> WSO2 Inc. (http://wso2.com)
>>>>>>>>>>>>>>>>>>>> email  : gayang@wso2.com  | mobile : +94 766819985
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Gayan Gunarathne
>>>>>>>>>>>>>>>>>>> Technical Lead
>>>>>>>>>>>>>>>>>>> WSO2 Inc. (http://wso2.com)
>>>>>>>>>>>>>>>>>>> email  : gayang@wso2.com  | mobile : +94 766819985
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Lakmal Warusawithana
>>>>>>>>>>>>>> Vice President, Apache Stratos
>>>>>>>>>>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>>>>>>>>>>> Mobile : +94714289692
>>>>>>>>>>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>>>
>>>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Rajkumar Rajaratnam
>>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>> Software Engineer, WSO2
>>>>>>>>>>>>
>>>>>>>>>>>> Mobile : +94777568639
>>>>>>>>>>>> Blog : rajkumarr.com
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>>
>>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>
>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Imesh Gunaratne
>>>>>>>>>
>>>>>>>>> Technical Lead, WSO2
>>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Lakmal Warusawithana
>>>>>>>> Vice President, Apache Stratos
>>>>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>>>>> Mobile : +94714289692
>>>>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Imesh Gunaratne
>>>>>>>
>>>>>>> Technical Lead, WSO2
>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Rajkumar Rajaratnam
>>>>> Committer & PMC Member, Apache Stratos
>>>>> Software Engineer, WSO2
>>>>>
>>>>> Mobile : +94777568639
>>>>> Blog : rajkumarr.com
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Rajkumar Rajaratnam
>>> Committer & PMC Member, Apache Stratos
>>> Software Engineer, WSO2
>>>
>>> Mobile : +94777568639
>>> Blog : rajkumarr.com
>>>
>>
>>
>>
>> --
>> Rajkumar Rajaratnam
>> Committer & PMC Member, Apache Stratos
>> Software Engineer, WSO2
>>
>> Mobile : +94777568639
>> Blog : rajkumarr.com
>>
>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Mime
View raw message