stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Athanasios Tsitsipas" <athanasios.tsitsi...@uni-ulm.de>
Subject RE: How to use the Load Balancer with openstack
Date Sun, 07 Jun 2015 09:07:26 GMT
At the thrift-client-config.xml there is a configuration for the client. Which ip and port
should I include. By default in the zip file it has: 

 

<!-- Apache thrift client configuration for publishing statistics to WSO2 CEP -->

<thriftClientConfiguration>

    <username>admin</username>

    <password>admin</password>

    <ip>localhost</ip>

    <port>7711</port>

</thriftClientConfiguration>

 

At the nginx extention parameters it has also these arguments in the nginx-extension.sh

            -Dthrift.receiver.ip= <>

            -Dthrift.receiver.port=7711

 

What should I do? And where I can specify these ports for thrift. 

 

Also the template stratos.sh.erb is not used it seems that it takes the parameters from the
stratos.bat. Can you check the file at the end, there are some syntax errors probably.

 

Regards,

Thanos

 

 

 

From: Gayan Gunarathne [mailto:gayang@wso2.com] 
Sent: Sunday, June 7, 2015 7:21 AM
To: dev@stratos.apache.org
Subject: Re: How to use the Load Balancer with openstack

 

Hi,

 

On Sun, Jun 7, 2015 at 4:45 AM, Athanasios Tsitsipas <athanasios.tsitsipas@uni-ulm.de <mailto:athanasios.tsitsipas@uni-ulm.de>
> wrote:

I had success with the nginx eventually.

 

Glad to hear that you have success with the nginx. 

 

But now with the puppet module of stratos load balancer. I think there is a problem:

 

In the stratos.sh on the spawned vm of load balancer under the folder /mnt/ …. , where the
zip file of lb is unzip it misses the 

 

    -Dthrift.client.config.file.path="$CARBON_HOME/repository/conf/thrift-client-config.xml"
\

 

A line that I get an error for! In the zip file at puppet master this line exists, but not
in the spawned vm. Can we get a workaround for this?

We need to add that property to the stratos.sh.erb of load balancer puppet module. Now I have
added that system property to the https://github.com/apache/stratos/blob/master/tools/puppet3/modules/lb/templates/bin/stratos.sh.erb.[1]
<https://github.com/apache/stratos/blob/master/tools/puppet3/modules/lb/templates/bin/stratos.sh.erb.%5B1%5D>


 

 [1] https://git1-us-west.apache.org/repos/asf?p=stratos.git;a=blob;f=tools/puppet3/modules/lb/templates/bin/stratos.sh.erb;hb=2b7a104c

 

Regards,

Thanos

 

 

P.s the error I get is the following

TID: [0] [LB] [2015-06-07 18:43:25,352] FATAL {org.apache.stratos.load.balancer.internal.LoadBalancerServiceComponent}
-  Failed to activate load balancer service component

java.lang.RuntimeException: Thrift client configuration file path system property is not set:
thrift.client.config.file.path

        at org.apache.stratos.common.statistics.publisher.wso2.cep.ThriftClientConfig.getInstance(ThriftClientConfig.java:48)

        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPStatisticsPublisher.<init>(WSO2CEPStatisticsPublisher.java:56)

        at org.apache.stratos.common.statistics.publisher.wso2.cep.WSO2CEPInFlightRequestPublisher.<init>(WSO2CEPInFlightRequestPublisher.java:42)

        at org.apache.stratos.common.statistics.publisher.InFlightRequestPublisherFactory.createInFlightRequestPublisher(InFlightRequestPublisherFactory.java:31)

        at org.apache.stratos.load.balancer.common.statistics.notifier.LoadBalancerStatisticsNotifier.<init>(LoadBalancerStatisticsNotifier.java:49)

        at org.apache.stratos.load.balancer.internal.LoadBalancerServiceComponent.startStatisticsNotifier(LoadBalancerServiceComponent.java:235)

        at org.apache.stratos.load.balancer.internal.LoadBalancerServiceComponent.activate(LoadBalancerServiceComponent.java:153)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)

        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)

        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)

        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)

        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)

        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)

        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)

        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)

        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)

        at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:245)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)

        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)

        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)

        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)

        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)

        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)

        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)

        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)

        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)

        at org.wso2.carbon.event.core.internal.builder.EventBrokerHandler.startEventBroker(EventBrokerHandler.java:58)

        at org.wso2.carbon.event.core.internal.builder.EventBrokerBuilderDS.activate(EventBrokerBuilderDS.java:72)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)

        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)

        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)

        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)

        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)

        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)

        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)

        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)

        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)

        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)

        at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:517)

        at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290)

        at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118)

        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)

        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)

        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

 

 

 

 

