Return-Path: X-Original-To: apmail-stratos-dev-archive@minotaur.apache.org Delivered-To: apmail-stratos-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EBB4610B5F for ; Thu, 1 Jan 2015 16:42:17 +0000 (UTC) Received: (qmail 39943 invoked by uid 500); 1 Jan 2015 16:42:18 -0000 Delivered-To: apmail-stratos-dev-archive@stratos.apache.org Received: (qmail 39885 invoked by uid 500); 1 Jan 2015 16:42:18 -0000 Mailing-List: contact dev-help@stratos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stratos.apache.org Delivered-To: mailing list dev@stratos.apache.org Received: (qmail 39875 invoked by uid 99); 1 Jan 2015 16:42:18 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jan 2015 16:42:18 +0000 Received: from mail-ob0-f175.google.com (mail-ob0-f175.google.com [209.85.214.175]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id AEB0B1A0234 for ; Thu, 1 Jan 2015 16:42:15 +0000 (UTC) Received: by mail-ob0-f175.google.com with SMTP id wp4so51299010obc.6 for ; Thu, 01 Jan 2015 08:42:07 -0800 (PST) X-Received: by 10.60.74.8 with SMTP id p8mr14187506oev.42.1420130527870; Thu, 01 Jan 2015 08:42:07 -0800 (PST) MIME-Version: 1.0 Received: by 10.202.171.147 with HTTP; Thu, 1 Jan 2015 08:41:47 -0800 (PST) In-Reply-To: References: From: Imesh Gunaratne Date: Thu, 1 Jan 2015 22:11:47 +0530 Message-ID: Subject: Re: [Discuss] Kubernetes workflow is now working! To: dev Content-Type: multipart/related; boundary=001a1135e806a633e1050b99e718 --001a1135e806a633e1050b99e718 Content-Type: multipart/alternative; boundary=001a1135e806a633d8050b99e717 --001a1135e806a633d8050b99e717 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable No, the current workflow is as follows: - AS talks to CC to start an instance - CC creates a new member context with a unique member Id, start a new thread to execute the actions, returns the call to AS. - The above thread runs and try to start the instance, allocate IP addresses, assign storage, etc - If everything successfully completes, CC will send the Instance Spawened event. - If one of the actions fails, CC will raise an error, it will not terminate the instance since member context has been already returned to AS= . - AS will terminate the instance on the next obsolete member evaluation iteration. On Thu, Jan 1, 2015 at 9:44 PM, Rajkumar Rajaratnam wrote: > > > On Thu, Jan 1, 2015 at 9:42 PM, Rajkumar Rajaratnam > wrote: > >> Hi Imesh, >> >> May be I didn't understand your solution completely, correct me if I am >> wrong. >> >> - adding the member to the topology as soon as instance is created >> (just spawned) >> >> This should be "adding the member context to the data holder as soon as > instance is created (just spawned). Sorry for the confusion :) > >> >> - sending instance spawned event if everything else configured >> correctly (IP, Volume etc) >> - terminating the instance and sending instance terminated event if >> IP allocation fails or Volume allocation fails >> >> Am I correct? >> >> If correct, I would like to know when we will be adding the member to th= e >> topology? If we adding the member to the topology after sending instance >> spawned event, then there is a problem. Even if IP allocation goes wrong= , >> we will not be able to send the member terminated event, because we can'= t >> send events for the members which are not in the topology. >> >> That's why, IMO, we should add the member to the topology as soon as we >> get the instance start up call and we should send a new event (before >> instance spawned event) so that other components will be aware that a >> member is added to the topology. This way we can send member terminated >> event at the point where IP allocation goes wrong. This will be efficien= t >> and I guess it is not that complicated to implement. >> >> wdyt? >> >> Thanks. >> >> On Thu, Jan 1, 2015 at 9:15 PM, Imesh Gunaratne wrote= : >> >>> IMO we shouldn't make things much complicated. >>> >>> If we can wait until the point where IP addresses are allocated to send >>> the Instance Spawned event, may be that's much simpler than the above >>> suggestion. >>> >>> On Thu, Jan 1, 2015 at 8:12 PM, Rajkumar Rajaratnam >>> wrote: >>> >>>> Hi, >>>> >>>> I am quoting what we agreed from some other mail thread. >>>> >>>> *Correct approach would be to introduce a new topology event to fill >>>> the blind area between real instance creation via CC and member spawne= d >>>> event. So, as soon as CC receives a instance start up call, CC would a= dd >>>> the member to topology and will send a new event with a new state poss= ibly.* >>>> >>>> Thanks. >>>> >>>> On Thu, Jan 1, 2015 at 7:33 PM, Rajkumar Rajaratnam >>> > wrote: >>>> >>>>> s/if anything goes like IP allocation/if anything goes *wrong* like >>>>> IP allocation >>>>> >>>>> Thanks. >>>>> >>>>> On Thu, Jan 1, 2015 at 7:20 PM, Rajkumar Rajaratnam < >>>>> rajkumarr@wso2.com> wrote: >>>>> >>>>>> Hi Imesh, >>>>>> >>>>>> Yes, we can either do it as you mentioned, or we can send the member >>>>>> terminated event so that the other components will be aware of this >>>>>> instance termination. I guess the later one would the efficient solu= tion as >>>>>> it AS will take 15 min (pending member timeout) to terminate such >>>>>> instances. Even in container case, we can do this. >>>>>> >>>>>> If we know that the instance will never be activated in advance, we >>>>>> can terminate the instance in CC and send the member terminated even= t. We >>>>>> don't need to wait 15 min. >>>>>> >>>>>> I can recall that we agreed to add the member to the topology as soo= n >>>>>> as member is spawned and send the member terminated event if anythin= g goes >>>>>> like IP allocation. It is discussed here, >>>>>> If floating IP allocation goes wrong, we are not terminating the >>>>>> instances at that point? >>>>>> Thanks. >>>>>> >>>>>> On Thu, Jan 1, 2015 at 6:34 PM, Imesh Gunaratne >>>>>> wrote: >>>>>> >>>>>>> As I see we have the same logic for VMs which terminate the instanc= e >>>>>>> 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 =3D "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 wai= t >>>>>>> until the Autoscaler terminate the instance. >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> On Thu, Jan 1, 2015 at 12:01 PM, Imesh Gunaratne >>>>>>> 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 Autoscal= er. 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), r= eplication >>>>>>>>> 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 "Runni= ng" status. >>>>>>>>> >>>>>>>>> ERROR >>>>>>>>> {org.apache.stratos.cloud.controller.iaases.kubernetes.Kubernetes= Iaas} - >>>>>>>>> Pod status did not change to running within 120 sec, hence removi= ng >>>>>>>>> replication controller and pod: [cluster-id] php.php.domain [memb= er-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-strat= os-4.1.0-SNAPSHOT/bin$ >>>>>>>>> [2014-12-31 20:02:16,728] INFO >>>>>>>>> {org.apache.stratos.autoscaler.context.partition.ClusterLevelPart= itionContext} >>>>>>>>> - Pending state of member: >>>>>>>>> php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168 is expired. Ad= ding as an >>>>>>>>> obsoleted member.[2014-12-31 20:03:31,788] INFO >>>>>>>>> {org.apache.stratos.autoscaler.client.CloudControllerClient} - T= erminating >>>>>>>>> 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.CloudControlle= rServiceImpl} >>>>>>>>> - Member termination failed, member context not found: [member-i= d] >>>>>>>>> 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.stra= tos.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 dat= a >>>>>>>>> holder only after pods are coming to "Running" status. IMO, we ne= ed 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} - A= dding >>>>>>>>>>>> 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= =3D? AND >>>>>>>>>>>> TENANT_ID=3D? AND APP_NAME=3D? >>>>>>>>>>>> [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(NativeCo= nstructorAccessorImpl.java:39) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Dele= gatingConstructorAccessorImpl.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(PreparedState= ment.java:2156) >>>>>>>>>>>> at >>>>>>>>>>>> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatemen= t.java:2313) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.isDuplicateAppl= ication(OAuthAppDAO.java:372) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.addOAuthApplica= tion(OAuthAppDAO.java:67) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.OAuthAdminService.registerOAuth= ApplicationData(OAuthAdminService.java:228) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>> Method) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCU= til.java:212) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invoke= BusinessLogic(RPCInOnlyMessageReceiver.java:66) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(Abs= tractMessageReceiver.java:110) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180= ) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTP= PostRequest(HTTPTransportUtils.java:172) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet= .java:146) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonSer= vlet.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.process= Alias(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(D= elegationServlet.java:68) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:305) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(= CharacterSetFilter.java:61) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:243) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW= rapperValve.java:222) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardC= ontextValve.java:123) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut= henticatorBase.java:472) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHost= Valve.java:171) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport= Valve.java:99) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvoc= ation(CompositeValve.java:178) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(C= arbonTomcatValve.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tenant= LazyLoaderValve.java:56) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeV= alves(TomcatValveContainer.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Compos= iteValve.java:141) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionVa= lve.invoke(CarbonStuckThreadDetectionValve.java:156) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv= e.java:936) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.in= voke(CarbonContextCreatorValve.java:52) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn= gineValve.java:118) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap= ter.java:407) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr= actHttp11Processor.java:1004) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p= rocess(AbstractProtocol.java:589) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Nio= Endpoint.java:1653) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadP= oolExecutor.java:895) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolE= xecutor.java:918) >>>>>>>>>>>> at java.lang.Thread.run(Thread.java:662) >>>>>>>>>>>> [2014-12-30 09:02:14,496] ERROR >>>>>>>>>>>> {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} - E= rror when >>>>>>>>>>>> reading the application information from the persistence store= . >>>>>>>>>>>> org.wso2.carbon.identity.oauth.IdentityOAuthAdminException: >>>>>>>>>>>> Error when reading the application information from the persis= tence store. >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.isDuplicateAppl= ication(OAuthAppDAO.java:383) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.addOAuthApplica= tion(OAuthAppDAO.java:67) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.OAuthAdminService.registerOAuth= ApplicationData(OAuthAdminService.java:228) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>> Method) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCU= til.java:212) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invoke= BusinessLogic(RPCInOnlyMessageReceiver.java:66) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(Abs= tractMessageReceiver.java:110) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180= ) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTP= PostRequest(HTTPTransportUtils.java:172) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet= .java:146) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonSer= vlet.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.process= Alias(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(D= elegationServlet.java:68) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:305) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(= CharacterSetFilter.java:61) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:243) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW= rapperValve.java:222) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardC= ontextValve.java:123) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut= henticatorBase.java:472) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHost= Valve.java:171) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport= Valve.java:99) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvoc= ation(CompositeValve.java:178) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(C= arbonTomcatValve.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tenant= LazyLoaderValve.java:56) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeV= alves(TomcatValveContainer.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Compos= iteValve.java:141) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionVa= lve.invoke(CarbonStuckThreadDetectionValve.java:156) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv= e.java:936) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.in= voke(CarbonContextCreatorValve.java:52) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn= gineValve.java:118) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap= ter.java:407) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr= actHttp11Processor.java:1004) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p= rocess(AbstractProtocol.java:589) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Nio= Endpoint.java:1653) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadP= oolExecutor.java:895) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolE= xecutor.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.DefaultAppli= cationParser.createToken(DefaultApplicationParser.java:714) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.autoscaler.applications.parser.DefaultAppli= cationParser.parse(DefaultApplicationParser.java:109) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.autoscaler.api.AutoScalerServiceImpl.addApp= lication(AutoScalerServiceImpl.java:173) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>> Method) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCU= til.java:212) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invoke= BusinessLogic(RPCInOnlyMessageReceiver.java:66) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(Abs= tractMessageReceiver.java:110) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180= ) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTP= PostRequest(HTTPTransportUtils.java:172) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet= .java:146) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonSer= vlet.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.process= Alias(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(D= elegationServlet.java:68) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:305) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(= CharacterSetFilter.java:61) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:243) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW= rapperValve.java:222) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardC= ontextValve.java:123) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut= henticatorBase.java:472) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHost= Valve.java:171) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport= Valve.java:99) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvoc= ation(CompositeValve.java:178) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(C= arbonTomcatValve.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tenant= LazyLoaderValve.java:56) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeV= alves(TomcatValveContainer.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Compos= iteValve.java:141) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionVa= lve.invoke(CarbonStuckThreadDetectionValve.java:156) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv= e.java:936) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.in= voke(CarbonContextCreatorValve.java:52) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn= gineValve.java:118) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap= ter.java:407) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr= actHttp11Processor.java:1004) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p= rocess(AbstractProtocol.java:589) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Nio= Endpoint.java:1653) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadP= oolExecutor.java:895) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolE= xecutor.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$Robust= OutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:91) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(Out= InAxisOperation.java:445) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeI= mpl(OutInAxisOperation.java:225) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.client.OperationClient.execute(OperationClien= t.java:149) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.identity.oauth.stub.OAuthAdminServiceStub.regi= sterOAuthApplicationData(OAuthAdminServiceStub.java:323) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.autoscaler.client.oAuthAdminServiceClient.r= egisterOauthApplication(oAuthAdminServiceClient.java:97) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.autoscaler.applications.parser.DefaultAppli= cationParser.createToken(DefaultApplicationParser.java:712) >>>>>>>>>>>> ... 46 more >>>>>>>>>>>> [2014-12-30 09:02:14,521] ERROR >>>>>>>>>>>> {org.apache.stratos.rest.endpoint.handlers.CustomExceptionMapp= er} - Error >>>>>>>>>>>> while fulfilling the request >>>>>>>>>>>> org.apache.stratos.rest.endpoint.exception.RestAPIException >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.rest.endpoint.api.StratosApiV41Utils.addApp= lication(StratosApiV41Utils.java:974) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.rest.endpoint.api.StratosApiV41.addApplicat= ion(StratosApiV41.java:354) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>>>>> Method) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) >>>>>>>>>>>> at >>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.performInvocati= on(AbstractInvoker.java:180) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(Abstract= Invoker.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(Ser= viceInvokerInterceptor.java:57) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMes= sage(ServiceInvokerInterceptor.java:93) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIn= terceptorChain.java:271) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(Cha= inInitiationObserver.java:121) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(A= bstractHTTPDestination.java:239) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.ServletController.invokeDesti= nation(ServletController.java:223) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.ServletController.invoke(Serv= letController.java:203) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.ServletController.invoke(Serv= letController.java:137) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CX= FNonSpringServlet.java:159) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleReq= uest(AbstractHTTPServlet.java:286) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(Ab= stractHTTPServlet.java:206) >>>>>>>>>>>> at >>>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:755) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(A= bstractHTTPServlet.java:262) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:305) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:210) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW= rapperValve.java:222) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardC= ontextValve.java:123) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut= henticatorBase.java:472) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHost= Valve.java:171) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport= Valve.java:99) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvoc= ation(CompositeValve.java:178) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(C= arbonTomcatValve.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(Tenant= LazyLoaderValve.java:56) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeV= alves(TomcatValveContainer.java:47) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(Compos= iteValve.java:141) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionVa= lve.invoke(CarbonStuckThreadDetectionValve.java:156) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv= e.java:936) >>>>>>>>>>>> at >>>>>>>>>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.in= voke(CarbonContextCreatorValve.java:52) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn= gineValve.java:118) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap= ter.java:407) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(Abstr= actHttp11Processor.java:1004) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.p= rocess(AbstractProtocol.java:589) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Nio= Endpoint.java:1653) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadP= oolExecutor.java:895) >>>>>>>>>>>> at >>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolE= xecutor.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$Robust= OutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:91) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.send(Out= InAxisOperation.java:445) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.description.OutInAxisOperationClient.executeI= mpl(OutInAxisOperation.java:225) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.axis2.client.OperationClient.execute(OperationClien= t.java:149) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.autoscaler.stub.AutoScalerServiceStub.addAp= plication(AutoScalerServiceStub.java:3223) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.manager.client.AutoscalerServiceClient.addA= pplication(AutoscalerServiceClient.java:122) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.stratos.rest.endpoint.api.StratosApiV41Utils.addApp= lication(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 co= ntroller 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 t= he 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-im= age] >>>>>>>>>>>>> stratos/php:4.1.0-alpha [container-ports] [80] [replicas] 1 >>>>>>>>>>>>> [2014-12-29 15:43:02,559] INFO Replication controller create= d >>>>>>>>>>>>> successfully: [replication-controller-id] >>>>>>>>>>>>> php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f7a [name] >>>>>>>>>>>>> php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f7a [docker-im= age] >>>>>>>>>>>>> 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-do= main-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] wai= ting >>>>>>>>>>>>> [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] wai= ting >>>>>>>>>>>>> [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 [cluste= r-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] n= etwork-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.FaultHandlingWindowProcess= or} - Faulty >>>>>>>>>>>>>> member detected [member-id] >>>>>>>>>>>>>> php.php.domaincc7fb2e4-ea96-4b70-8706-353e4225f170 with [las= t time-stamp] >>>>>>>>>>>>>> 1419774066943 [time-out] 60000 milliseconds >>>>>>>>>>>>>> [2014-12-28 19:12:14,025] INFO >>>>>>>>>>>>>> {org.apache.stratos.cep.extension.FaultHandlingWindowProcess= or} - >>>>>>>>>>>>>> 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.Clus= terStatusInactiveProcessor} >>>>>>>>>>>>>> - 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 =3D> container IP >>>>>>>>>>>>>>>>> Member default private IP =3D> container IP >>>>>>>>>>>>>>>>> Member public IPs =3D > service proxy IPs >>>>>>>>>>>>>>>>> Member default public IP =3D> kubernetes master/host IP >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> If public IP assignment is not enabled service proxies ar= e >>>>>>>>>>>>>>>>> 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 publi= c >>>>>>>>>>>>>>>>>> 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 proble= m >>>>>>>>>>>>>>>>>> later on. For the moment setting the Kubernetes Master I= P 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.A= utoscalerTopologyEventReceiver} >>>>>>>>>>>>>>>>>> - Error processing event null >>>>>>>>>>>>>>>>>> java.lang.NullPointerException >>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>> org.apache.stratos.autoscaler.monitor.cluster.ClusterMon= itor.getClusterInstanceContext(ClusterMonitor.java:1116) >>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>> org.apache.stratos.autoscaler.monitor.cluster.ClusterMon= itor.handleMemberActivatedEvent(ClusterMonitor.java:875) >>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>> org.apache.stratos.autoscaler.event.receiver.topology.Au= toscalerTopologyEventReceiver$12.onEvent(AutoscalerTopologyEventReceiver.ja= va:393) >>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>> org.apache.stratos.messaging.listener.EventListener.upda= te(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 age= nt 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 add= ress in the member >>>>>>>>>>>>>>>>>>>> activated event. Need to check agent logic again: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> [2014-12-26 16:28:06,218] INFO >>>>>>>>>>>>>>>>>>>> {org.apache.stratos.manager.listener.InstanceStatusLis= tener} - Instance >>>>>>>>>>>>>>>>>>>> status message received >>>>>>>>>>>>>>>>>>>> [2014-12-26 16:28:06,218] INFO >>>>>>>>>>>>>>>>>>>> {org.apache.stratos.manager.listener.InstanceStatusLis= tener} - Event class >>>>>>>>>>>>>>>>>>>> name: >>>>>>>>>>>>>>>>>>>> org.apache.stratos.messaging.event.instance.status.Ins= tanceActivatedEvent >>>>>>>>>>>>>>>>>>>> [2014-12-26 16:28:06,219] INFO >>>>>>>>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.messaging.topolog= y.TopologyBuilder} - >>>>>>>>>>>>>>>>>>>> member started event adding status activated >>>>>>>>>>>>>>>>>>>> [2014-12-26 16:28:06,225] INFO >>>>>>>>>>>>>>>>>>>> {org.apache.stratos.cloud.controller.messaging.publish= er.TopologyEventPublisher} >>>>>>>>>>>>>>>>>>>> - Publishing member activated event: [service-name] p= hp [cluster-id] >>>>>>>>>>>>>>>>>>>> php.php.domain [cluster-instance-id] single-cartridge-= app-1 [member-id] >>>>>>>>>>>>>>>>>>>> php.php.domaind7655e6f-f962-425b-b93b-2bf7333dc37d [ne= twork-partition-id] >>>>>>>>>>>>>>>>>>>> [partition-id] >>>>>>>>>>>>>>>>>>>> [2014-12-26 16:28:06,244] ERROR >>>>>>>>>>>>>>>>>>>> {org.apache.stratos.messaging.message.receiver.topolog= y.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-42= 5b-b93b-2bf7333dc37d >>>>>>>>>>>>>>>>>>>> at >>>>>>>>>>>>>>>>>>>> org.apache.stratos.messaging.message.processor.topolog= y.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 t= his. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> // PodActivationWatcher.java >>>>>>>>>>>>>>>>>>> String hostIP =3D 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. A= SFAIK in VM workflow >>>>>>>>>>>>>>>>>>>>>> most of these missing parameters are sent by puppet = master. >>>>>>>>>>>>>>>>>>>>>> =E2=80=8B >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> 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/typeerr= or-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 an= d >>>>>>>>>>>>>>>>>>>>>>>> now I'm seeing the following error: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> [2014-12-26 09:37:27,321] INFO >>>>>>>>>>>>>>>>>>>>>>>> {cartridgeagentconfiguration.py:__init__} - Cartri= dge agent configuration >>>>>>>>>>>>>>>>>>>>>>>> initialized >>>>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last): >>>>>>>>>>>>>>>>>>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", >>>>>>>>>>>>>>>>>>>>>>>> line 850, in emit >>>>>>>>>>>>>>>>>>>>>>>> msg =3D 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 =3D record.getMessage() >>>>>>>>>>>>>>>>>>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", >>>>>>>>>>>>>>>>>>>>>>>> line 328, in getMessage >>>>>>>>>>>>>>>>>>>>>>>> msg =3D 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 =3D 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 =3D record.getMessage() >>>>>>>>>>>>>>>>>>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", >>>>>>>>>>>>>>>>>>>>>>>> line 328, in getMessage >>>>>>>>>>>>>>>>>>>>>>>> msg =3D 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 =3D 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 =3D record.getMessage() >>>>>>>>>>>>>>>>>>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", >>>>>>>>>>>>>>>>>>>>>>>> line 328, in getMessage >>>>>>>>>>>>>>>>>>>>>>>> msg =3D 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 >>>>>>>>>>>>>>>>>>>>>>>>> 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 Gunarathn= e >>>>>>>>>>>>>>>>>>>>>>>>>> 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 Gunaratn= e >>>>>>>>>>>>>>>>>>>>>>>>>>> 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__} - I= NTERNAL payload parameter is >>>>>>>>>>>>>>>>>>>>>>>>>>>> not found >>>>>>>>>>>>>>>>>>>>>>>>>>>> [2014-12-26 08:31:17,311] INFO >>>>>>>>>>>>>>>>>>>>>>>>>>>> {cartridgeagentconfiguration.py:__init__} - Ca= rtridge agent configuration >>>>>>>>>>>>>>>>>>>>>>>>>>>> initialized >>>>>>>>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last): >>>>>>>>>>>>>>>>>>>>>>>>>>>> File >>>>>>>>>>>>>>>>>>>>>>>>>>>> "/usr/lib/python2.7/logging/__init__.py", line= 850, in emit >>>>>>>>>>>>>>>>>>>>>>>>>>>> msg =3D 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 =3D record.getMessage() >>>>>>>>>>>>>>>>>>>>>>>>>>>> File >>>>>>>>>>>>>>>>>>>>>>>>>>>> "/usr/lib/python2.7/logging/__init__.py", line= 328, in getMessage >>>>>>>>>>>>>>>>>>>>>>>>>>>> msg =3D msg % self.args >>>>>>>>>>>>>>>>>>>>>>>>>>>> TypeError: not all arguments converted during >>>>>>>>>>>>>>>>>>>>>>>>>>>> string formatting >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 1:49 PM, Gayan >>>>>>>>>>>>>>>>>>>>>>>>>>>> Gunarathne wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Imesh, >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>> This is happen when CLUSTER_INSTANCE_ID not >>>>>>>>>>>>>>>>>>>>>>>>>>>>> contain as the payload parameter of the cartr= idge 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 wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I fixed the above issue in cartridge agent >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> and re-created the base image, now I'm seein= g another error: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> root@e82ebdc6-8cd5-11e4-85d5-080027f35f1b:~# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cat /tmp/agent.screen.log >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last): >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> File "agent.py", line 32, in >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from modules.extensions import >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> defaultextensionhandler >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> File >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-= 4.1.0-SNAPSHOT/modules/extensions/defaultextensionhandler.py", >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> line 22, in >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from ..util import extensionutils, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cartridgeagentutils >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> File >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-= 4.1.0-SNAPSHOT/modules/util/extensionutils.py", >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> line 29, in >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cartridge_agent_config =3D >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cartridgeagentconfiguration.CartridgeAgentCo= nfiguration() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> File >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "/mnt/apache-stratos-python-cartridge-agent-= 4.1.0-SNAPSHOT/modules/config/cartridgeagentconfiguration.py", >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> line 349, in __init__ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CartridgeAgentConfiguration.instance =3D >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> CartridgeAgentConfiguration.__CartridgeAgent= Configuration() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 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 t= o >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> the container, may be there is something wro= ng in the agent code, will >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> investigate. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Fri, Dec 26, 2014 at 2:40 AM, Imesh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Gunaratne wrote: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Devs, >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I fixed some of the issues in Kubernetes >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Iaas and tested the Kubernetes workflow wit= h sample php docker image. Now >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> replication controllers, services and conta= iners 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. Followin= g error was found in agent >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> screen log: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Traceback (most recent call last): >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> File "agent.py", line 21, in >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> from >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> cartridgeagent.cartridgeagent.modules impor= t 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 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>> >> >> >> >> -- >> 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 > --=20 Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos --001a1135e806a633d8050b99e717 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
No, the current workflow is as follows:

- AS talks to CC to start an instance
- CC creates a new member = context with a unique member Id, start a new thread to execute the actions,= returns the call to AS.
- The above thread runs and try to start= the instance, allocate IP addresses, assign storage, etc
- If ev= erything successfully completes, CC will send the Instance Spawened event.<= /div>
- If one of the actions fails, CC will raise an error, it will no= t terminate the instance since member context has been already returned to = AS.
- AS will terminate the instance on the next obsolete member = evaluation iteration.



On Thu, Jan 1, 2015 at 9:44= PM, Rajkumar Rajaratnam <rajkumarr@wso2.com> wrote:


On Thu, Jan 1, 2015 at 9:4= 2 PM, Rajkumar Rajaratnam <rajkumarr@wso2.com> wrote:
Hi Imesh,
May be I didn't understand your solution complete= ly, correct me if I am wrong.
  • adding the member to the topology = as soon as instance is created (just spawned)
<= /div>
This should be "adding the member context to th= e data holder as soon as instance is created (just spawned). Sorry for the = confusion :)
  • sending instance spawned event if every= thing else configured correctly (IP, Volume etc)
  • terminating the in= stance and sending instance terminated event if IP allocation fails or Volu= me allocation fails
Am I correct?

If c= orrect, I would like to know when we will be adding the member to the topol= ogy? If we adding the member to the topology after sending instance spawned= event, then there is a problem. Even if IP allocation goes wrong, we will = not be able to send the member terminated event, because we can't send = events for the members which are not in the topology.

Tha= t's why, IMO, we should add the member to the topology as soon as we ge= t the instance start up call and we should send a new event (before instanc= e spawned event) so that other components will be aware that a member is ad= ded to the topology. This way we can send member terminated event at the po= int where IP allocation goes wrong. This will be efficient and I guess it i= s not that complicated to implement.

wdyt?
=
Thanks.

On Thu, Jan 1, 2015 at 9:15 PM, Imesh Gunaratne <imesh@= apache.org> wrote:
IMO we shouldn't make things much complicated.=C2=A0

<= div>If we can wait until the point where IP addresses are allocated to send= the Instance Spawned event, may be that's much simpler than the above = suggestion.

On Thu, Jan 1, 2015 at 8:12 PM, Rajkumar Rajaratnam <= span dir=3D"ltr"><rajkumarr@wso2.com> wrote:
Hi,

I am quoting what we agreed from some ot= her mail thread.

Correct approach would be to introduce a new top= ology event=20 to fill the blind area between real instance creation via CC and memb= er spawned event. So, as soon as CC receives a instance start up cal= l, CC would add the member to topology and will send a new eve= nt with a new state possibly.

Thanks.
<= div class=3D"gmail_extra">
On Thu, Jan 1, 201= 5 at 7:33 PM, Rajkumar Rajaratnam <rajkumarr@wso2.com> wrot= e:
s/if anything go= es like IP allocation/if anything goes <= b>wrong like IP allocation

Thanks.

On Thu, Jan 1,= 2015 at 7:20 PM, Rajkumar Rajaratnam <rajkumarr@wso2.com> = wrote:
Hi Imes= h,

Yes, we can either do it as you mentioned, or we can send t= he member terminated event so that the other components will be aware of th= is instance termination. I guess the later one would the efficient solution= as it AS will take 15 min (pending member timeout) to terminate such insta= nces. Even in container case, we can do this.

If we know = that the instance will never be activated in advance, we can terminate the = instance in CC and send the member terminated event. We don't need to w= ait 15 min.

I can recall that we agreed to add the member= to the topology as soon as member is spawned and send the member terminate= d event if anything goes like IP allocation. It is discussed here,

I= f floating IP allocation goes wrong, we are not terminating the instances a= t that point?

Thanks.

On Thu, Jan 1, 2015 at 6:34 PM, Imesh Gun= aratne <imesh@apache.org> wrote:
As I see we have the same logic for VMs which termin= ate the instance if it could not allocate IP addresses:
String msg =3D "Error occurred while allocating p= redefined floating ip address: " + preDefinedIp +
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 " / allocated ip:" + ip= +
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 " - te= rminating node:" + memberContext.toString();
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 log.error(msg);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 // terminate in= stance
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 destroyNode(nodeMetadata.getId(),= memberContext);
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 throw new CloudController= Exception(msg);

We might need to chang= e this logic to log the error message and wait until the Autoscaler termina= te the instance.

Thanks=C2=A0

On Thu, Jan 1, 2= 015 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 al= ready done by the Autoscaler. I will fix this.

Than= ks

On Wed, Dec 31, 2014 at 8:51 PM, Rajkumar Rajaratnam <rajkum= arr@wso2.com> wrote:
Hi,

Currently pods' status are monito= red by CC. If pods are not getting "Running" status within a time= period(default to 120s), replication controllers and pods are deleted by C= C and nothing happens after that.

I faced some problems due to this= . My pods and replication controller were deleted by CC, because pods didn&= #39;t come to "Running" status.

ERROR {org.apache.stratos.cloud.controller.iaases.kubernetes.Kuber= netesIaas} -=C2=A0 Pod status did not change to running within 120 sec, hen= ce removing replication controller and pod: [cluster-id] php.php.domain [me= mber-id] php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168 [replication-co= ntroller-id] php-php-domaine9f27b1c-6694-4b70-b939-f80b2ad74168 [pod-id] ph= p-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 cont= ext not found.

rajkumar@rajku= mar-Latitude-E6540:/opt/stratos-packs/apache-stratos-4.1.0-SNAPSHOT/bin$ [2= 014-12-31 20:02:16,728]=C2=A0 INFO {org.apache.stratos.autoscaler.context.p= artition.ClusterLevelPartitionContext} -=C2=A0 Pending state of member: php= .php.domaine9f27b1c-6694-4b70-b939-f80b2ad74168 is expired. Adding as an ob= soleted member.
[2014-12-31 20:03:31,788]=C2=A0 INFO {org.apache.stratos= .autoscaler.client.CloudControllerClient} -=C2=A0 Terminating instance via = cloud controller: [member] php.php.domaine9f27b1c-6694-4b70-b939-f80b2ad741= 68
[2014-12-31 20:03:31,798] ERROR {org.apache.stratos.cloud.controller.= services.impl.CloudControllerServiceImpl} -=C2=A0 Member termination failed= , member context not found: [member-id] php.php.domaine9f27b1c-6694-4b70-b9= 39-f80b2ad74168
[2014-12-31 20:03:31,799] ERROR {org.apache.axis2.rpc.re= ceivers.RPCInOnlyMessageReceiver} -=C2=A0 Member termination failed, member= context not found: [member-id] php.php.domaine9f27b1c-6694-4b70-b939-f80b2= ad74168
org.apache.stratos.cloud.controller.exception.InvalidMemberExcep= tion: 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 pend= ing 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.

<= /div>
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 ensure= s 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 <dakshik= a@wso2.com> wrote:
Hi Raj,

seems=C2=A0you =C2=A0missed below DB sqls, =C2=A0reside on tools/stratos-installer/resources.

application-mysql.sql
security-mysql.sql

execute both and retry..=C2=A0

Thank you,

Regards,

Dakshika Jayathilaka
Software Engineer
= WSO2, Inc.
lean.enterprise.middleware=

On Tue, Dec 30, 2014 at 9:07 AM, Rajkumar Ra= jaratnam <rajkumarr@wso2.com> wrote:
Hi,

I am trying our k= ubernetes. I am getting the following exception while deploying an applicat= ion.

[2014-12-30 09:02:14,414]=C2=A0 INFO {org.apache.stratos.autosc= aler.api.AutoScalerServiceImpl} -=C2=A0 Adding application: [application-id= ] single-cartridge-app
[2014-12-30 09:02:14,482]=C2=A0 INFO {org.wso2.ca= rbon.core.services.util.CarbonAuthenticationUtil} -=C2=A0 '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} -= =C2=A0 Error when executing the SQL : SELECT * FROM IDN_OAUTH_CONSUMER_APPS= WHERE USERNAME=3D? AND TENANT_ID=3D? AND APP_NAME=3D?
[2014-12-30 09:02= :14,493] ERROR {org.wso2.carbon.identity.oauth.dao.OAuthAppDAO} -=C2=A0 Tab= le 'userstore.IDN_OAUTH_CONSUMER_APPS' doesn't exist
com.mys= ql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'userstore.ID= N_OAUTH_CONSUMER_APPS' doesn't exist
=C2=A0=C2=A0=C2=A0 at sun.r= eflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
=C2=A0= =C2=A0=C2=A0 at sun.reflect.NativeConstructorAccessorImpl.newInstance(Nativ= eConstructorAccessorImpl.java:39)
=C2=A0=C2=A0=C2=A0 at sun.reflect.Dele= gatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl= .java:27)
=C2=A0=C2=A0=C2=A0 at java.lang.reflect.Constructor.newInstanc= e(Constructor.java:513)
=C2=A0=C2=A0=C2=A0 at com.mysql.jdbc.Util.handle= NewInstance(Util.java:411)
=C2=A0=C2=A0=C2=A0 at com.mysql.jdbc.Util.get= Instance(Util.java:386)
=C2=A0=C2=A0=C2=A0 at com.mysql.jdbc.SQLError.cr= eateSQLException(SQLError.java:1054)
=C2=A0=C2=A0=C2=A0 at com.mysql.jdb= c.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
=C2=A0=C2=A0=C2=A0 at com.= mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
=C2=A0=C2=A0=C2= =A0 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
=C2=A0=C2= =A0=C2=A0 at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
= =C2=A0=C2=A0=C2=A0 at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.= java:2834)
=C2=A0=C2=A0=C2=A0 at com.mysql.jdbc.PreparedStatement.execut= eInternal(PreparedStatement.java:2156)
=C2=A0=C2=A0=C2=A0 at com.mysql.j= dbc.PreparedStatement.executeQuery(PreparedStatement.java:2313)
=C2=A0= =C2=A0=C2=A0 at org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.isDuplicateA= pplication(OAuthAppDAO.java:372)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.i= dentity.oauth.dao.OAuthAppDAO.addOAuthApplication(OAuthAppDAO.java:67)
= =C2=A0=C2=A0=C2=A0 at org.wso2.carbon.identity.oauth.OAuthAdminService.regi= sterOAuthApplicationData(OAuthAdminService.java:228)
=C2=A0=C2=A0=C2=A0 = at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
=C2=A0=C2= =A0=C2=A0 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39)
=C2=A0=C2=A0=C2=A0 at sun.reflect.DelegatingMethodAccess= orImpl.invoke(DelegatingMethodAccessorImpl.java:25)
=C2=A0=C2=A0=C2=A0 a= t java.lang.reflect.Method.invoke(Method.java:597)
=C2=A0=C2=A0=C2=A0 at= org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212= )
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.rpc.receivers.RPCInOnlyMessageR= eceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
=C2=A0=C2= =A0=C2=A0 at org.apache.axis2.receivers.AbstractMessageReceiver.receive(Abs= tractMessageReceiver.java:110)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.en= gine.AxisEngine.receive(AxisEngine.java:180)
=C2=A0=C2=A0=C2=A0 at org.a= pache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTr= ansportUtils.java:172)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.transport.= http.AxisServlet.doPost(AxisServlet.java:146)
=C2=A0=C2=A0=C2=A0 at org.= wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231)=C2=A0=C2=A0=C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.j= ava:755)
=C2=A0=C2=A0=C2=A0 at javax.servlet.http.HttpServlet.service(Ht= tpServlet.java:848)
=C2=A0=C2=A0=C2=A0 at org.eclipse.equinox.http.servl= et.internal.ServletRegistration.service(ServletRegistration.java:61)
=C2= =A0=C2=A0=C2=A0 at org.eclipse.equinox.http.servlet.internal.ProxyServlet.p= rocessAlias(ProxyServlet.java:128)
=C2=A0=C2=A0=C2=A0 at org.eclipse.equ= inox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
= =C2=A0=C2=A0=C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.ja= va:848)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.servlet.Delegat= ionServlet.service(DelegationServlet.java:68)
=C2=A0=C2=A0=C2=A0 at org.= apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil= terChain.java:305)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.Applic= ationFilterChain.doFilter(ApplicationFilterChain.java:210)
=C2=A0=C2=A0= =C2=A0 at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(Cha= racterSetFilter.java:61)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.= ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.doFi= lter(ApplicationFilterChain.java:210)
=C2=A0=C2=A0=C2=A0 at org.apache.c= atalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
= =C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardContextValve.invoke(= StandardContextValve.java:123)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina= .authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
=C2= =A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardHostValve.invoke(Standa= rdHostValve.java:171)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.valves.E= rrorReportValve.invoke(ErrorReportValve.java:99)
=C2=A0=C2=A0=C2=A0 at o= rg.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(Composit= eValve.java:178)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves= .CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
=C2=A0=C2=A0=C2= =A0 at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLo= aderValve.java:56)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valv= es.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
=C2= =A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(= CompositeValve.java:141)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ex= t.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionV= alve.java:156)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.valves.AccessLo= gValve.invoke(AccessLogValve.java:936)
=C2=A0=C2=A0=C2=A0 at org.wso2.ca= rbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreato= rValve.java:52)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardE= ngineValve.invoke(StandardEngineValve.java:118)
=C2=A0=C2=A0=C2=A0 at or= g.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)=C2=A0=C2=A0=C2=A0 at org.apache.coyote.http11.AbstractHttp11Processor.pr= ocess(AbstractHttp11Processor.java:1004)
=C2=A0=C2=A0=C2=A0 at org.apach= e.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtoco= l.java:589)
=C2=A0=C2=A0=C2=A0 at org.apache.tomcat.util.net.NioEndpoint= $SocketProcessor.run(NioEndpoint.java:1653)
=C2=A0=C2=A0=C2=A0 at java.u= til.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:89= 5)
=C2=A0=C2=A0=C2=A0 at java.util.concurrent.ThreadPoolExecutor$Worker.= run(ThreadPoolExecutor.java:918)
=C2=A0=C2=A0=C2=A0 at java.lang.Thread.= run(Thread.java:662)
[2014-12-30 09:02:14,496] ERROR {org.apache.axis2.r= pc.receivers.RPCInOnlyMessageReceiver} -=C2=A0 Error when reading the appli= cation information from the persistence store.
org.wso2.carbon.identity.= oauth.IdentityOAuthAdminException: Error when reading the application infor= mation from the persistence store.
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon= .identity.oauth.dao.OAuthAppDAO.isDuplicateApplication(OAuthAppDAO.java:383= )
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.identity.oauth.dao.OAuthAppDAO.a= ddOAuthApplication(OAuthAppDAO.java:67)
=C2=A0=C2=A0=C2=A0 at org.wso2.c= arbon.identity.oauth.OAuthAdminService.registerOAuthApplicationData(OAuthAd= minService.java:228)
=C2=A0=C2=A0=C2=A0 at sun.reflect.NativeMethodAcces= sorImpl.invoke0(Native Method)
=C2=A0=C2=A0=C2=A0 at sun.reflect.NativeM= ethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
=C2=A0=C2=A0= =C2=A0 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodA= ccessorImpl.java:25)
=C2=A0=C2=A0=C2=A0 at java.lang.reflect.Method.invo= ke(Method.java:597)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.rpc.receivers= .RPCUtil.invokeServiceClass(RPCUtil.java:212)
=C2=A0=C2=A0=C2=A0 at org.= apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPC= InOnlyMessageReceiver.java:66)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.re= ceivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)=C2=A0=C2=A0=C2=A0 at org.apache.axis2.engine.AxisEngine.receive(AxisEngi= ne.java:180)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.transport.http.HTTPT= ransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
=C2=A0= =C2=A0=C2=A0 at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServ= let.java:146)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.core.transports.Carb= onServlet.doPost(CarbonServlet.java:231)
=C2=A0=C2=A0=C2=A0 at javax.ser= vlet.http.HttpServlet.service(HttpServlet.java:755)
=C2=A0=C2=A0=C2=A0 a= t javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
=C2=A0=C2= =A0=C2=A0 at org.eclipse.equinox.http.servlet.internal.ServletRegistration.= service(ServletRegistration.java:61)
=C2=A0=C2=A0=C2=A0 at org.eclipse.e= quinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:12= 8)
=C2=A0=C2=A0=C2=A0 at org.eclipse.equinox.http.servlet.internal.Proxy= Servlet.service(ProxyServlet.java:68)
=C2=A0=C2=A0=C2=A0 at javax.servle= t.http.HttpServlet.service(HttpServlet.java:848)
=C2=A0=C2=A0=C2=A0 at o= rg.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServl= et.java:68)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFi= lterChain.internalDoFilter(ApplicationFilterChain.java:305)
=C2=A0=C2=A0= =C2=A0 at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicat= ionFilterChain.java:210)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ex= t.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
=C2=A0= =C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.internalDoF= ilter(ApplicationFilterChain.java:243)
=C2=A0=C2=A0=C2=A0 at org.apache.= catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:2= 10)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardWrapperValve.= invoke(StandardWrapperValve.java:222)
=C2=A0=C2=A0=C2=A0 at org.apache.c= atalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
= =C2=A0=C2=A0=C2=A0 at org.apache.catalina.authenticator.AuthenticatorBase.i= nvoke(AuthenticatorBase.java:472)
=C2=A0=C2=A0=C2=A0 at org.apache.catal= ina.core.StandardHostValve.invoke(StandardHostValve.java:171)
=C2=A0=C2= =A0=C2=A0 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport= Valve.java:99)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.C= ompositeValve.continueInvocation(CompositeValve.java:178)
=C2=A0=C2=A0= =C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(Carb= onTomcatValve.java:47)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.webapp.mgt.= TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
=C2=A0=C2=A0= =C2=A0 at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValv= es(TomcatValveContainer.java:47)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.t= omcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
=C2=A0= =C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectio= nValve.invoke(CarbonStuckThreadDetectionValve.java:156)
=C2=A0=C2=A0=C2= =A0 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java= :936)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonCont= extCreatorValve.invoke(CarbonContextCreatorValve.java:52)
=C2=A0=C2=A0= =C2=A0 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngin= eValve.java:118)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.connector.Coy= oteAdapter.service(CoyoteAdapter.java:407)
=C2=A0=C2=A0=C2=A0 at org.apa= che.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.j= ava:1004)
=C2=A0=C2=A0=C2=A0 at org.apache.coyote.AbstractProtocol$Abstr= actConnectionHandler.process(AbstractProtocol.java:589)
=C2=A0=C2=A0=C2= =A0 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoi= nt.java:1653)
=C2=A0=C2=A0=C2=A0 at java.util.concurrent.ThreadPoolExecu= tor$Worker.runTask(ThreadPoolExecutor.java:895)
=C2=A0=C2=A0=C2=A0 at ja= va.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:91= 8)
=C2=A0=C2=A0=C2=A0 at java.lang.Thread.run(Thread.java:662)
[2014-= 12-30 09:02:14,511] ERROR {org.apache.axis2.rpc.receivers.RPCInOnlyMessageR= eceiver} -=C2=A0 org.apache.axis2.AxisFault: Error when reading the applica= tion information from the persistence store.
org.apache.stratos.autoscal= er.exception.AutoScalerException: org.apache.axis2.AxisFault: Error when re= ading the application information from the persistence store.
=C2=A0=C2= =A0=C2=A0 at org.apache.stratos.autoscaler.applications.parser.DefaultAppli= cationParser.createToken(DefaultApplicationParser.java:714)
=C2=A0=C2=A0= =C2=A0 at org.apache.stratos.autoscaler.applications.parser.DefaultApplicat= ionParser.parse(DefaultApplicationParser.java:109)
=C2=A0=C2=A0=C2=A0 at= org.apache.stratos.autoscaler.api.AutoScalerServiceImpl.addApplication(Aut= oScalerServiceImpl.java:173)
=C2=A0=C2=A0=C2=A0 at sun.reflect.NativeMet= hodAccessorImpl.invoke0(Native Method)
=C2=A0=C2=A0=C2=A0 at sun.reflect= .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
=C2= =A0=C2=A0=C2=A0 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegati= ngMethodAccessorImpl.java:25)
=C2=A0=C2=A0=C2=A0 at java.lang.reflect.Me= thod.invoke(Method.java:597)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.rpc.= receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
=C2=A0=C2=A0=C2= =A0 at org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusine= ssLogic(RPCInOnlyMessageReceiver.java:66)
=C2=A0=C2=A0=C2=A0 at org.apac= he.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.= java:110)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.engine.AxisEngine.recei= ve(AxisEngine.java:180)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.transport= .http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172= )
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.transport.http.AxisServlet.doPo= st(AxisServlet.java:146)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.core.tran= sports.CarbonServlet.doPost(CarbonServlet.java:231)
=C2=A0=C2=A0=C2=A0 a= t javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
=C2=A0=C2= =A0=C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)=C2=A0=C2=A0=C2=A0 at org.eclipse.equinox.http.servlet.internal.ServletRe= gistration.service(ServletRegistration.java:61)
=C2=A0=C2=A0=C2=A0 at or= g.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServ= let.java:128)
=C2=A0=C2=A0=C2=A0 at org.eclipse.equinox.http.servlet.int= ernal.ProxyServlet.service(ProxyServlet.java:68)
=C2=A0=C2=A0=C2=A0 at j= avax.servlet.http.HttpServlet.service(HttpServlet.java:848)
=C2=A0=C2=A0= =C2=A0 at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(Dele= gationServlet.java:68)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.Ap= plicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
= =C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.doFil= ter(ApplicationFilterChain.java:210)
=C2=A0=C2=A0=C2=A0 at org.wso2.carb= on.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61= )
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.= internalDoFilter(ApplicationFilterChain.java:243)
=C2=A0=C2=A0=C2=A0 at = org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC= hain.java:210)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardWr= apperValve.invoke(StandardWrapperValve.java:222)
=C2=A0=C2=A0=C2=A0 at o= rg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja= va:123)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.authenticator.Authenti= catorBase.invoke(AuthenticatorBase.java:472)
=C2=A0=C2=A0=C2=A0 at org.a= pache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)=C2=A0=C2=A0=C2=A0 at org.apache.catalina.valves.ErrorReportValve.invoke(E= rrorReportValve.java:99)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ex= t.valves.CompositeValve.continueInvocation(CompositeValve.java:178)
=C2= =A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.in= voke(CarbonTomcatValve.java:47)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.we= bapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
=C2= =A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.i= nvokeValves(TomcatValveContainer.java:47)
=C2=A0=C2=A0=C2=A0 at org.wso2= .carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadD= etectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
=C2=A0=C2= =A0=C2=A0 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv= e.java:936)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.Carb= onContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
=C2=A0= =C2=A0=C2=A0 at org.apache.catalina.core.StandardEngineValve.invoke(Standar= dEngineValve.java:118)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.connect= or.CoyoteAdapter.service(CoyoteAdapter.java:407)
=C2=A0=C2=A0=C2=A0 at o= rg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce= ssor.java:1004)
=C2=A0=C2=A0=C2=A0 at org.apache.coyote.AbstractProtocol= $AbstractConnectionHandler.process(AbstractProtocol.java:589)
=C2=A0=C2= =A0=C2=A0 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Nio= Endpoint.java:1653)
=C2=A0=C2=A0=C2=A0 at java.util.concurrent.ThreadPoo= lExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
=C2=A0=C2=A0=C2=A0= at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.j= ava:918)
=C2=A0=C2=A0=C2=A0 at java.lang.Thread.run(Thread.java:662)
= Caused by: org.apache.axis2.AxisFault: Error when reading the application i= nformation from the persistence store.
=C2=A0=C2=A0=C2=A0 at org.apache.= axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
=C2= =A0=C2=A0=C2=A0 at org.apache.axis2.description.RobustOutOnlyAxisOperation$= RobustOutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java= :91)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.description.OutInAxisOperati= onClient.send(OutInAxisOperation.java:445)
=C2=A0=C2=A0=C2=A0 at org.apa= che.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperati= on.java:225)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.client.OperationClie= nt.execute(OperationClient.java:149)
=C2=A0=C2=A0=C2=A0 at org.wso2.carb= on.identity.oauth.stub.OAuthAdminServiceStub.registerOAuthApplicationData(O= AuthAdminServiceStub.java:323)
=C2=A0=C2=A0=C2=A0 at org.apache.stratos.= autoscaler.client.oAuthAdminServiceClient.registerOauthApplication(oAuthAdm= inServiceClient.java:97)
=C2=A0=C2=A0=C2=A0 at org.apache.stratos.autosc= aler.applications.parser.DefaultApplicationParser.createToken(DefaultApplic= ationParser.java:712)
=C2=A0=C2=A0=C2=A0 ... 46 more
[2014-12-30 09:0= 2:14,521] ERROR {org.apache.stratos.rest.endpoint.handlers.CustomExceptionM= apper} -=C2=A0 Error while fulfilling the request
org.apache.stratos.res= t.endpoint.exception.RestAPIException
=C2=A0=C2=A0=C2=A0 at org.apache.s= tratos.rest.endpoint.api.StratosApiV41Utils.addApplication(StratosApiV41Uti= ls.java:974)
=C2=A0=C2=A0=C2=A0 at org.apache.stratos.rest.endpoint.api.= StratosApiV41.addApplication(StratosApiV41.java:354)
=C2=A0=C2=A0=C2=A0 = at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
=C2=A0=C2= =A0=C2=A0 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39)
=C2=A0=C2=A0=C2=A0 at sun.reflect.DelegatingMethodAccess= orImpl.invoke(DelegatingMethodAccessorImpl.java:25)
=C2=A0=C2=A0=C2=A0 a= t java.lang.reflect.Method.invoke(Method.java:597)
=C2=A0=C2=A0=C2=A0 at= org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractI= nvoker.java:180)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.service.invoker.Ab= stractInvoker.invoke(AbstractInvoker.java:96)
=C2=A0=C2=A0=C2=A0 at org.= apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194)
=C2=A0=C2=A0= =C2=A0 at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)=C2=A0=C2=A0=C2=A0 at org.apache.cxf.interceptor.ServiceInvokerIntercepto= r$1.run(ServiceInvokerInterceptor.java:57)
=C2=A0=C2=A0=C2=A0 at org.apa= che.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerI= nterceptor.java:93)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.phase.PhaseInte= rceptorChain.doIntercept(PhaseInterceptorChain.java:271)
=C2=A0=C2=A0=C2= =A0 at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInit= iationObserver.java:121)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.transport.= http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
= =C2=A0=C2=A0=C2=A0 at org.apache.cxf.transport.servlet.ServletController.in= vokeDestination(ServletController.java:223)
=C2=A0=C2=A0=C2=A0 at org.ap= ache.cxf.transport.servlet.ServletController.invoke(ServletController.java:= 203)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.transport.servlet.ServletContr= oller.invoke(ServletController.java:137)
=C2=A0=C2=A0=C2=A0 at org.apach= e.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java= :159)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.transport.servlet.AbstractHTT= PServlet.handleRequest(AbstractHTTPServlet.java:286)
=C2=A0=C2=A0=C2=A0 = at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTP= Servlet.java:206)
=C2=A0=C2=A0=C2=A0 at javax.servlet.http.HttpServlet.s= ervice(HttpServlet.java:755)
=C2=A0=C2=A0=C2=A0 at org.apache.cxf.transp= ort.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
= =C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.ApplicationFilterChain.inter= nalDoFilter(ApplicationFilterChain.java:305)
=C2=A0=C2=A0=C2=A0 at org.a= pache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.= java:210)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.core.StandardWrapper= Valve.invoke(StandardWrapperValve.java:222)
=C2=A0=C2=A0=C2=A0 at org.ap= ache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:12= 3)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.authenticator.Authenticator= Base.invoke(AuthenticatorBase.java:472)
=C2=A0=C2=A0=C2=A0 at org.apache= .catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
=C2= =A0=C2=A0=C2=A0 at org.apache.catalina.valves.ErrorReportValve.invoke(Error= ReportValve.java:99)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.va= lves.CompositeValve.continueInvocation(CompositeValve.java:178)
=C2=A0= =C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invok= e(CarbonTomcatValve.java:47)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.webap= p.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)
=C2=A0= =C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invo= keValves(TomcatValveContainer.java:47)
=C2=A0=C2=A0=C2=A0 at org.wso2.ca= rbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)
= =C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDe= tectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)
=C2=A0=C2= =A0=C2=A0 at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv= e.java:936)
=C2=A0=C2=A0=C2=A0 at org.wso2.carbon.tomcat.ext.valves.Carb= onContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)
=C2=A0= =C2=A0=C2=A0 at org.apache.catalina.core.StandardEngineValve.invoke(Standar= dEngineValve.java:118)
=C2=A0=C2=A0=C2=A0 at org.apache.catalina.connect= or.CoyoteAdapter.service(CoyoteAdapter.java:407)
=C2=A0=C2=A0=C2=A0 at o= rg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Proce= ssor.java:1004)
=C2=A0=C2=A0=C2=A0 at org.apache.coyote.AbstractProtocol= $AbstractConnectionHandler.process(AbstractProtocol.java:589)
=C2=A0=C2= =A0=C2=A0 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(Nio= Endpoint.java:1653)
=C2=A0=C2=A0=C2=A0 at java.util.concurrent.ThreadPoo= lExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
=C2=A0=C2=A0=C2=A0= at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.j= ava:918)
=C2=A0=C2=A0=C2=A0 at java.lang.Thread.run(Thread.java:662)
= Caused by: org.apache.axis2.AxisFault: org.apache.axis2.AxisFault: Error wh= en reading the application information from the persistence store.
=C2= =A0=C2=A0=C2=A0 at org.apache.axis2.util.Utils.getInboundFaultFromMessageCo= ntext(Utils.java:531)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.description= .RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.handleResponse(Rob= ustOutOnlyAxisOperation.java:91)
=C2=A0=C2=A0=C2=A0 at org.apache.axis2.= description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
= =C2=A0=C2=A0=C2=A0 at org.apache.axis2.description.OutInAxisOperationClient= .executeImpl(OutInAxisOperation.java:225)
=C2=A0=C2=A0=C2=A0 at org.apac= he.axis2.client.OperationClient.execute(OperationClient.java:149)
=C2=A0= =C2=A0=C2=A0 at org.apache.stratos.autoscaler.stub.AutoScalerServiceStub.ad= dApplication(AutoScalerServiceStub.java:3223)
=C2=A0=C2=A0=C2=A0 at org.= apache.stratos.manager.client.AutoscalerServiceClient.addApplication(Autosc= alerServiceClient.java:122)
=C2=A0=C2=A0=C2=A0 at org.apache.stratos.res= t.endpoint.api.StratosApiV41Utils.addApplication(StratosApiV41Utils.java:97= 0)
=C2=A0=C2=A0=C2=A0 ...