From: Athanasios Tsitsipas [mailto:athanasios.tsitsipas@uni-ulm.de <mailto:athanasios.tsitsipas@uni-ulm.de>
] 
Sent: Saturday, June 6, 2015 4:06 PM
To: dev@stratos.apache.org <mailto:dev@stratos.apache.org> 
Subject: RE: How to use the Load Balancer with openstack

 

Hi I did that, right now. I installed the nginx to Ubuntu and provided the executable path(/usr/sbin/nginx).

If only download the distribution of nginx somehow I need to compile the code right?There
is no executable file in it. I downloaded the distribution from this link:  <http://nginx.org/en/download.html>
http://nginx.org/en/download.html. 

 

I’m getting this error now:

 

[2015-06-06 13:59:04,464]  INFO - [Nginx] Generating nginx configuration...

[2015-06-06 13:59:04,576]  INFO - [Main] Configuration written to file: /tmp/nginx.cfg

[2015-06-06 13:59:04,576]  INFO - [Nginx] Starting nginx instance...

[2015-06-06 13:59:04,585] ERROR - [Nginx] Could not start nginx instance

[2015-06-06 13:59:04,586] ERROR - [LoadBalancerExtension] Could not start load balancer

org.apache.stratos.load.balancer.extension.api.exception.LoadBalancerExtensionException: java.lang.RuntimeException:
Command execution failed:

nginx: [emerg] unknown directive "tcp" in /tmp/nginx.cfg:5

 

        at org.apache.stratos.nginx.extension.Nginx.start(Nginx.java:92)

        at org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension.configureAndStart(LoadBalancerExtension.java:247)

        at org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension.access$100(LoadBalancerExtension.java:46)

        at org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension$1.onEvent(LoadBalancerExtension.java:184)

        at org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)

        at java.util.Observable.notifyObservers(Observable.java:159)

        at org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)

        at org.apache.stratos.messaging.message.processor.topology.CompleteTopologyMessageProcessor.process(CompleteTopologyMessageProcessor.java:68)

        at org.apache.stratos.messaging.message.processor.MessageProcessorChain.process(MessageProcessorChain.java:61)

        at org.apache.stratos.messaging.message.receiver.topology.TopologyEventMessageDelegator.run(TopologyEventMessageDelegator.java:73)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.RuntimeException: Command execution failed:

nginx: [emerg] unknown directive "tcp" in /tmp/nginx.cfg:5

 

        at org.apache.stratos.common.util.CommandUtils.executeCommand(CommandUtils.java:62)

        at org.apache.stratos.nginx.extension.Nginx.start(Nginx.java:88)

        ... 12 more

[2015-06-06 13:59:04,599]  INFO - [Nginx] Stopping nginx...

[2015-06-06 13:59:04,605] ERROR - [Nginx] Could not stop nginx

 

 

Can you please provide me with a link for the binary distribution of nginx ?

 

From: Gayan Gunarathne [ <mailto:gayang@wso2.com> mailto:gayang@wso2.com] 
Sent: Saturday, June 6, 2015 7:49 AM
To:  <mailto:dev@stratos.apache.org> dev@stratos.apache.org
Subject: Re: How to use the Load Balancer with openstack

 

Hi,

 

On Sat, Jun 6, 2015 at 5:08 AM, Athanasios Tsitsipas <athanasios.tsitsipas@uni-ulm.de <mailto:athanasios.tsitsipas@uni-ulm.de>
> wrote:

I tried to start nginx extention…

 

It is get notified that an application exists but I get the following error

 

[2015-06-05 23:34:03,654]  INFO - [TopologyProvider] Member added to cluster: [cluster] test.ghost.ghost.domain
[member] 192.168.8.42

[2015-06-05 23:34:04,211]  INFO - [Nginx] Generating nginx configuration...

[2015-06-05 23:34:04,218]  INFO - [Main] Configuration written to file: /tmp/nginx.cfg

[2015-06-05 23:34:04,218]  INFO - [Nginx] Starting nginx instance...

[2015-06-05 23:34:04,219] ERROR - [Nginx] Could not start nginx instance

[2015-06-05 23:34:04,219] ERROR - [LoadBalancerExtension] Could not start load balancer

org.apache.stratos.load.balancer.extension.api.exception.LoadBalancerExtensionException: java.io.IOException:
Cannot run program "nginx": error=2, No such file or directory

        at org.apache.stratos.nginx.extension.Nginx.start(Nginx.java:92)


Seems load balancer can't find the program nginx. Did you download and extract Nginx binary
distribution and provide that nginx file path( -Dexecutable.file.path)  in nginx-extension.sh?
[1]


[1] https://github.com/apache/stratos/blob/master/extensions/load-balancer/nginx-extension/INSTALL.md
 

        at org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension.configureAndStart(LoadBalancerExtension.java:247)

        at org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension.access$100(LoadBalancerExtension.java:46)

        at org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension$1.onEvent(LoadBalancerExtension.java:184)

        at org.apache.stratos.messaging.listener.EventListener.update(EventListener.java:42)

        at java.util.Observable.notifyObservers(Observable.java:159)

        at org.apache.stratos.messaging.event.EventObservable.notifyEventListeners(EventObservable.java:51)

        at org.apache.stratos.messaging.message.processor.topology.CompleteTopologyMessageProcessor.process(CompleteTopologyMessageProcessor.java:68)

        at org.apache.stratos.messaging.message.processor.MessageProcessorChain.process(MessageProcessorChain.java:61)

        at org.apache.stratos.messaging.message.receiver.topology.TopologyEventMessageDelegator.run(TopologyEventMessageDelegator.java:73)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:745)

Caused by: java.io.IOException: Cannot run program "nginx": error=2, No such file or directory

        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)

        at java.lang.Runtime.exec(Runtime.java:617)

        at java.lang.Runtime.exec(Runtime.java:450)

        at java.lang.Runtime.exec(Runtime.java:347)

        at org.apache.stratos.common.util.CommandUtils.executeCommand(CommandUtils.java:43)

        at org.apache.stratos.nginx.extension.Nginx.start(Nginx.java:88)

        ... 12 more

Caused by: java.io.IOException: error=2, No such file or directory

        at java.lang.UNIXProcess.forkAndExec(Native Method)

        at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)

        at java.lang.ProcessImpl.start(ProcessImpl.java:130)

        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)

        ... 17 more

[2015-06-05 23:34:04,228]  INFO - [Nginx] Stopping nginx...

[2015-06-05 23:34:04,229] ERROR - [Nginx] Could not stop nginx

 

I added the information for the activemq to jndi.properties file. Also I changed the script
file accordingly and the thrift xml.

 

From: Imesh Gunaratne [mailto: <mailto:imesh@apache.org> imesh@apache.org] 
Sent: Friday, June 5, 2015 9:05 PM
To: dev
Subject: Re: How to use the Load Balancer with openstack

 

Hi Athanasios,

 

It's nice to hear that you are using the latest codebase, it has three load balancing options:

 

1. Stratos Load Balancer

2. Nginx (via extension)

3. HAproxy (via extension)

 

First you could try to run either of these against your Stratos deployment and see whether
they are working as expected (before trying the puppet module). Load balancer only requires
ActiveMQ and CEP information (IP, port) to run.

 

Do a complete build and find 1 in the following folder:

https://github.com/apache/stratos/tree/master/products/load-balancer/modules/distribution

 

Update loadbalancer.conf and thrift-client-config.xml with the above values and start the
product.

 

Thanks

 

On Wed, Jun 3, 2015 at 7:23 PM, Athanasios Tsitsipas <athanasios.tsitsipas@uni-ulm.de <mailto:athanasios.tsitsipas@uni-ulm.de>
> wrote:

Hi there,

 

We are trying to install Stratos 4.1.0 and ok we got over some bugs in the files. More or
less we can create many cartridges and use them with applications. But we need a load balancer
now connected with a ghost application integrated with nodejs. What is the lb module in the
puppet master modules and what is the haproxy. How we will subscribe the application we need
to the load balancer and access the load balancer and redirect us to the  multiple instances
of the application above. Is there any guide we can use?

 

Many thanks in advance

 

Athanasios Tsitsipas





 

-- 

Imesh Gunaratne

 

Senior Technical Lead, WSO2

Committer & PMC Member, Apache Stratos





 

-- 

 

Gayan Gunarathne
Technical Lead, WSO2 Inc. ( <http://wso2.com/> http://wso2.com)

Committer & PMC Member, Apache Stratos

email :  <mailto:gayang@wso2.com> gayang@wso2.com  | mobile :  <tel:%2B94%20766819985>
+94 766819985

 

 





 

-- 

 

Gayan Gunarathne
Technical Lead, WSO2 Inc. (http://wso2.com <http://wso2.com/> )

Committer & PMC Member, Apache Stratos

email : gayang@wso2.com <mailto:gayang@wso2.com>   | mobile : +94 766819985 <tel:%2B94%20766819985>


 

 


Mime
View raw message