Any idea?

Thanks.

On Mon= , Dec 29, 2014 at 4:06 PM, Imesh Gunaratne <imesh@apache.org>= wrote:
I did an improve= ment 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 time= out can be configured using the system property: stratos.pod.activation.tim= eout.

Once pod changes to Running state, IP addresses wi= ll be updated as follows:
- Member's default private IP: Pod&= #39;s IP address
- Member's default public IP: Pod's host= IP address

A sample log:

<= div>[2014-12-29 15:43:02,419] =C2=A0INFO Starting container: [cartridge-typ= e] php
[2014-12-29 15:43:02,454] =C2=A0INFO Creating replication = controller: [replication-controller-id] php-php-domainfc7e626a-e1e0-456d-85= 28-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] =C2=A0INFO Replication controller create= d successfully: [replication-controller-id] php-php-domainfc7e626a-e1e0-456= d-8528-744f256c1f7a [name] php-php-domainfc7e626a-e1e0-456d-8528-744f256c1f= 7a [docker-image] stratos/php:4.1.0-alpha [container-port] [80] [replicas] = 1
[2014-12-29 15:43:02,560] =C2=A0INFO 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] =C2=A0INFO Service created successfully: [service-id] php= -php-domain-http-80 [service-name] php-php-domain-http-80 [service-port] 45= 00 [container-port] 80, [public-ip] 172.17.8.100
[2014-12-29 15:4= 3:07,412] =C2=A0INFO Waiting pod status to be changed to running: [m= ember-id] php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [pod-id] 440b7= 235-8f43-11e4-b193-080027f35f1b [current-pod-status] waiting
[201= 4-12-29 15:43:18,459] =C2=A0INFO Waiting pod status to be changed to run= ning: [member-id] php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [p= od-id] 440b7235-8f43-11e4-b193-080027f35f1b [current-pod-status] waiting
[2014-12-29 15:43:29,509] =C2=A0INFO Pod status changed to runni= ng: [member-id] php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [pod= -id] 440b7235-8f43-11e4-b193-080027f35f1b
[2014-12-29 15:43:33,59= 5] =C2=A0INFO Instance started successfully: [cartridge-type] php [cluster-= id] php.php.domain [instance-id] 440b7235-8f43-11e4-b193-080027f35f1b [defa= ult-private-ip] 10.100.37.4 [default-public-ip] 172.17.8.100
[201= 4-12-29 15:43:33,601] =C2=A0INFO Publishing instance spawned event: [servic= e-name] php [cluster-id] php.php.domain [cluster-instance-id] single-cartri= dge-app-1 [member-id] php.php.domainfc7e626a-e1e0-456d-8528-744f256c1f7a [i= nstance-id] 440b7235-8f43-11e4-b193-080027f35f1b [network-partition-id] net= work-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!=C2=A0
After the application becomes active I c= an see that Autoscaler is detecting a fauly member:

[2014-12-28 19:12:14,016] =C2=A0INFO {org.apache.stratos.cep.extension.Fau= ltHandlingWindowProcessor} - =C2=A0Faulty member detected [member-id] php.p= hp.domaincc7fb2e4-ea96-4b70-8706-353e4225f170 with [last time-stamp] 141977= 4066943 [time-out] 60000 milliseconds
[2014-12-28 19:12:14,025] = =C2=A0INFO {org.apache.stratos.cep.extension.FaultHandlingWindowProcessor} = - =C2=A0Publishing member fault event for [member-id] php.php.domaincc7fb2e= 4-ea96-4b70-8706-353e4225f170
[2014-12-28 19:12:14,036] =C2=A0INF= O {org.apache.stratos.autoscaler.status.processor.cluster.ClusterStatusInac= tiveProcessor} - =C2=A0Publishing 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@ap= ache.org> wrote:
Hi All,

After fixing the above issue, the appli= cation is getting active! :-) I used a single cartridge application for thi= s test. Now we can create a more complex application and see how it works.<= /div>

I have written a small guide on describing all ste= ps for trying out Kubernetes workflow, please try out:

=
Thanks

On Fri, Dec 26, 2014 at 5:25 PM, Imesh Gunaratne <imesh@ap= ache.org> wrote:
I think it should be as follows:

Member private IP = =3D> container IP
Member default private IP =3D> container = IP
Member public IPs =3D > service proxy IPs
Member = default public IP =3D> kubernetes master/host IP

If public IP assignment is not enabled service proxies are not crea= ted, I can recall that Lakmal suggested this.

Than= ks

On Fri, Dec 26, 2014 at 5:10 PM, Imesh Gunaratne &= lt;imesh@apache.org> wrote:
I f= ixed the above issue by setting the private and public IPs to Kubernetes Ma= ster IP, we will need to review few things here:
- Private IP address o= f 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)<= /div>
- Which means there will be a private IP for each transport
=

Will discuss this and see how we can resolve this probl= em later on. For the moment setting the Kubernetes Master IP is sufficient = IMO.

After fixing the above issue, now I see the b= elow error:=C2=A0

[2014-12-26 17:05:30,547] E= RROR {org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopol= ogyEventReceiver} - =C2=A0Error processing event null
java.lang.N= ullPointerException
= at org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor.getClusterI= nstanceContext(ClusterMonitor.java:1116)
at org.apache.stratos.autoscaler.monitor.cluster.Clust= erMonitor.handleMemberActivatedEvent(ClusterMonitor.java:875)
at org.apache.stratos.autoscaler.= event.receiver.topology.AutoscalerTopologyEventReceiver$12.onEvent(Autoscal= erTopologyEventReceiver.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, Rajk= umar Rajaratnam <rajkumarr@wso2.com> wrote:


On Fri, Dec 26, 2014 at 4:34 PM, Imesh Gun= aratne <imesh@apache.org> wrote:
Hi Lakmal,

I a= dded these to Kubernetes Cluster definition for the time being since I'= m finding/fixing many issues in agent and docker base image, will discuss a= nd move them to a proper location later on. WDYT?

=
{
=C2=A0 =C2=A0 =C2=A0 "clusterId": "kubernet= es-cluster-1",
=C2=A0 =C2=A0 =C2=A0 "description":= "Kubernetes CoreOS cluster",
=C2=A0 =C2=A0 =C2= =A0 ...
=C2=A0 =C2=A0 "property":[
=C2= =A0 =C2=A0 =C2=A0 =C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quo= t;name":"payload_parameter.MB_IP",
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "value":"192.168.59.3"
= =C2=A0 =C2=A0 =C2=A0 =C2=A0},
=C2=A0 =C2=A0 =C2=A0 =C2=A0{
<= div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "name":"payload_param= eter.MB_PORT",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "valu= e":"1883"
=C2=A0 =C2=A0 =C2=A0 =C2=A0},
= =C2=A0 =C2=A0 =C2=A0 =C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &= quot;name":"payload_parameter.CEP_IP",
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 "value":"192.168.59.3"
=C2=A0 =C2=A0 =C2=A0 =C2=A0},
=C2=A0 =C2=A0 =C2=A0 =C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "name":"payload_pa= rameter.CEP_PORT",
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "= value":"7711"
=C2=A0 =C2=A0 =C2=A0 =C2=A0},
<= div>=C2=A0 =C2=A0 =C2=A0 =C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 "name":"payload_parameter.LOG_LEVEL",
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "value":"DEBUG"
=C2=A0 =C2=A0 =C2=A0 =C2=A0}
=C2=A0 =C2=A0 ]
}=

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] =C2=A0INFO {org.apache.stratos.manage= r.listener.InstanceStatusListener} - =C2=A0Instance status message received=
[2014-12-26 16:28:06,218] =C2=A0INFO {org.apache.stratos.manager= .listener.InstanceStatusListener} - =C2=A0Event class name: org.apache.stra= tos.messaging.event.instance.status.InstanceActivatedEvent
[2014-= 12-26 16:28:06,219] =C2=A0INFO {org.apache.stratos.cloud.controller.messagi= ng.topology.TopologyBuilder} - =C2=A0member started event adding status act= ivated
[2014-12-26 16:28:06,225] =C2=A0INFO {org.apache.stratos.c= loud.controller.messaging.publisher.TopologyEventPublisher} - =C2=A0Publish= ing member activated event: [service-name] php [cluster-id] php.php.domain = [cluster-instance-id] single-cartridge-app-1 [member-id] php.php.domaind765= 5e6f-f962-425b-b93b-2bf7333dc37d [network-partition-id] =C2=A0[partition-id= ]
[2014-12-26 16:28:06,244] ERROR {org.apache.stratos.messaging.m= essage.receiver.topology.TopologyEventMessageDelegator} - =C2=A0Failed to r= etrieve 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.m= essaging.message.processor.topology.MemberActivatedMessageProcessor.doProce= ss(MemberActivatedMessageProcessor.java:102)
=

I guess spawned containers doesn't have= IP addresses. How we are getting IP address for a container is like this.<= br>
// PodActivationWatcher.java
String hostIP =3D pod.getCurrentStat= e().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:=
Shal= l we used metadata service to publish all these generic information?
<= div class=3D"gmail_extra">

On Fri, = Dec 26, 2014 at 3:40 PM, Imesh Gunaratne <imesh@apache.org> w= rote:
As I can see in the agent.conf some configuration parameters are missing:<= div>

Th= ese parameters are not sent in Kuberbenetes workflow, we might need to thin= k how to send them. ASFAIK in VM workflow most of these missing parameters = are sent by puppet master.
=E2=80=8B

On Fri, Dec 26, 2014 at 3:1= 8 PM, Imesh Gunaratne <imesh@apache.org> wrote:

<= div class=3D"gmail_quote">On Fri, Dec 26, 2014 at 3:11 PM, Imesh Gunaratne = <imesh@apache.org> wrote:
I fixed the above issue with INTERNAL pa= rameter 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):
=C2=A0 File "/usr/lib/python2.7/logging/_= _init__.py", line 850, in emit
=C2=A0 =C2=A0 msg =3D self.fo= rmat(record)
=C2=A0 File "/usr/lib/python2.7/logging/__init_= _.py", line 723, in format
=C2=A0 =C2=A0 return fmt.format(r= ecord)
=C2=A0 File "/usr/lib/python2.7/logging/__init__.py&q= uot;, line 464, in format
=C2=A0 =C2=A0 record.message =3D record= .getMessage()
=C2=A0 File "/usr/lib/python2.7/logging/__init= __.py", line 328, in getMessage
=C2=A0 =C2=A0 msg =3D msg % = self.args
TypeError: not all arguments converted during string fo= rmatting
Logged from file agent.py, line 331
Traceback (most recent call last):
=C2=A0 File "/usr/lib/= python2.7/logging/__init__.py", line 850, in emit
=C2=A0 =C2= =A0 msg =3D self.format(record)
=C2=A0 File "/usr/lib/python= 2.7/logging/__init__.py", line 723, in format
=C2=A0 =C2=A0 = return fmt.format(record)
=C2=A0 File "/usr/lib/python2.7/lo= gging/__init__.py", line 464, in format
=C2=A0 =C2=A0 record= .message =3D record.getMessage()
=C2=A0 File "/usr/lib/pytho= n2.7/logging/__init__.py", line 328, in getMessage
=C2=A0 = =C2=A0 msg =3D msg % self.args
TypeError: not all arguments conve= rted during string formatting
Logged from file agent.py, l= ine 331
Traceback (most recent call last):
=C2=A0= File "/usr/lib/python2.7/logging/__init__.py", line 850, in emit=
=C2=A0 =C2=A0 msg =3D self.format(record)
=C2=A0 File = "/usr/lib/python2.7/logging/__init__.py", line 723, in format
=C2=A0 =C2=A0 return fmt.format(record)
=C2=A0 File "= /usr/lib/python2.7/logging/__init__.py", line 464, in format
=C2=A0 =C2=A0 record.message =3D record.getMessage()
=C2=A0 File= "/usr/lib/python2.7/logging/__init__.py", line 328, in getMessag= e
=C2=A0 =C2=A0 msg =3D msg % self.args
TypeError: not = all arguments converted during string formatting
Logged fr= om 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 parame= ter. 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 i= s the sample launch_params that I have tested.

Thanks,
Gayan


<= div class=3D"gmail_extra">
On Fri, Dec 26, 20= 14 at 2:22 PM, Gayan Gunarathne <gayang@wso2.com> wrote:
Hi Imesh,<= br>

Is that launch_params contains the=C2=A0PROVIDER par= ameter? I guess this comes when the provider is not available in the payloa= d. Seems like we are showing wrong error message.

= Thanks,
Gayan

On Fri, Dec 26, 2014 at 2:05 PM, Imesh Guna= ratne <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__} - =C2=A0INTERNAL payload parameter is not found
[2014-1= 2-26 08:31:17,311] INFO {cartridgeagentconfiguration.py:__init__} - Cartrid= ge agent configuration initialized
Traceback (most recent c= all last):
=C2=A0 File "/usr/lib/python2.7/logging/__= init__.py", line 850, in emit
=C2=A0 =C2=A0 msg =3D self.for= mat(record)
=C2=A0 File "/usr/lib/python2.7/logging/__init__= .py", line 723, in format
=C2=A0 =C2=A0 return fmt.format(re= cord)
=C2=A0 File "/usr/lib/python2.7/logging/__init__.py&qu= ot;, line 464, in format
=C2=A0 =C2=A0 record.message =3D record.= getMessage()
=C2=A0 File "/usr/lib/python2.7/logging/__init_= _.py", line 328, in getMessage
=C2=A0 =C2=A0 msg =3D msg % s= elf.args
TypeError: not all arguments converted during string for= matting

On Fri, Dec 26, 2014 at 1:49 PM, Gayan Gunarathne <gayang@= wso2.com> wrote:
Hi Imesh,

This is happen whe= n=C2=A0CLUSTER_INSTANCE_ID not contain as th= e payload parameter of the cartridge agent.I think we can first check the a= gent payload and see=C2=A0CLUSTER_INS= TANCE_ID is there in the agent payload.

Tha= nks,
Gayan

On Fri, Dec 26, 2014 at 1:39 PM, Imesh Gunaratne <imesh@ap= ache.org> wrote:
I fixed the above issue in cartridge agent and = re-created the base image, now I'm seeing another error:=C2=A0

=
root@e82ebdc6-8cd5-11e4-85d5-080027f35f1b:~# cat /tmp/agent= .screen.log
Traceback (most recent call last):
=
=C2=A0 File "agent.py", line 32, in <module>
=C2=A0 =C2=A0 from modules.extensions import defaultextensionhandler
=
=C2=A0 File "/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNA= PSHOT/modules/extensions/defaultextensionhandler.py", line 22, in <= module>
=C2=A0 =C2=A0 from ..util import extensionutils, cartr= idgeagentutils
=C2=A0 File "/mnt/apache-stratos-python-cartr= idge-agent-4.1.0-SNAPSHOT/modules/util/extensionutils.py", line 29, in= <module>
=C2=A0 =C2=A0 cartridge_agent_config =3D cartridg= eagentconfiguration.CartridgeAgentConfiguration()
=C2=A0 File &qu= ot;/mnt/apache-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/config= /cartridgeagentconfiguration.py", line 349, in __init__
=C2= =A0 =C2=A0 CartridgeAgentConfiguration.instance =3D CartridgeAgentConfigura= tion.__CartridgeAgentConfiguration()
=C2=A0 File "/mnt/apach= e-stratos-python-cartridge-agent-4.1.0-SNAPSHOT/modules/config/cartridgeage= ntconfiguration.py", line 226, in __init__
=C2=A0 =C2=A0 rai= se RuntimeError(ex)
RuntimeError: Cannot find the value of requir= ed parameter: 'CLUSTER_INSTANCE_ID'

= I can see CLUSTER_INSTANCE_ID being passed to the container, may be there i= s something wrong in the agent code, will investigate.

=
Thanks

On Fri, Dec 26, 2014 at 2:40 AM, Imesh Gunaratne <imesh@ap= ache.org> wrote:
Hi Devs,

I fixed some of the= issues in Kubernetes Iaas and tested the Kubernetes workflow with sample p= hp docker image. Now replication controllers, services and containers get c= reated without a problem. We can also access the php server in the containe= r.

However I noticed that agent does not send the = instance started event to CEP. Following error was found in agent screen lo= g:

Traceback (most recent call last):
=C2=A0 File "agent.py", line 21, in <module>
= =C2=A0 =C2=A0 from cartridgeagent.cartridgeagent.modules import eventsubscr= iber
ImportError: No module named cartridgeagent.cartridgeagent.m= odules

May be agent was not updated in the p= hp docker image. Will check this tomorrow.

Thanks<= /div>

--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos
=



<= /div>--
<= div>
Gayan Gunarathne
= Technical Lead
= WSO2 Inc. (http://wso2.com)
email=C2=A0 : gayang= @wso2.com=C2=A0 | mobile : +94 766819985
=C2=A0



--
<= div dir=3D"ltr">Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos
=



--
=

Gayan Gunara= thne
Technical Lead
<= /span>
WSO2 Inc. (http://wso= 2.com)
<= span style=3D"font-family:arial,helvetica,sans-serif">email=C2=A0 : gayang@wso2.com=C2=A0 | mobile : +94 766819= 985
=C2=A0




--
=

Gayan Gunara= thne
Technical Lead
<= /span>
WSO2 Inc. (http://wso= 2.com)
<= span style=3D"font-family:arial,helvetica,sans-serif">email=C2=A0 : gayang@wso2.com=C2=A0 | mobile : +94 766819= 985
=C2=A0




-= -
Imesh Gunaratne

Technical Le= ad, WSO2
Committer & PMC Member, Apache Stratos<= /font>



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



<= /div>--
Lakmal Waru= sawithana
Vice President, Apache Stratos
Director - Cloud Archi= tecture; WSO2 Inc.
Mobile : +94714289692



--
<= div dir=3D"ltr">Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos
=



--
Rajkumar Raj= aratnam
Committer & PMC Member, Apache= Stratos
Software Engineer, WSO2

<= /font>
Mobile : +94777568639
= Blog : rajkumarr.com=
=



--
<= div dir=3D"ltr">Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos
=



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
=
Lakmal Warusawithana
Vice President, Apache Strat= os
Director - Cloud Architecture; WSO2 Inc.



-= -
Imesh Gunaratne

Technical Le= ad, WSO2
Committer & PMC Member, Apache Stratos<= /font>



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
=
Software Engineer, WSO2

Mob= ile : +94777568639




--
<= div>
Rajkumar Rajaratnam
=
Committer & PMC Member, Apache Stratos
Software Engineer, WSO2

= Blog : rajkumarr.com



--
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
=
Software Engineer, WSO2

Mob= ile : +94777568639



-= -
Imesh Gunaratne

Technical Le= ad, WSO2
Committer & PMC Member, Apache Stratos<= /font>



--
=
Imesh Gunaratne

Technical Lead, WS= O2
Committer & PMC Member, Apache Stratos=



--
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
=
Software Engineer, WSO2

Mob= ile : +94777568639



--
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
=
Software Engineer, WSO2

Mob= ile : +94777568639



--
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
=
Software Engineer, WSO2

Mob= ile : +94777568639



-= -
Imesh Gunaratne

Technical Le= ad, WSO2
Committer & PMC Member, Apache Stratos<= /font>



--
Rajkumar Rajaratnam
Committer & PMC Member, Apache Stratos
=
Software Engineer, WSO2

Mob= ile : +94777568639



--
Rajkumar Rajaratnam
Committer & PM= C Member, Apache Stratos
Software Engineer, WSO2=

Mobile : +94777568639
=



--
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, A= pache Stratos
--001a1135e806a633d8050b99e717-- --001a1135e806a633e1050b99e718 Content-Type: image/png; name="Screen Shot 2014-12-26 at 3.35.24 PM.png" Content-Disposition: inline; filename="Screen Shot 2014-12-26 at 3.35.24 PM.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_i45e96fl0_14a860f51fe2175d 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 ITyhkyfCi+P1JsomZiYOJ2km5SZNJFskH01e4Lvza1OglM0pHak05Oc7kKaW9k3aZLp1enn6+4zA jAuZwpm8zIFtGtsObJvJcsr6fjt6O3t7zw75HXt3TO6021m1C9oVsatnt+LunN3Te5z31O8l7o3b +3O2XnZR9rt9Qfu6cmRy9uRMfeP8TVOuQC4/d3y/5f7Kb9Hfxnw7eMDwwPEDX/I4ebfy9fJL8j8V sAtufaf/Xel3qwejDg4WmhSePIQ9xDs0dtjmcH2RcFFW0dQRzyNtxYzivOJ3R7ce7S8xKqk8RjyW dmyi1KO047jS8UPHP5VFl42W25e3VEhXHKhYPsE5MXLS9mRzpUxlfuXHUzGn7lc5V7VVq1SXnMae Tj/9vCawpu97s+8baiVr82s/1/HqJup963sbTBsaGqUbC5vgprSmuTNhZ4bOOpztaNZurmqht+Sf A+fSzr34IfyHsfPu53sumF1o/lH5x4pWamteG9S2rW2hPbp9oiOkY7jTrbOny7Kr9Sedn+ouyl8s vyR6qfAy8XLO5dUrWVcWu5O6569yr071bO15dC342r1en97B6+7Xb95wunGtz67vyk2rmxf7Lfo7 b5ndar9tcrttwHig9Wfjn1sHTQbb7pje6RgyH+oa3jB8ecRm5Opdh7s37rneuz26cXR4LGDs/njY +MR9zv3ZB/EPXj9Mf7jyaM9jzOO8J0JPSp5KP63+Rf2XlgmTiUuTDpMDz/yePZpiT738NeXXT9M5 zynPS2bkZhpmDWYvzjnNDb3Y9GL6ZdLLlfncfwj/o+KV2qsff7P9bWAheGH6Nf/16puCtxJv694Z vetZ9F58upSwtLKc917iff0Hsw99H4M+zqxkfMJ9Kv2s/rnri/uXx6sJq6tJLD7rqxVAIQlHRQHw pg4ASgjiHYYQXyWw7tl+9zjQX9zO3/C6r/saJgDU2QIQsAcAD8SjnERSGWEyMq5ZRn9bABsa/pG/ R0qUocF6LTIfsSbvV1ffygCA6wLgM391deXE6upnxD+iHgDQnbzuFdcCizjoUwJr1D+YR/5Pn/ZP OmnAvvTX+NEAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAGdaVRYdFhNTDpjb20uYWRvYmUueG1wAAAA AAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1 LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y Mi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg ICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAg ICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc3NDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAg ICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj43NjI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgog ICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K2BihkwAA QABJREFUeAHsnQncVdP+/1caUUkT6SclTUimDKnErcxkvP9c8zzcMoZokAx5XRKZRRFlyJCQa85Q SEkqKUMipVSEqFR/73XvOnefffY5zz7js895Pt/X63n2Pnuvab/XHtZ3re93rUqdO3fZaDKQBg0a 2FjTpk3NILaiiIAIiIAIiIAIiIAIiIAIRInAJlEqjMoiAiIgAiIgAiIgAiIgAiJQPgSkGJQPd+Uq AiIgAiIgAiIgAiIgApEiIMUgUtWhwoiACIiACIiACIiACIhA+RCQYlA+3JWrCIiACIiACIiACIiA CESKgBSDSFWHCiMCIiACIiACIiACIiAC5UNAikH5cFeuIiACIiACIiACIiACIhApAlIMIlUdKowI iIAIiIAIiIAIiIAIlA8BKQblw125ioAIiIAIiIAIiIAIiECkCEgxiFR1qDAiIAIiIAIiIAIiIAIi UD4EqpRPtmXnuv3225u99torLuDnn39uPv7447hj+lE2gU022cSccMIJcQHXrl1rnnnmmbhj+iEC IiACIiACIiACIlBxCURWMdhzzz3NoEGD4mrm4YcflmIQRyTcj8qVKyewXLVqlRSDcPgUSgREQARE QAREQAQqBIHIKgaO/ty5c82QIUPszyVLlrjD2qZB4M8//zSnnXaajdG8eXPTv3//NGIrqAiIgAiI gAiIgAiIQEUgEHnFgJ7tKVOmVIS6CH2N48ePNzVq1DAXXHCB+fLLL8uMt3HjxhjD3377rczwCiAC IiACIiACIiACIlDxCEReMah4VVL2FW+33XZm0003NdWqVSs7sEKIgAiIgAiIgAiIgAiIQAgCmpUo BCQFEQEREAEREAEREAEREIFSJ1AyIwaNGjUyLVq0MFtttZXBXGbevHlmwYIFBvv6soQ4u+22mw07 ffp0s2LFCtsbv/nmmxtm70llfkOYVq1aGWz3v//+e/PZZ5/Z+EF5Vq1a1TRs2NBs2LDBLF682AYh 7/bt25s//vjDzJw50yxdujQhKnnUqVMndpxZhhDSwtTKK6RL+hIREAEREAEREAEREAERSIdA0SsG nTt3NpdffrltnPsvfPXq1WbgwIHm+eef95+yv6tUqWIGDx5sjjnmmLjz9957r1m5cqXp27evmTRp kjnnnHPizvODRv4ll1xiTj/9dOMa6hzHnn/kyJHm1ltvTVBKWrdubcaNG2d++eUX06lTJ/PAAw9Y pYB4CErIgAEDzLPPPvufA//937NnT9OnT5+4Y/y4//77E4516NDBLF++POG4DoiACIiACIiACIiA CIhAKgJFrxi0adPGKgWzZ8+2Pe7ffPONqVSpkqERfthhh5l//etfpkmTJubOO+9M4DBs2DDTrVs3 2yB/7rnnrCPvzjvvbM4991w74pAQ4b8HsO0fO3asIeyvv/5qiMvoROPGjc3RRx9tzjjjDNOsWTNz 3nnnBSaBIjF8+HA7uvHQQw+Z33//3XTv3t2OeFx//fXmgw8+sKMPLvKnn35qCOfklFNOMSg1OCH7 lQBGHiQiIAIiIAIiIAIiIAIikC6BolcMWPDsuOOOMzSe/TJx4kRD7//ZZ59tRo8ebX7++edYkLZt 21qlALMbzr///vuxczNmzEg5peeZZ55plYKFCxeak08+2XinUaUB/8ILL5gDDjjAdO3a1bz22mux dN0OpkFbbrml6dGjR8xM6b777rPxUGJYjAylxQmKAn9OGEFAMWBkAtOlfAgjIunI+vXrZcKUDjCF FQEREAEREAEREIGIESh6xeDDDz9MivTNN9+0jfatt97a+hC89dZbsbCYACFvv/12nFLAsTFjxljz Iez//YKtvzMtuuaaa+KUAsLiI/D000/bUQPyCFIMCHfHHXfElAJ+r1mzxkyYMMFceOGFdrSBY+Up +Fww8hJWGDH54YcfwgZXOBEQAREQAREQAREQgYgRKHrFwMuTRjtKQP369WN2/85xmB56r+AwjLz+ +uvew3afUYR3333XHHvssQnnMF3abLPNbEOeXvt99903LgyNaRrJCGH5jd+BX3By9gvOy0iQQuIP m+/f69atizFMlRerKqejQKRKS+dEQAREQAREQAREQATKj0BJKAZHHXWU7cXfYYcdkpL0z/m/zTbb 2LDJermXLVsWmBa+A0j16tWtKU9goP8exGSImYP8eeBTgAOyXziOsEZBeQsmWmEE0ydmhJKIgAiI gAiIgAiIgAgUN4GiVwxw8GV2IHrl33nnHYN/ANONYvOO4A/AgmDemYOwn6fXH8F5OEjcSIP/nOvN Z1rQoFmB/OGD0g8zhao/Hf0WAREQAREQAREQAREQgXwSKGrFgEb6RRddZJ1esc1/4403Elideuqp Cccwk0F5qFu3rjU7Sgjw1wG/6ZELs2jRIruLuRG+CBIREAEREAEREAEREAERKAUCRb3yMdOFMhLw xRdfBCoFnNt2220D6+m7776zxxlNCBJMZILE+Q/gx1BetvXOZ8E7ChJU1kIcY60IpkzVNKmFoK08 REAEREAEREAERCB/BIpaMdhiiy0smVq1agU20o888ki7gnEQvilTptjDTBnql9q1axsWTgsSpgfF PwAfA9IvD/nxxx9ttvXq1SuP7OPypCwoZt6pYOMC6IcIiIAIiIAIiIAIiEBREChqxWDevHkWMs6v Xbp0iQPOAmeXXnpp3DHvj1GjRtle7ubNm5urrroqdgr/gyFDhiRVKFAKbr/9dhv+sssuM+3atYvF dTsoDcxohFN0PsSNWrB+AzMjSURABERABERABERABEQgWwJF3aqcNWuWnVa0Y8eO5p577jFMAfrR Rx/ZdQD2339/64jM7EKYHPkFHwNWGR40aJBhvQEa8V999ZVp2bKlwTn40UcfNSeddJI/mv392GOP mU6dOhnyePzxx+06CPPnz7ejFsxahLLAqAOLluVDWESNEY2DDjrIsFYDisLatWttVjhir1q1Kh/Z Kk0REAEREAEREAEREIESJlDUigH1cvnll5sBAwaYQw891Oyxxx72j0YyC5fRoz9ixAhbfc4u31uX Tz31lJ1K9NxzzzWshMwoA8rF8OHDTfv27W3QoNmJcDxmkTNWKKYh3qFDB/vn0mYmohdffDFwjQQX JpstZlBnnHGGOeuss8z2229vr5n1BBD/tKzZ5KO4IiACIiACIiACIiACFYdApc6duySuvhXi+hs0 aGBDTZs2NUTo9IPQ6B48eLBZuXKlHQUgBVYuHjduXGBirBeAWRDOsHPmzDHMPJSOYJKD8uCmOe3b t6857bTTbK//0KFDUyaFI3KLFi2sIzTTmH777bdp558ygyxPcm3Dhg2zqeCXsddee9lRBaf8ZJm8 oouACIiACIiACIiACJQAgUiPGNAzT0P2b3/7m0XtpgoN4r506VLDX6biX1vA+Q588803ZSaJA65z CC4zcDkEYPYkx5Ds4Ro0glIORVOWIiACIiACIiACIiACESEQ2RGDQvA54IADDD4I+Cp45eijj7YO yCga3bt3N25FYm8Y7YuACIiACIiACIiACIhAKRGI9IhBvkHjPNyzZ0/z9ddfG2Y4wjcAk6BddtnF OiDfdNNNUgryXQlKXwREQAREQAREQAREIBIEKrRi8OGHH5o2bdrYWYuYTQhBOfjggw8MSgFrFkhE QAREQAREQAREQAREoCIQqNCmRK6CWUF4yy23NMzsk42fgktPWxEQAREQAREQAREQAREoNgIVesTA VRbOuMuXL3c/tRUBERABERABERABERCBCkegqFc+rnC1pQsWAREQAREQAREQAREQgTwRkGKQJ7BK VgREQAREQAREQAREQASKiYAUg2KqLZVVBERABERABERABERABPJEQIpBnsAqWREQAREQAREQAREQ AREoJgJSDIqptlRWERABERABERABERABEcgTASkGeQKrZEVABERABERABERABESgmAgU/XSlrFRc u3Zts3DhQrNs2bJyY9+8eXO7DgLl+OOPP8qtHMpYBERABERABERABERABDIhUPQjBldffbUZM2aM 6datWybXn7M4Y8eONRMmTDCtWrXKWZpKSAREQAREQAREQAREQAQKRaDoFYNCgVI+IiACIiACIiAC IiACIlDKBIrelCgqlTN69GhTo0YNs3Tp0qgUSeUQAREQAREQAREQAREQgdAEpBiERpU64PDhw1MH 0FkREAEREAEREAEREAERiDCBSCgG9erVi/W2N27c2Oy6665m1qxZ5osvvrDoWrdubdq0aWNmz55t 5s2blxJn3bp1Tfv27c2GDRvMJ598krce/CpVqphatWollGXVqlVm/fr1Ccc5UK1aNdOgQQPz559/ mh9++ME6K++8884Gx+XPP//c/nFOIgIiIAIiIAIiIAIiIAKFJhAJxeDmm282nTp1MqNGjTKnnHKK 2WST/7g+9OvXz2y11VamV69elsvGjRvNlVdeacaPH5/AqVKlSqZv377mtNNOizv31FNPmWuvvdY2 xuNOZPljv/32M/fff39CKieccIJVSBJO/HVgzz33NCNHjrRKwRlnnGEeeeQRg1LkBGXhnHPOMXPn znWHtBUBERABERABERABERCBghCIhGLgrvTEE0+0ykG7du3MHnvsYQYMGGBo8DPrUJMmTUzHjh3N +eefH6gYoFA0bdrUvPTSS2bmzJl2v0ePHub44483W2yxRUy5cHllu128eLF5/PHHY8kcc8wxdkQg diDFzuabb26v89dffzUoLkxv2rVrV8PoAdeKcuFGS1Iko1MiIAIiIAIiIAI5JnDUUUfZEf2wyc6Y McN89dVXYYMrnAhEmkCkFIO7777b3HPPPRbY1KlT7foE9957r7ntttvssUmTJplmzZqZhg0bJpgI oRTceOON5uGHH44BR0lgFKJ79+5mp512sqZIsZNZ7mDSNHDgwFgqhxxySGjFoGbNmnbUAEXop59+ smmMGDHC8LfPPvvYUYMrrrgilrZ/B2UJsyQEs6Ww5keZxnP5Zxq/1ONVFD4V5TozvV8rCh9dZzhz z0zvo2KJV8r3weDBg0316tXdJZa5HTRokFUMsHaoXLlymeG9AdatW+f9qX0RKHcCkVIM5s+fHwPy 9ddfG0YOsL13wrGtt97amt/4Z//BDIeZgbzywQcfmMmTJ9uRBkYUMEOKijz44IMxpYAy8XJAMUIx OOywwwzmVcuXLw8sLr4N+FwgK1euLNPvwiWSabxs42eab7HEqyh8Ksp1ZnrfVRQ+us7Ufm7iU/x8 xo0bZ/AjDCtuhJ/2ybbbbhs2mu3UmzZtWujwCigChSAQ/s4vQGlWr14dy+X333+3+95jbkVhetz9 wmgCDsd+efPNN61iwArJUZI33ngjoTgoMlzvZpttZh2SkykGCRF1QAREQAREQAREICcErrvuuozS SWcEPx3FI6PCKJIIZEggUorBmjVrYpfh9t2WE2vXrrXnaTj7xT+C4M4vW7bM7m6zzTbuULlvGR2g pz9IfvzxR+tP0ahRo6DTOiYCIiACIiACIhBBAlgu8FeWYHLE7IkSEYgigUgpBsw65MTtuy3H3YgA Nph+YZrQIHHHcUAmnje9oPCFOPbLL78kzcaV1ztbkT8wIycLFy60h90oij9M0O9M47m0Mo1f6vEq Cp+Kcp2Z3q8VhY+u0xFIvc30PiqWeO7qi6W8mZbTXae2IlBRCERKMcgGep06dQKju+P0xEdBKaCQ tWvXDiwrB115U5kRMXLCrEjpSqbxXD6Zxi/1eBWFT0W5zkzv14rCR9fpCKTeZnofFUs8d/XFUt50 yvniiy/GJvhw15lqe8cdd5gJEyakCqJzIlA0BEpGMUhmesM6CEiqhvRdd91l7fpdrfXv39989913 7mfOt9gWBs2sxPBi/fr1bX6LFi3Keb5KUAREQAREQAREIDUBHIjTmZWICQvSETop6fxLthhqOmkp rAjkmkDJKAZdunQxVatWtbP7eCF169bN/vz000+9h+P2995777hVjFlnIN/CFKqPPvpoXDYs8laj Rg3rS/Hll1/GndMPERABERABERCB/BPg+xxkspws559//jnZqcDjKAZuJqPAADooAuVIoGQUgy23 3NIuYjZ06NAYzoMPPtiuNoxW7l3fIBagHHfOPPNMw8xE33//vS0FMy317t3b7j/33HNJnZPLscjK WgREQAREQARKnsCSJUtK/hp1gSKQjEDJKAaMCJx77rl2xWS38vH+++9vr5vVhJ2zbjIQ6RxnFeY+ ffrERXEzJV122WXG23vAImsTJ06MC4uDMYuSPf300+att96yKx8zWsDw5YoVK8x9990XF14/REAE REAEREAEREAERCDfBEpGMXjmmWdsA5xe9z333NNyw9nozjvvtAuH5RIkMxwx1BgkmCV5xbtAmzvO Gg2nnnqqXen4mGOOcYfN3LlzzYUXXphX/4ZYZtoRAREQAREQAREQAREQAQ+BSp07d/nfHKGeE2Xt NmjQwAaZNm1qWUELeh4/g7Zt21pfAxraUVpuvEOHDmbkyJF2nuPOnTtbLjhN77DDDnaF52RrMRQU oDITAREQAREQAREQARGokARKZsTA1R6KwPTp093PyG+ZLSnVjEmRvwAVUAREQAREQAREQAREoCQI bFISV6GLEAEREAEREAEREAEREAERyIqAFIOs8CmyCIiACIiACIiACIiACJQGASkGBa7HDRs2RGYF 5gJfurITAREQAREQAREQARGIMIGS8zGIMGszefJk06ZNmygXUWUTAREQAREQAREQARGooAQ0YlBB K16XLQIiIAIiIAIiIAIiIAJeAlIMvDS0LwIiIAIiIAIiIAIiIAIVlIAUgwpa8bpsERABERABERAB ERABEfASkGLgpaF9ERABERABERABERABEaigBKQYVNCK12WLgAiIgAiIgAiIgAiIgJeAFAMvDe2L gAiIgAiIgAiIgAiIQAUlIMWggla8LlsEREAEREAEREAEREAEvASKfh2DFi1amNq1a5uFCxeaZcuW ea9N+yIgAiIgAiIgAiIgAiIgAiEJFP2IwdVXX23GjBljunXrFvKSFUwEREAEREAEREAEREAERMBP oOgVA/8F6XdyAscff7z597//ba699trkgXRGBERABERABERABESgQhKQYlCBqh2Tq6ZNm5qGDRtW oKvWpYqACIiACIiACIiACIQhIMUgDCWFEQEREAEREAEREAEREIESJxAJ5+N69eqZGjVqmKVLl5rG jRubXXfd1cyaNct88cUXFn/r1q1NmzZtzOzZs828efNSVkndunVN+/btzYYNG8wnn3xi00wZIYOT 9evXN9WrVzcrV640q1evNg0aNLB5rlmzxub5448/lpkq19uyZUuD8/Ty5cvN3LlzzZIlS8qM5/L+ 6aefzG+//WbDMwKwzz77mHXr1pmPP/44Lp1GjRqZTTb5j/63xRZb2PCbbrqp5ezNjLRIUyICIiAC IiACIiACIlAxCURCMbj55ptNp06dzKhRo8wpp5wSa8j269fPbLXVVqZXr162djZu3GiuvPJKM378 +ITaqlSpkunbt6857bTT4s499dRT1qb+zz//jDuezY/hw4eb3Xff3VA+lJaTTjopLrnRo0ebG2+8 0SoncSf+++O4444z/fv3t8qQ9/ykSZPs9aFwJJNhw4ZZJWTgwIFm8uTJhrJQBidc56BBg8yTTz5p D7388ssJ+XTo0MG88cYbLordjh07Vr4HcUT0QwREQAREQAREQAQqFoFIKAYO+YknnmiVg3bt2pk9 9tjDDBgwwNDgZ9ahJk2amI4dO5rzzz8/UDFAocB+/qWXXjIzZ860+z169DA43NJT7pQLl1cutmed dZbZbrvtzIsvvmg+/fRTs/322xvyPPnkk83mm29uFRV/PhdeeKHp3bu3Pfzqq6+aadOmWeXnsMMO M/vvv7959tlnDftuNMAf3/2m1//OO+802267rZkyZYr55ptvrO/AnnvuaVm5cA8//LCpWrWq/dm2 bVurVDC162uvveaC2C0jDRIREAEREAERqOgEjjrqKFO5cuXQGGbMmGG++uqr0OEVUASiTCBSisHd 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 MIMNowJcFyvzemXu3Ll2KfN0Pfa9aeRqH/b0PjBsx3XxBxseRpQuFhlBnN2dN1/i8cDChaFRhEY4 LybqL5ligIKGQoE/BKsK83JCmEqWVaF5+eRSMSDtTOsEk6mZM2faF1JQTwyrNiab9jYX9x5ll4iA CIiACESbANOhM7sPjVMa7q4D0O+HR7uDxTL5TrpZErky2gNPP/20YX2FoEYvYZj0g4W9mCWPthOL hboFQ/lG0/DH+dYrKB6Mzl9zzTW2U8tNo85Um0w+8uuvv1rFIOgb703H7Ydps7mwmWxRnpjcg5Wp +eZ620+M7jDKQZssSHLxzU23vRdUjmI4Vqlz5y4bMymoc/6YNu0/Jj+ZpBGVOCgdaOXY3HNz0bvt puvKZxmxI0SZQOGhEc2oiLNhy2e+6aaNszSNdIZL8QMIMo1JlibXSM86ygAN6XQUHl6aDKGi0CWb ZSBZvpkez6RO6MlBgeGZgBH1GLQSclCZyuveCyqLjomACIiACESDAG0SrAhoG9Bh5iwRwpaOdgXf bdoyjGanalvQiUlbhG8939swc/CHLUe+wtFBSPuAzmFMosK2EfTNLbtGpBiUzUghREAEREAEREAE REAERKDkCUTW+bjkyesCRUAEREAEREAEREAERCBCBKQYRKgyVBQREAEREAEREAEREAERKC8CUgzK i7zyFQEREAEREAEREAEREIEIEZBiEKHKUFFEQAREQAREQAREQAREoLwISDEoL/LKVwREQAREQARE QAREQAQiRECKQYQqQ0URAREQAREQAREQAREQgfIiIMWgvMgrXxEQAREQAREQAREQARGIEAEpBhGq DBVFBERABERABERABERABMqLgBSD8iKvfEVABERABERABERABEQgQgSkGESoMlQUERABERABERAB ERABESgvAlIMyou88hUBERABERABERABERCBCBGoEqGyZFSU5s2bmzp16phvv/3WLF26NKM0chGJ clSuXNksXLjQ/PHHH2knudVWW5lGjRrZNNavX29mzJiRdhqKkBsC3E8NGzY0v/32m1m0aFFuEi2x VLK930sMhy5HBERABERABEqCQNGPGFx55ZVmzJgx5pBDDinXChk7dqyZMGGCadWqVVrl6N69u3n7 7bft3xNPPGGvZdSoUWmlocC5JXDEEUfYuhw0aFBuEy6h1DK930sIgS5FBERABERABEqOQCRHDMaP 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 DLLjp9giIAIiIAIiIAIiIAIiUBIEpBiURDXqIkRABERABERABERABEQgOwJSDLLjp9giIAIiIAIi IAIiIAIiUBIEpBiURDXqIkRABERABERABERABEQgOwJSDLLjp9giIAIiIAIiIAIiIAIiUBIEqhT7 VTRv3tzUqVPHfPvtt2bp0qXldjmUo3LlymbhwoXmjz/+SLscW221lWnUqJFNY/369WbGjBlpp6EI IpApgYYNG5ptt93W/PTTT+bLL7/MNJky4/Gsktdvv/1mFi1aVGZ4BRCBVATatWtnqlSpYj777DOz evXqVEF1TgSKmoDe0UVdfUVV+KIfMbjyyivNmDFjzCGHHFKu4MeOHWsmTJhgWrVqlVY5unfvbt5+ +23798QTT9hrGTVqVFppKLAIZEvg0EMPtfcez1M+5YgjjrDPyaBBg/KZjdKuIAQeeughe9/SMSMR gVImoHd0KddutK4tkiMG48ePNzVq1DAXXHBBXnsvy7sqmjZtaoYOHWqqVq1qFixYYN5//3072rB2 7dqURasofFJC0EkREAEREAEREAEREIGcEoikYrDddtuZTTfd1FSrVi2nF5vPxEaPHm2VmXTMmXr0 6GGVgunTp5uePXuGLl4x8gl9cQpY0gTmzJljRowYYRXhkr5QXZwIiIAIFCEBvaOLsNJyXORIKgY5 vsaCJDd8+PC088GmG2GkQCICFYHAtGnTDH8SERABERCB6BHQOzp6dVLoEkVCMdh8882tA7G7+E02 +Y/rA842q1atcoftdvHixWbDhg1xx7w/MMtp27atadasmfniiy/MrFmzDM68yYRRiQYNGtgwS5Ys scFwIt51113N9ttvb52Jp06dmpAnDm+1atVKSJbyJsuPsnFNTsjXSePGjd2uzYvrdJJLPi7NdLct WrQwmD5RZhxUcRz99NNPE7gEpYsC1KZNGzsKNHfuXGse9ueffwYFjR2rX7++qV69us0LR1UEdvvs s49Zt26d+fjjj42rL8pEPVIuFzaWkGdnm222MZUqVTLLli0zycy18l1WT3Gy2sVRnTrBaZ1rnjdv nu2FL4srmcIRp02es48++sgsX748aVnq1asXGwnjHuW54Jni2UJat25t63b27Nm2DEEJ1axZ046M ec/BP1Vd1a1b194vrk7Tfa69eYXZd+8B+P3www92EoCdd97ZYLv++eef27+y2GZTJzDiveW9R+m5 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 x493YZ+Dcuq2ssOHD/cmToMHD3YjR470vg2rrbaaZ5qbq01ruxpHhB+ECZZLES6aA9O4ccGcszkd wiDLup999llF24/rF+kt7TkohIWuCQEhIASEgBAQAvWPQE2vGKSBF6YVs5dKEm028rbmbNRlm3VV ElfawnnZHJgr3Xap7TX6c1AqHsovBISAEBACQkAI1BcCNet8XF8wqrdCQAgIASEgBISAEBACQqC+ EZBgUN/3T70XAkJACAgBISAEhIAQEAKZICDBIAWMONviJCtq2QjoOWjZ91+jFwJCQAgIASHQaAg0 nPNxo90gjUcICAEhIASEgBAQAkJACFQCAa0YVAJltSEEhIAQEAJCQAgIASEgBGocAQkGNX6D1D0h IASEgBAQAkJACAgBIVAJBCQYVAJltSEEhIAQEAJCQAgIASEgBGocAQkGNX6D1D0hIASEgBAQAkJA CAgBIVAJBCQYVAJltSEEhIAQEAJCQAgIASEgBGocAQkGNX6D1D0hIASEgBAQAkJACAgBIVAJBCQY VAJltSEEhIAQEAJCQAgIASEgBGocgZlqpX9zzjmn69y5c5PuvPfee27ixIlN0i1h2WWXda1bt3af fvqpmzx5siU33LGcca666qquTZs2eZj8+eef7umnn85LS3LSvn17N+OMM3q8f/vttyRFqpannvpa NZDUsBAQAkJACAgBISAE/odAzQgGSyyxhLv00kub3JiTTjrJDRs2rEm6JQwaNMitv/767sQTT3Q3 33yzJTfcsZxxHnDAAW6zzTbLw+T777936667bl5akpPhw4e7eeaZx/Xp08e9/vrrSYpULU899bVq IKlhISAEhIAQEAJCQAj8D4GaEQy++OILN3DgwNyN2WeffVyHDh1y5/qRHgEEq8cee8xX0K5dO4eg IBICQkAICAEhIASEgBAQAkEEakYwmDJlihs1alSubz179pRgkEOjvB/PPfdcroI11lijLMHgxhtv dLPNNpv7+uuvc3XW6o966mutYqh+CQEhIASEgBAQAi0HgZoRDFoO5PU90qFDh9bNAOqpr3UDqjoq BISAEBACQkAINCwCDScYzD///G7ttdd2//zzj7eBbw7N9oILLuhmnXVWh53+L7/84h17afP333/3 bX7zzTeRD8xMM83k6B99i8pDndjv4xhM3YWoEuOkffo899xzN+nKjz/+6P7+++8m6VEJrVq1cviQ 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 pHwE2rdv72accUZ/n3777beSK1x44YXdoosu6uv4+++/3WuvvVZyHSrQPAisvvrqbqaZZnLvvPOO ++WXX5qnEdUqBISAEBACQqCFISDBIMUNHzRokFt//fXdiSee6G6++eaSajjggAPcZpttllfm+++/ d+uuu25emk7KR2D48OFunnnmcX369HGvv/564gp79OjhBg8e7BAMjH799VfXsWNHO9Wxyghcc801 bq655nI77rije+ONN6rcGzUvBISAEBACQqAxEJBgUOH7OGzYMPfYY4/5Vtu1a+cQFETRCNx1111u ttlmc/369XMffvhhdKaMU7kn5557rpt55pndhAkT3PPPP+9Ybfjjjz8ybqn86qqBT/m9rv0adtpp J7fvvvu65557zg0ZMqT2O6weCgEhUJMIaC6pyduiThVBQIJBEYCyvgyzYbTGGmtIMDAwIo5LLbWU m3322d0ss8wScbV40o033ugFi6+//rp45v/l2H777b1Q8Morr7idd945cblqZCwXn2r0uR7axEwQ AbFSwmg9YKI+CgEhUDoCmktKx0wlqo+ABIPq3wP1oJkQGDp0aMk1L7HEEr4MKwUiISAEhIAQEAJC QAi0JARqUjCYc8453fLLL+9wHp00aZJ3MPzuu+8i78v888/vtco//PCD+/nnn722FwffpZde2n3w wQfuzTffdDiOxhEmIyuvvLJbbLHF3Nxzz+0++eQT9+677zrs/pMSfVh77bXdP//8423ZS9FQJ20j mK8UfILl0v7GAReHa2zuwfi9997zZjZ//fVXwSrR9ONoDf5ffvmlz4szMLb6yyyzjHcKfumllzxu XGRc8847b67OGWb4b9CshRZayP3444+5dH588cUXuXJ2AWdU7mGYKBv3DHD/qd8o6Bjetm1bS/Zt 0WYUpcXH6mrVqpVDIAHjBRZYwD/z48aNazLmcvGx9ko94qcx66yzup9++snhaxEmnn+w5x0MmlzZ /ec5+eqrr7wT9yqrrOLfa94x/oo9Q9yfFVdc0WPDc/f222/H3stgv0p9r7mH9rwxXojVquAzQBrP P+OMo0q/m3H9ULoQEALVQaDcucTmzaTfTUaZdo4OI8R3iPmWuW/8+PF+1bTYHB2uQ+f1j0BNCQZ8 zA8//HC311575T7SQDxt2jR37bXXunPOOacJI3HGGWe4rl27utNOO83BkHOOXbrRyy+/7A4++GAX JVicd955rkuXLt6J0fLb8dlnn3VHHHFEQQEBhm7gwIFuzz33tGL+OHLkSG+bnPULlQafvI6VeAI2 AwYM8EJauCiRYE444QR39913hy/lzjGVuuGGG9w333zjNthgA3fooYe63XbbLY95J7LTlltu6e8r pjtHHXVUrrz9uOKKK+xn7ojz97fffps75wdtROUt5Hy8wgoruNtuuy2vHk7wa+DPiPEyniCViw91 bbTRRu6UU05xiyyySLBq79cwatQo7+BuF8rFx+op9XjWWWfl3rHrr7++SXEc8BHE+/fv7x555JHc 9U6dOvn3FqFg77339s8Cgo8R6fvvv7//AFla8Ajel1xyiUPwMKIMz1AhSvNeP/DAA3nzBvXzjJk/ kLWHQ/uQIUPsNHes9LuZa1g/hIAQqCkEyp1LSv1uMvi0c7QBhzL17LPP9iaUlsaR7/Nhhx3m3nrr rWCyfjc4AjUjGCAl89FFozh16lR35513eq00GrtevXp5xgLmo2/fvpG3hKg+G264of+QE8IQ++vt ttvOwZwgbBx33HFNyhEd6Pfff3e8yBOmO5oiWCy44IKeUYUpoA84D8WtAOy+++7+RRo9erRDw9tu ul0yNuqUQYJHIMmKysUnTT/QHLByw6TA+FhNQRiCmd566639ZLTkkku6iy66qGj12267rWe0P/ro I/fkk0963KmH1RpWERCiiC5DtBkj8EUTjZNtWAiICj+KRn/EiBFW3PXu3buofwJCS7BNngm0Ji++ +KJfbbLKCCkbpnLxOeigg3LPyNixYx1CLONkpYxnuWfPnnmCQbn4hPtfqXO06Nddd51/rxGauXfd u3f37zpCBYIbq3tBIhwpQiXPPWFiYdCJQsRzh3BCehylea+pE+Ye4iPJCiAfxaCgw7VXX32VQx5V 493M64BOhIAQyBQBeAe+S0mJOYpvG1TOXBJuL8l3M1ym1HO+MyhUmf9YwX/mmWf8qux6663nlW18 U/kWR819pbal/PWBQM0IBvvss49nFPgYoxE00xNghHG799573cYbb+wZivDHmjybbLKJ127fc889 nHriQT755JO9gHD66ac3iXd+6qmneo035gFBgtHlZVhttdV8X1ipiCIEAVYqglpUhASYIEJewvRm JWmXi09U/4ulgV9cOMj777/fXXbZZW6//fZzOPlOmTIltjrMe1hdAG+YvSChMTcznxdeeMHxZ4SG HMGA1SKEvWKEqQntGLESUYiBJB/CxJlnnmlFPFOOYPDoo4/6+5i7EPGjHHwwGzrwwAN9rUzKjDFI rHpxz4NULj7Buir5G4YeTf8uu+ySM8O56qqrHH8I9KwaHH300XldQqjm3iEQIEDZM8Lzw7tZ6L6m ea+JRGUE7ggG77//ft6zYdfDx6zeTYRuGxfjTbriWOlyNv5Kt1vp9lrKONPi2sj4wDdgPpmUCF1u gkE5c0mwvaTfzWCZUn/TxrHHHuuFAvic4Ir7lVde6XkqvvHHH3+8V7RhvQGZEiVpe8xnmFqL6gOB mhAMsCuHOYB4SINCAWlo7G+//Xa/aoCZUZRggDY1KBRQ7o477vCMIi84PgRhrSQrFFHEQ3zLLbd4 wYCVgzjBAGYHpjhIMG+YIaHxRco+5phjgpdT/c4CnzQNozWPo8cff9zfJ0xgWPp84okn4rL6Cfa+ ++5rIhRQoJ43disHH0y0EHp4VsJCAbigVb/44ov52RB09dVX54QCBsQKDGZCCAasAiCc2aoQ/icI jBAO5CYUcM6GgggH7CUSR+W+13H1RqVn+W7ykWYVCsLHCUE3CVW6nPWp0u1Wur2WMs60uDYyPpiX Mj8npTBvkbRcoXzwLc393YTvwlQTviUoFFi/mLf32GMPt9JKK7nOnTv78N1c45uPQJmUsMiAXxLV BwLJn/xmHA8fwznmmMObl/AysoQVJB5AHiyIvJyb5OoTp/8jvGSYYD4wFYF5xXE27uVF+uU6+egH ZLbQ8803X7ja3DkmMVFSMEwzggFa4SwoC3zK7QcMEPhgamVOmrbSUggjaze4qmJpjXQsFR9MZaBS N8irV8zCtvqMg48Rvhu8c5hPmWBg7w0KAZyNw8RqTiHBwPKnfa+tfJJjLbybSfqpPEJACCRH4KST TkqeuRlzNvd3c6211vK9x0w4zHdxAV4LpSv5sICwaH3wVsYHFBo+5lilCBCF6tK1yiFQE4IBvgMQ EnKU9jQIB/bKRJEJS5/hcytjUVTwsg/T4osv7vcRwC/AlvDDeeLSyRfne4BWE2KVIgvKAp+0/cDW Eq1Chw4dYqsohJEV+vjjj+1nQx3T4IP/iQlTTMiNTnxE4qJ8Ibjjp0IkDyN7b+w9snQ7xr13dr3c 99rqSXKs5ruZpH/KIwSEQP0i0NzfTZu/8PPirxBZXvIk9TcIz+2F6te12kGgJgQDtPUQ9t5Ry1lh uHBODlNSe1wrx/IZ2lrahgHBAZnQqKYF5yUIR0eysnYMh9AMp8MARq1uWL6kxyzwSdpWMB+O3jhu szqDyQ8OVkR3MtMObKtx8i6mOYApxMm70SgtPnY/wcO05I2GTXA8hDmNI3uHbIWOfCY0xfmtEBKV vyiBNIv3Oq6vUel2L8uZu6xezMfwsYKinOstX/hY6XLWfqXbrXR7LWWcaXFtKfjYOCt9bO7vJtYZ FvEN88tipovmQ1FpHNRe5RGoCcHg888/9yPHLKdSphUwvHzUiQaz5/Rwo8H463Rmq622Kno3MB+J IktHGxo2eYrKXyytGviADeFFuSeEoYwyBcH2MAmZIJEkb73kKQcfBFAjVr/qXTiIYtBtfBzZ/TOO 7F0JYmArAiYghMsW2g07i/c63F6h8yzfTeYgBIxSqdLlrH+VbrfS7bWUcabFtZHxwba/2Lxm4+d4 4YUXNvFxDF5P8zvL72bUWFCmMtfyDXr99de9T2aafqpM4yFQE4KB+Q9gv56Fhj3JbSIkIUQEISbG MLEEVoyC5g/BvEEtYjA9/BtNDYR5FPbQmFxEUVb44MxqPhS0QwjXiRMnRjXpI0SxEoAWIUoo4BrR e5qTTKgqtiLRnH2Iq5uwumnxYcULoZHnHUfbJBGXovqRFp9SngPaxQ8A4jkNE+9rcIO48HXO0UyR xxh+ywN+YAAZg81vY47tPSItSPi6xFEW73UpuGb1bsaNR+lCQAhUHgG+baVEJcKBO4pKmUuiyidN SztHM38xNxebw5P2I5yPfqH0MV4nfF3ntYlATQgGMEaYG/ByEbeXuPXNTZj5QHYMtofDDDHwi1G3 bt0iGXriqEM47RQiY4aQ5mE04+z2ssKHqALBCSyK0bP+Gi7kjxLWuE9RWggrn8XR7M+DZiZZ1JtF HeXiQ0QjVqUwV0M7lYbS4lPKc0C/zH8nShBkn5AkoesI33vTTTflDZPIQ4RlRTD/8MMPc9dsd2OW uXF6Y1UvSJtvvnnwNO+33Rc7Bi8mfa/BFUry3GX1bgb7qd9CQAhUFwHmK757SSnO7LGUuSRpW1H5 0s7RBIBYZ511PL9D+OgsVynoJ+M3DKL6rbTaRGCGWugWQsEFF1zgu3LkkUc6i9gS7BvS+w477OD3 JAimp/1t9nQ43AQ10jAP7GaM7XwxwtQhvInZFlts4TdV4wUrFlEA+2rrB2Y5pj0Nt1tNfFgVQQAK EhuTsSt0c5NpY9lLoZTQcc3dL+q3+5YWH0Lg4neBhpvnLTw+zG+KRd6pFD42VhjyoLaePkbtVB2F P/4o5lTMdfY2OOSQQ3xWNhIMOiezYoDPD8RzFgwcgO9PoZ2Pra/lvNeGK1E4bAXCdybiXzXezYhu KEkICIEMESBkOvNQ0j/T2Ie7UMpcEi5byrnNe6XO0YQjZazt2rXz35soZR+bnLJPQ/gbVUr/lLe+ EKiJFQMgGzZsmI9d3rVrV7+BEWGx2GAIqR1mAGEBRuTyyy/PBGGcnLt06eL3KhgzZozfGwHNJdpU XhL2JyjEgNAJVgQOOOAAr9W0nY/pP4SvhDkS+oSYf2xDzkZhbMa16aab5jZJgVkKzZPDfAAAQABJ REFURmiqND5vvvmm3wGRsKuXXnqpDwfLzrzcC8aIIzJO26x0NBexsR33iMmOELBMsmb2hS25Oa7S PqZfYSbVzKYQNoMaHTahY4O2cqhcfDDhYmMz9u3Ax4XN+1gxQrtC6M6OHTv6nTfZQC+OSsEnro4k 6WwuCLYIwuwNQphe3kvC26Ex/+yzzwqalXGfsGdlLxL2u2BZmdUCViBwZo96p9njgGePFQneBXbj RJhASMUkiZWsqKX+LN5r3mWeddpmP5N3333X9xOseA7DKx+VfjeT3DPlEQJCoPoIlDqXpO1x2jma qI2DBw92559/vtt11139RrGs0OIHhyKH0NEoAqFTTjklbfdUrs4QqBnBACdXwmKi6YPpY2Mx/oyw y8bkghjmWRAPP9pIGLM2bdrkQnWxJIfTLe0hGJiNYFSbo0aN8gwmmk+YCAjGlZ2TYWySEEwW5iSs PCCZ20sYtq+uND70nU242PEQkxdMOvhjfE899ZSD2WbpESqEkc+Q8t9zzz3nN7Xbd999vS0+7bOi A4U1G5iOsPwbRQh7QYLRy4LKxQfhEQGLXTbRTgdXqbDLDG+eF+5zKfiEy5ZyzsoGuzTjYIctaq9e vTyjT6Sqww47zDPuherj48OKGM9L0ERv/Pjx3rE9ys+FPUf+9a9/+U3eEJQQ1iF2EmcnzoceeihS MMjivaadfv36eaEfwRShkw1+oKi+VuPd9J3RPyEgBGoegVLmkrSDKWeOZh7v2bOnXxVAGbPNNtvk dYN5+uGHH068E3teYZ3UJQKtunTpNi1Nz2GmobFjX0pTvGgZzGqQVjHzYTkPrWScc27RygpkgMHE ARSGB4bRbPUKFGlyCRtrTA7oHy9Rc/Qz3Gil8KFdsIE5Y7kU++9KjC883lo+zwIf2+QLu3Z8T1gd qTWcec55JxHCiGIRt3xu9wrBnlUv3ikYbAjTK/bE4F0LOyNbufARIXm55ZYrqUwW73W4H0nPK/lu Ju2T8gkBIdD4CJQ6R4cRoTz8UNu2bb3TMN8i+QiEUWr885oVDBofeo1QCDQ2AlGCQWOPWKMTAkJA CAgBIVDfCNSE83F9Q6jeCwEhIASEgBAQAkJACAiB+kdAgkH930ONQAgIASEgBISAEBACQkAIlI2A BIOyIVQFQkAIxCGAY25zOafHtal0ISAEhIAQEAJCIB0CNROVKF33VUoICIFaReDZZ591K664Yq12 T/0SAkJACAgBISAEQghoxSAEiE6FgBAQAkJACAgBISAEhEBLRECCQUu86xqzEBACQkAICAEhIASE gBAIISDBIASIToWAEBACQkAICAEhIASEQEtEQIJBS7zrGrMQEAJCQAgIASEgBISAEAghIMEgBIhO hYAQEAJCQAgIASEgBIRAS0RAgkFLvOsasxAQAkJACAgBISAEhIAQCCEgwSAEiE6FgBAQAkJACAgB ISAEhEBLRED7GLTEu15nY27fvr2bccYZ3aeffup+++23Ouu9uisEhIAQEAJCwLmFF17YLbroov57 9vfff7vXXnstE1jmnHNO17lz5yZ1vffee27ixIlN0pUgBAohIMGgEDq6VhMIDB8+3M0zzzyuT58+ 7vXXX6+JPqkTQkAICAEhIASSINCjRw83ePBgLxhY/l9//dV17NjRTss6LrHEEu7SSy9tUsdJJ53k hg0b1iRdCUKgEAISDKajs9NOO7l9993XPffcc27IkCGF8NK1OkDgrrvucrPNNpvr16+f+/DDD+ug x+qiEBACQkAINCIC7dq1c+eee66beeaZ3YQJE9zzzz/vV77/+OOPzIb7xRdfuIEDB+bq22effVyH Dh1y5/ohBEpBQILBdLRat27teHnFRJby6FQu74033ugZ/a+//jpRo0sttZSbffbZ3SyzzJIovzIJ ASEgBISAEGgOBLbffnsvFLzyyitu5513bo4m3JQpU9yoUaNydffs2VOCQQ4N/SgVAQkGpSKm/BVH YOjQoRVvUw0KASEgBISAECgXAcx8IFYKREKgHhCoOcEAx5xll13W2+L9/PPPDucZlt/++uuvSDyx PZ911lndTz/95LDZC9P888/vZpppJvfDDz+44NId7cwww3+DMlEHhJa5bdu2eVXQB8rGEflXWGEF bwNPX99//333+++/x2XPLH2uuebyOOGY+8svv7iPPvrIjR8/vmD9mNcst9xyvty3337r83/55ZeR ZRZYYIGclp4xYgv55ptvug8++MDnZ8wrrriie+utt/w9skpYLl1ooYX8UunUqVPduuuu6x2tXnjh BQeWc889t1tvvfUcjldMlKSFiftFvjD9+OOPvlw4HcereeedN5ds95V+UCZILLn+888/wST9FgJC QAgIASGQCQL2DbTK2rRpYz/z+Au+Q3yPwkT5lVde2S222GL+O/jJJ5+4d999133//ffhrJmew1Os uuqqvt1WrVq5yZMnu7ffftsfizXEN3j55Zd38COTJk1y77zzjvvuu++KFdP1GkWgZgSDLl26uAED BviHK4wVjO8JJ5zg7r777vAld9ZZZ7muXbu60047zV1//fVNrt98881u6aWXdv3793ePPPJI7voD DzzgGd9cwvQf66+/vnvssceCSQ7H1yi/A1527AbXWWedvPwww8cdd5wbPXp0XnpWJ7y82BLuuOOO Tapk8gCnV199tck18tMvhIMgPfnkk+6YY45pMumceeaZbqONNnLXXXed23333XNClDlQHXzwwb6a adOm+fLY9UMrrbSSu/XWWx3Lpkwua6yxhk9HcDnwwAMdZkEw7BCTx3/+858mwsEGG2zgrrjiCp8n +C/O+Zjl2aOOOiqY1f+OqoN7jFAkEgJCQAgIASGQNQIozW677bYm1eLzxp8RfI19Hy3tvPPOc/BC fOfD9Oyzz7ojjjiiybc6nC/NOT6Wffv2baKQ4/s+ZswYh89CFCHEHH744W6vvfbK8Qjko9y1117r zjnnnFilblR9SqsNBGpGMED7jMSJBnrcuHEOKRnGkpds66239gLAkksu6S666KJMkEOI4KGGkJLX XnttHw4zKDxwLYrJnm+++RyMMFp1pOP777/fM5sICd26dXO83AgOUYIKdaYlQp3BdC+yyCJeE/7w ww97bT0rHmgYmFAYS7jPCEWHHHKIb5YyY8eO9Ssy4IpQdccdd3iMo7T3u+yyixcOVl99dbfWWmu5 448/3t8XBC7ux4YbbugZfhMMbGxrrrmmZ/xhzmH+l1lmGS/Yff755+7222/3adxz8LrvvvusmD+i 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 /fbbTWzio8qQxoYgbCgGY4ldXBZLe3FtBdNZLsMkh3ZZCqxkZB9edLBCUGF/gyQ+AqwUgBMrHGgH TJMeHJN+CwEhIASEgBAQApVHAOUVCi14IZRf5kfZ3D1BeIA/wN8RBSehuy1UapK2cUSGt0DwoDzW GmGfxiT1KE/1Eag5waD6kKgHQkAICAEhIASEgBAQAkKg5SFQE87HLQ92jVgICAEhIASEgBAQAkJA CNQWAhIMaut+qDdCQAgIASEgBISAEBACQqAqCEgwqArsalQICAEhIASEgBAQAkJACNQWAhIMaut+ qDdCQAgIASEgBISAEBACQqAqCEgwqArsalQICAEhIASEgBAQAkJACNQWAhIMaut+qDdCQAgIASEg BISAEBACQqAqCEgwqArsalQICAEhIASEgBAQAkJACNQWAhIMaut+qDdCQAgIASEgBISAEBACQqAq CEgwqArsalQICAEhIASEgBAQAkJACNQWAhIMaut+qDdCQAgIASEgBISAEBACQqAqCEgwqArsalQI CAEhIASEgBAQAkJACNQWAjPVVnfUm6wRmGOOOdyKK67o/vrrL/f6669nXX3m9c0555xuhRVWcNOm TXOvvPJK5vWrQiEgBISAEBACQkAICIFoBCQYROPSMKnt27d3N998s/vpp59cp06dan5cyy+/vO/v P//84wWamu+wOigEhIAQEAJCQAgIgQZBQKZE02/kTjvt5B588EE3ZMiQBrmtGkalEbjrrrv8M4Qg JhICQkAICAEhIN5Cz0A9IiDBYPpda926tWvXrp1baKGF6vEeqs81gMBSSy3ln6FZZpmlBnqjLggB ISAEhEC1ERBvUe07oPbTICDBIA1qKiMEhIAQEAJCQAgIASEgBBoMgZrzMVh00UXdsssu6xZeeGH3 888/u/fee89NmDDBO89GYT/PPPO4WWed1dvQ//rrr02yzD///G6mmWZyP/zwg/vjjz9y12lnhhn+ KxdRBzT77LO7tm3b5vLwgz5QNo7Ij7MsddDX999/3/3+++9x2TNLn2uuuTxOmK788ssv7qOPPnLj x49PVD/Yrr322u63335z48aNc19//XXRcjgFY/9Pe5MmTXLvvPOO++6774qWI0OrVq3cEkss4fu7 wAIL+PK0++OPPyYqH8xEP+add16fRL///PPP4GX/u5R7wrPBM4JPwzfffNOkLp4t7i3tfP/997nr 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 e83gnyfEdRZb7O+kTMQGQEj0DRs2lCJ2S1u06SW0AiussIL3sPnuu+8MwcN+hMsQfRJq0KCB7OZd 96+//jK4CvhRUnykrXr16tlgWjBebbXVzCeffGKmT59u+y1l2BLcuPLKK+cOCVb0nzG6RF/pcxrE XDCP33//va/GZNVVVzVgz5y4Llcy/7xMf/rpJwO222+/vfn1119tzMeXX35ZsHuMbdttt7X3xSuv vGK++uqrgnUoEHdOir33pFPM0WabbWYIBGYe33rrLfP111/L6VS3xdzv7v1MLA3zQoA+952fhS3N ew/he4sttrDP9qxZs6xVMOxdgh8w9w7PsLwvSCpAzM9GG21kfYSnTJmSu98pSx33veMH/DrrrGN4 9ubPn59331KW98KWW25pKMM75YMPPjCzZ89WxsAPSD2mCFQ4AggEDz74oEEgeOeddyq8t9o9RaAm AhUjGLRt29aceuqpltHxdhNG79xzzzX333+/91Tu95AhQyzDQbkXXnjBoNHcfPPNc+dhBs477zwz ZswYe+yRRx7J+f1JodatW5unnnpKftotQZYDBw7MO8aPNm3amOuvv77G8bDgY/rj5x+I3z5/Qox3 u+22k592Wyw+NLLzzjubQYMGGXwfXYJJwy0BfIRwberXr5/8zG39xgxuUZnoXEMBO5dccolp166d GTx4sLn11ltrlLrjjjvMhhtuaE444QSrjZECzHezZs1sIDc4H3rooXLKbnF9oU0/AQbGjLGj5XEJ rQ2MXBAlnZNi7z3626dPH6uFEoGNPvJBuuWWW8xll11WUJAOGlPQ8WLud4Q87j3M4wgFQgh255xz jhk3bpwcsts07r2tt97aXHrppdZF0G2crGG9e/c2b775pns4t89zd9tttxkEScbcq1cvc9hhh+Up AWhjzz33tBiffPLJNuEAYzjjjDNy7bg7jRs3Ng888IBVUOy00055gsEVV1xhuI+WX355t4rd5z12 yimnqIBQAxk9oAhULgIoE/v27Vu5HdSeKQIFEKgYwQCtHtpPPthoEtGaoWGDycMEB8O4/vrrm6uv vjp0SGj9KYOmkGBi2kET3KJFC1tfKsN0wmBBMBEwLHzwCQ5yCUuDH6Elv+uuu3KnDjjggIL+9zAb N998c67O7rvvbvv58ssvmxkzZuSOY+HwUrH4nHjiibnApqlTpxrRiKNthlnBR9kVDN544428vh5+ +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 hg4dmlJLld1MXRlnZc9C3eyd3nt1c9511IqAIqAIKALlQ6AiBIPVVlstp21v2LChadq0qZkxY4Z5 9913LRKbb7652WKLLcybb75p3n777UB0qEvZlVZayZZ75513zK+//upbfskllzRrrLGG+euvv8yn n35qy6y55ppm++23t8HD06dPD9X+L7HEEmaFFVao0fZ3331n/vzzzxrHObD22mubxRb723uLPkLL LLOMod8u/fjjj2bBggXuobz9OOOUiksttZRp0KCB7dtnn31mDxMsDdYbbbSRDZqeMmWKxUPqsE0y zmKx5bq0seWWWxoCTmfNmmXeeust2zdwA8MwnKmfhJZffnmz9dZbm3XWWcfUq1fPzJ8/38ycOdNu C7W33HLL2fgS+vvJJ5/Y/n799deh1eLOCfNHHe4N7pEgcvv/22+/+RZbb7317DPF/Qe+WK7++OMP 37JycPXVVzdLL7103vV5hlq1amV+//1389prrxm5t6ROMdsk955gylg+//xzmxBgq622svfR7Nmz DX+FxllMn7WuIqAIKAKKgCKQZQQqQjC4+OKLzc4772xGjBhhDj/88BzzPGDAAAOzftJJJ1mMFy5c aE4//XRz33335WEOw3T55ZebHXbYIe/4Dz/8YM4++2wzYcKEvOP8QIC4++67zffff2+vfcMNN1ih QArCUJ1zzjlm3Lhxcihv26ZNG3P99dfnHePHwQcfbKZNm1bjOAceeeQRKwC5J1u3bm2eeuop95Ah yNIv9iDJOKXh7bbbztx2223myy+/NPS9V69e5rDDDssTbsiotOeee+YxTknGWSy2CCvDhg0zq666 qnTfMnldu3Y1999/v4GBP+igg8wbb7yRO1/sTvfu3U3Pnj3z8KBN7rlJkyaZo48+2vcSCDB9+vQx Rx55ZO6+lXq33HKLueyyy/LwdBuJOycnn3yyvb+4J8844wy3qdx+48aNbRA8jPpOO+1kvIIBgs+l l15q3dhylRbtMPe9e/e2wrd73N0fMmSIfUbOPfdc88ILLxg0+My1EAz3eeedZ8aMGSOHitomufda tGhhwB2h4KijjrL3PIoHIY4fe+yxVhiSY7pVBBQBRUARUAQUgb8RqAjBQCbjkEMOscLBtttua5o3 b24ZczS3d9xxh1l//fUto3PcccflCQarrLKK/c3HH03tww8/bL766isrJLRv395cccUVVlN+6623 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 lddMXRln5SGvPVIEFAFFQBFQBBQBRaC0CKhgkBK+d955p1lppZXMwQcfbKZNm5ZSq5XXTF0ZZ+Uh rz1SBBQBRUARqHQEDjvsMMsLROnn7bffbr799ltbNGk9v+vstNNOBiUedP/995tvvvnGr1iNYywo 2rFjR7PUUktZJefTTz9do4weqH4EVDCopTnu0qWL6d69u5k8ebIZOHBgLfVCL6sIKAKKQHUjoO/a 6p7fShtdt27dzHrrrRepW6NHj86VS1pPGqhXr57p0KGD6dGjh2nSpIkcNi+99FJBwWCttday/AjP Sv369W3dJ554wqhgkIOxTu2oYJDSdCP580B98cUXkVpcccUVTaNGjcycOXMila+UQnHHWSn91n4o AopA3UQgq+/aujlb2R/1rbfearjngmiXXXYxW2+9tZk6daqZP39+rljSejTQunVrc84555gNN9zQ tvfzzz+bZZZZJtd20M4SSyxhzj//fLPvvvuaJZdcMlbdoDb1ePYRUMEgpTkcOnRoSi1VdjN1ZZyV PQvaO0VAEVAEFIFKRADlWRCh1T/ooIPs6XvvvTevWNJ6NNKuXTsrFKCYvPnmm83LL79svO3nXex/ P1BmHnjggWbhwoUGC8Hw4cPNkUceafbee297zK+OHqt+BCpCMFhttdVy2vaGDRuapk2bmhkzZph3 333XzsDmm29utthiC/Pmm2+at99+O3BWqEtZfP0p984775hff/3VtzzS8RprrGH++usv8+mnn9oy a665ptl+++1t8PD06dNDtf9I2iussEKNtr/77jvz559/1jjOgbXXXtssttjfiaDoI4RUT79d+vHH H82CBQvcQ3n7ccYpFfEZbNCgge3bZ599Zg8TLA3WG220kfUnnDJlisVD6rBNMs5iseW6tLHlllta P8lZs2aZt956y/YN3MAwDGfqJ6Hll1/eanLWWWcdwwscbc7MmTPztDpB7S633HJms802s/395JNP bH+//vrroOL2eNw5Yf6ow73BPRJEbv9/++0332KYunmmuP/AF8vVH3/84VtWDq6++upm6aWXzrs+ z1CrVq3M77//bl577TUj95bUSWO76aabWusa42fsH3/8sXnjjTdq3Kt+10oyTtph/qnLtXk/Mae8 E7jvvMQ9CS7ff/+9QVPnpVVXXdU+R/Tdbz7i3gfe9pPce942ovyW+cdf+aeffrLvE96XvGOJq/ry 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 D77eaHpZNx6Gl4BR88Wute4yy/PMpx/u/sR8g7mediYJzmn3rKWfaO6wFOCbzn0RvKo9T+7F82f+ ITYlzb0gra21pNdj7LFELJY0LE9XXXWVjxdgt22EAoTKatiEfeMdAyfGHRY6youEgBAQAkKgORBo K8GgOSBVK7oLASwIAwcO9Ew3QWEiISAE6odALBjU7866kxAQAkJACNQLgZYOPq4XSLpP/RBAW9+3 b99Oq9bgv22Bi8SViISAEBACQkAICAEhIATKRaDlYwzKhUO1NRoBNjsi+JUAUHzMcedBKGAddI4E PsaB2Y1us+4vBISAEBACQkAICIF2QECCQTs8xTbqA6vKELDLMqEEcvNHoCU+3ggE7ELcDMGxbQS5 uiIEMiFAbA/vokgICAEhIATaFwHFGLTvs235nhH8iZWAoNiyA41bHhx1QAgIASEgBISAEBACJSMg i0HJgKq68hBgVZd6ruxSXstVkxAQAkJACAgBISAEWg8BBR+33jNTi4WAEBACQkAICAEhIASEQOkI SDAoHVJVKASEgBAQAkJACAgBISAEWg8BCQat98zUYiEgBISAEBACQkAICAEhUDoCEgxKh1QVCgEh IASEgBAQAkJACAiB1kNAgkHrPTO1WAgIASEgBISAEBACQkAIlI6ABIPSIVWFQkAICAEhIASEgBAQ AkKg9RDQcqUlPbOZZprJjTTSSH6n3p9++qmkWpuvmp7Sz+ZDXi0qA4FJJ53UTTPNNO7rr792b775 ZhlVJtah9yQRFiUKASFQEIF6zV3jjz++414//PCD31i0YHNVrIURkMWgpId3+eWXuxtvvNHNNtts JdXYnNX0lH42J/pqVa0IrLbaau6yyy5z++67b61VVS2v96QqPLooBIRATgTqNXetueaanpc57LDD crZQ2dsFAQkGDXqSffv2dbfffrs79NBDG9QC3VYICAEhIASEgBAQAkJACPwfAbkS/R+Lms4uueQS N/roo7tPP/00Uz3jjjuum3766bvVnSFTQ3JmytvPnNUruxBoCwT0nrTFY1QnhECPQ+Cll15y5513 nnvnnXd6XN/V4b8QkGBQ0kgYMGBASTU1dzU9pZ/N/RTUumZHQO9Jsz8htU8ICIEkBIYOHer4E/Vc BJpCMJhoook6tO1TTTWVm3/++d0LL7zg3njjDf9kZp99djfHHHO4F1980b322mupT4uy5B1vvPF8 vtdff939/PPPiflHGWUUH2Dzxx9/uI8++sjnmWyyydwiiyziCB5+7rnnqmr/Rx55ZDfOOON0qvvb b791v//+e6d0EqaYYgo34oh/eW/RRmiMMcZwtDskgn4IjkyjPP20OkYddVQ3ySST+LZ9/PHHPplg abCeccYZfdD0E0884cAjpCL9rBVb7k8dc801lyOI85VXXnEvv/yybxu4gWE1nMP25zkfe+yx3Tzz zOOmnHJKN8III7jPPvvMoT3h2BWNNdZYPr6E9n744Ye+vV9++WXVYnmfCc+PMowNxkgahe3/5Zdf ErMRgMs7xfgDXwJxf/vtt8S8ljjxxBO70UYbreL+BKktvvji7tdff3VPP/20s7FlZWo98s7MMsss jneTPvP+o8nqqq3cl7bNN998frw8+eST7osvvkhsjo1X3vvvv//e94d347HHHvP35D1fYokl/Lvz 6KOPJmLfqPcksUNVEmnnhBNO6N+lzz//vFNOni/vGM/zq6++6nTdEngmWDwZk4zHDz74wD3//POd 5g/LHx7rMfbsmRad32lvnrFX1jeM+xbBh3Ki5kLAvmHMx8wh7777rnv11VervlfWg6xzF/nLGHt8 +2hvSHw7qn1nmEf4ftj3iPJ8P2eYYQbPu8HDpfFC4X103nwINIVgcNxxx7mll17aXXjhhW6zzTbr YJ779+/vGYJddtnFI/fnn3/6oMHrr7++Akk+TieddJJbdNFFK9L5yB900EHulltuqUjnBwLE1Vdf 7b777jt/73/9619eKLCMvBQHH3ywu/baay2p4tirVy937rnnVqTxY8MNN3TPPvtsp3QSbrvtNi8A hReXXHJJd88994RJjsDFpNiDIv20ihdYYAF38cUXO5gB2r7rrru6TTfdtEK4ee+999yqq65awXQV 6Wet2CKsnHXWWZ6BsfZ/8sknrl+/fu6GG25wTGIbbLCBZ0Tseq3HbbbZxu2www4VeFAnY27IkCFu 6623TrwFk+Huu+/uttxyy45xa+UuuOACd+KJJ1bgGVaS95n885//9OOLMbnffvuFVXWczzrrrD5w DMZuqaWWcrFgwMR9wgkneKauo9DwE579brvt5oXvMD08P+WUU/w7csghh7iHH37YoRXnWRvBrBOw NnjwYEsqfOzdu7fba6+9EoP5f/zxR0cbGAtJxDOhHeuvv37F5fPPPz9RyJtzzjl9m5966ikvEPJc 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 7RbrK0JCuHFMizVfzRUCQkAICAEhIASEQEshoODjlnpcaqwQEAJCQAgIASEgBISAEOgeBCQYdA+u qlUICAEhIASEgBAQAkJACLQUAhIMWupxqbFCQAgIASEgBISAEBACQqB7EJBg0D24qlYhIASEgBAQ AkJACAgBIdBSCEgwaKnHpcYKASEgBISAEBACQkAICIHuQUCCQffgqlqFgBAQAkJACAgBISAEhEBL IaDlSkt6XDPNNJMbaaSR/E69P/30U0m1Nl81PaWfzYe8WlQGApNOOqmbZppp3Ndff+3efPPNMqpM rEPvSSIsSiyAQL3GbIGmqUgdEajXOBh//PEd9/rhhx/8xqJ17KJu1SQIyGJQ0oO4/PLL3Y033uhm m222kmpszmp6Sj+bE321qlYEVlttNXfZZZe5fffdt9aqqpbXe1IVHl3MgUC9xmyOJilrAxCo1zhY c801PS9z2GGHNaCXumUzICDBoEFPoW/fvu722293hx56aINaoNsKASEgBISAEBACQkAICIH/IyBX ov9jUdPZJZdc4kYffXT36aefZqpn3HHHddNPP323ujNkakjOTHn7mbN6ZRcCbYGA3pO2eIzqhBDo cQi89NJL7rzzznPvvPNOj+u7OvwXAhIMShoJAwYMKKmm5q6mp/SzuZ+CWtfsCOg9afYnpPYJASGQ hMDQoUMdf6Kei0BTCAYTTTRRh7Z9qqmmcvPPP7974YUX3BtvvOGfzOyzz+7mmGMO9+KLL7rXXnst 9WlRlrzjjTeez/f666+7n3/+OTH/KKOM4gNs/vjjD/fRRx/5PJNNNplbZJFFHMHDzz33XFXt/8gj j+zGGWecTnV/++237vfff++UTsIUU0zhRhzxL+8t2giNMcYYjnaHRNAPwZFplKefVseoo47qJplk Et+2jz/+2CcTLA3WM844ow+afuKJJxx4hFSkn7Viy/2pY6655nIEcb7yyivu5Zdf9m0DNzCshnPY /jznY489tptnnnnclFNO6UYYYQT32WefObQnHLuiscYay8eX0N4PP/zQt/fLL7+sWizvM+H5UYax wRhJo7D9v/zyS2I2AnB5pxh/4Esg7m+//ZaY1xInnnhiN9poo1XcnyC1xRdf3P3666/u6aefdja2 rEytR96ZWWaZxfFu0mfefzRZXbWV+9K2+eabz4+XJ5980n3xxReJzbHxynv//fff+/7wbjz22GP+ nrznSyyxhH93Hn300UTsG/WeJHaoSqKNOfD75JNP/IIJc889t3/PXn31VcdfV9jW8kxqeccYB1hZ eQ94Bz744AP3/PPPV8xZ1M8c8eOPP7qvvvqqChJ/XbJnz5ydNHaLzLW1vCdZx2yXHVOGhiNg3zDm Y+aQd999179fWcZlnnFQBv/Ee0N7Q+LbUe07M+GEE/rvh32PKM/3c4YZZvC8GzxcGi8U3kfnzYdA UwgGxx13nFt66aXdhRde6DbbbLMO5rl///6eIdhll108cn/++acPGrz++usrwlk+vgAAJuJJREFU kORDcdJJJ7lFF120Ip2P/EEHHeRuueWWinR+IEBcffXV7rvvvvP3/te//uWFAsvIS3HwwQe7a6+9 1pIqjr169XLnnntuRRo/NtxwQ/fss892Sifhtttu8wJQeHHJJZd099xzT5jkCFxMij0o0k+reIEF FnAXX3yx+/zzzx1t33XXXd2mm25aIdy89957btVVV61gDIr0s1ZsEVbOOussx8RjBBPTr18/d8MN NzgmsQ022MAzBXa91uM222zjdthhhwo8qJMxN2TIELf11lsn3oLJcPfdd3dbbrllx7i1chdccIE7 8cQTK/AMK8n7TP75z3/68cWY3G+//cKqOs5nnXVWHzgGo77UUku5WDBg4j7hhBM8g9VRaPgJz363 3XbzwneYHp6fcsop/h055JBD3MMPP+zQivOsjWAoCVgbPHiwJRU+9u7d2+21116JwfwwfbSBsZBE PBPasf7661dcPv/88xOFvDnnnNO3+amnnvICIc8Feuutt9yOO+7ocAviQw0hoG688cadPpiNeE98 g3L+W3jhhR3jkvdpq6228nMCjIUR6dttt50XFi3NjrU8E+oo+o4hDBxxxBGd5nfqhCnZZ5993P33 389P16dPH//OofHcaKONfFq1f8sss4w744wz/Lhfb731OrLWMtcWeU/yjtmOhuqkKRE4+eSTHe8L 36qYmDv32GOPRMG1yDiolX+iffBefBtCevDBB/07G6aF58cee6zj/Tn66KO9EpXfuFMboYyBd+tK QWb5dWweBJpCMDA4mMgZoGj5FlpoIc+Yo7llFZFpp53WMzp8qEPBYIIJJvC/+bihqb311lu9ZhAh gY8ELyiT/EUXXWS3qTiifYbBQSM5cOBA95///MettNJKXkt55JFHeq0h9caEleGKK67oSOajgjau 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 --001a1135e806a633e1050b99e718--