stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nirmal Fernando <nirmal070...@gmail.com>
Subject Re: integrating haproxy with stratos
Date Mon, 09 Jun 2014 07:13:22 GMT
Yes, correct!


On Mon, Jun 9, 2014 at 12:38 PM, Parvez Shaikh <parvez.h.shaikh@gmail.com>
wrote:

> it worked, there seems to be some parameters in our haproxy.cfg which is
> upsetting this extension. On using default haproxy.cfg.template, it worked!
> :-)
>
> Can someone confirm, if  following understanding that ports from port
> mapping section of autoscaled cartridge are used by haproxy extension in
> the following fashion -
>
>         "portMapping":[
>             {
>                 "protocol":"http",  // protocol
>                 "port":"80",  // port on autoscaled cartridge
>                 "proxyPort":"8280" // port on haproxy / loadbalancer
> cartridge
>              }
>          ]
>
>
> Thank you for all your quick support
> Parvez
>
>
> On Mon, Jun 9, 2014 at 10:57 AM, Parvez Shaikh <parvez.h.shaikh@gmail.com>
> wrote:
>
>> Thanks Nirmal,
>>
>> it worked, however I am seeing an exception on the console as follows -
>>
>> [2014-06-08 23:08:02,151] ERROR - [HAProxy] Could not start haproxy
>> [2014-06-08 23:08:02,152] ERROR - [LoadBalancerExtension] Could not start
>> load balancer
>> org.apache.stratos.load.balancer.extension.api.exception.LoadBalancerExtensionException:
>> java.lang.RuntimeException: Command execution failed:
>> [WARNING] 158/230802 (31422) : config : missing timeouts for proxy
>> 'ryslog_fwd'.
>>    | While not properly invalid, you will certainly encounter various
>> problems
>>    | with such a configuration. To fix this, please ensure that all
>> following
>>    | timeouts are set to a non-zero value: 'client', 'connect', 'server'.
>> [WARNING] 158/230802 (31422) : config : 'stats' statement ignored for
>> proxy 'ryslog_fwd' as it requires HTTP mode.
>>         at
>> org.apache.stratos.haproxy.extension.HAProxy.start(HAProxy.java:131)
>>         at
>> org.apache.stratos.load.balancer.extension.api.LoadBalancerExtension$1.onEvent(LoadBalancerExtension.java:99)
>>         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:133)
>>         at
>> org.apache.stratos.messaging.message.processor.MessageProcessorChain.process(MessageProcessorChain.java:60)
>>         at
>> org.apache.stratos.messaging.message.receiver.topology.TopologyEventMessageDelegator.run(TopologyEventMessageDelegator.java:77)
>>         at java.lang.Thread.run(Thread.java:744)
>>
>>
>> Note that I can see "haproxy" process running or started in background -
>> root     31424     1  0 23:08 ?        00:00:00 /usr/sbin/haproxy -f
>> /tmp/haproxy.cfg -p /tmp/haproxy.pid
>>
>> I want to know co-relation between cartridge agent and this
>> haproxy-extension script.
>> Should the VM that runs haproxy-extension script be subscribed through
>> stratos and have cartridge agent running? Should cartridge agent which runs
>> haproxy-extension indicate itself as load-balancer cartridge - in that case
>> how to indicate in cartridge definition to use this extension as load
>> balancer overriding default loadbalancer?
>>
>> Right now load balancer VM (which runs haproxy) is not started by
>> subscribing cartridge through stratos console but by manually using IaaS
>> tools.
>>
>> Any pointers/guidance would be useful.
>>
>>
>> On Mon, Jun 9, 2014 at 9:10 AM, Nirmal Fernando <nirmal070125@gmail.com>
>> wrote:
>>
>>> connectionfactoryName=TopicConnectionFactory
>>>
>>> Please use above as the connection factory name.
>>>
>>>
>>> On Mon, Jun 9, 2014 at 9:01 AM, Parvez Shaikh <parvez.h.shaikh@gmail.com
>>> > wrote:
>>>
>>>> I downloaded activemq-5.9.jar from
>>>> http://activemq.apache.org/activemq-590-release.html and put that jar
>>>> in lib directory of HAPROXY_EXTENSION home.
>>>>
>>>> I am seeing following message -
>>>>
>>>> [2014-06-08 21:18:08,060] ERROR - [TopicSubscriber] Error while
>>>> subscribing to the topic: topology
>>>> javax.naming.NameNotFoundException: topicConnectionfactory
>>>>         at
>>>> org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:235)
>>>>         at javax.naming.InitialContext.lookup(InitialContext.java:411)
>>>>         at
>>>> org.apache.stratos.messaging.broker.connect.TopicConnector.init(TopicConnector.java:62)
>>>>
>>>>         at
>>>> org.apache.stratos.messaging.broker.subscribe.TopicSubscriber.doSubscribe(TopicSubscriber.java:63)
>>>>         at
>>>> org.apache.stratos.messaging.broker.subscribe.TopicSubscriber.run(TopicSubscriber.java:116)
>>>>         at java.lang.Thread.run(Thread.java:744)
>>>>
>>>> Is there a way to move ahead?
>>>>
>>>> Thanks,
>>>>
>>>> P.S.
>>>> I did not put other dependencies like geronimo and hawtbuf, as did not
>>>> get any errors for these classes
>>>>
>>>>
>>>> On Mon, Jun 9, 2014 at 8:55 AM, Nirmal Fernando <nirmal070125@gmail.com
>>>> > wrote:
>>>>
>>>>> Sorry Parvez, we seems to lack documentation on this aspect.
>>>>>
>>>>> You need to add following jars, to lib directory;
>>>>>
>>>>> <!-- activemq client jars -->
>>>>>         <dependency>
>>>>> <groupId>org.apache.geronimo.specs</groupId>
>>>>>             <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
>>>>>             <version>1.0.1</version>
>>>>>         </dependency>
>>>>>         <dependency>
>>>>>             <groupId>org.fusesource.hawtbuf</groupId>
>>>>>             <artifactId>hawtbuf</artifactId>
>>>>>             <version>1.9</version>
>>>>>         </dependency>
>>>>>         <dependency>
>>>>>            <groupId>org.apache.activemq</groupId>
>>>>>            <artifactId>activemq-client</artifactId>
>>>>>            <version>5.9.1</version>
>>>>>         </dependency>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Jun 9, 2014 at 8:44 AM, Parvez Shaikh <
>>>>> parvez.h.shaikh@gmail.com> wrote:
>>>>>
>>>>>> I think we're using ActiveMQ as message broker, is there an easy
or
>>>>>> quick way to confirm that?
>>>>>>
>>>>>> Meanwhile the error changed -
>>>>>>
>>>>>> javax.naming.NoInitialContextException: Cannot instantiate class:
>>>>>> org.apache.activemq.jndi.ActiveMQInitialContextFactory [Root exception
is
>>>>>> java.lang.ClassNotFoundException:
>>>>>> org.apache.activemq.jndi.ActiveMQInitialContextFactory]
>>>>>>
>>>>>> I just quickly tried to find the jar org.apache.activemq and couldn't
>>>>>> find it in "lib" directory that comes with HAPROXY-EXTENSION zip
file.
>>>>>>
>>>>>> Any pointers where to get this jar / class?
>>>>>>
>>>>>>
>>>>>> On Mon, Jun 9, 2014 at 8:22 AM, Nirmal Fernando <
>>>>>> nirmal070125@gmail.com> wrote:
>>>>>>
>>>>>>> Hi Parvez,
>>>>>>>
>>>>>>> Seems like the extension code is broken. Are you using ActiveMQ
as
>>>>>>> the message broker? If so please replace your jndi.properties
file with
>>>>>>> following;
>>>>>>>
>>>>>>> connectionfactoryName=TopicConnectionFactory
>>>>>>> java.naming.provider.url=tcp://localhost:61616
>>>>>>>
>>>>>>> java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jun 9, 2014 at 8:10 AM, Parvez Shaikh <
>>>>>>> parvez.h.shaikh@gmail.com> wrote:
>>>>>>>
>>>>>>>> Thanks Imesh,
>>>>>>>>
>>>>>>>> While it resolved unable to load jndi.properties
>>>>>>>>
>>>>>>>> [2014-06-08 20:22:31,624] ERROR - [TopicSubscriber] Error
while
>>>>>>>> subscribing to the topic: topology
>>>>>>>> javax.jms.JMSException: Error creating connection: Unable
to Connect
>>>>>>>>         at
>>>>>>>> org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:325)
>>>>>>>>         at
>>>>>>>> org.wso2.andes.client.AMQConnectionFactory.createTopicConnection(AMQConnectionFactory.java:429)
>>>>>>>>         at
>>>>>>>> org.apache.stratos.messaging.broker.connect.TopicConnector.init(TopicConnector.java:68)
>>>>>>>>         at
>>>>>>>> org.apache.stratos.messaging.broker.subscribe.TopicSubscriber.doSubscribe(TopicSubscriber.java:63)
>>>>>>>>         at
>>>>>>>> org.apache.stratos.messaging.broker.subscribe.TopicSubscriber.run(TopicSubscriber.java:116)
>>>>>>>>         at java.lang.Thread.run(Thread.java:744)
>>>>>>>> Caused by: org.wso2.andes.AMQConnectionFailureException:
Unable to
>>>>>>>> Connect
>>>>>>>>         at
>>>>>>>> org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:475)
>>>>>>>>         at
>>>>>>>> org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:315)
>>>>>>>>         ... 5 more
>>>>>>>> [2014-06-08 20:22:31,626]  INFO - [TopicSubscriber] Will
try to
>>>>>>>> subscribe again in 30 sec
>>>>>>>> [2014-06-08 20:22:31,626] ERROR - [AMQStateManager] No Waiters
for
>>>>>>>> error saving as last error:Exception thrown against AMQConnection:
>>>>>>>> Host: <<MB-Host>>
>>>>>>>> Port: 61616
>>>>>>>> Virtual Host: carbon
>>>>>>>> Client ID: carbon
>>>>>>>> Active session count: 0: org.wso2.andes.AMQDisconnectedException:
>>>>>>>> Server closed connection and reconnection not permitted.
>>>>>>>>
>>>>>>>> Now I am suspecting following line in jndi.properties -
>>>>>>>>
>>>>>>>> connectionfactory.topicConnectionfactory=amqp://admin:admin@carbon
>>>>>>>> /carbon?brokerlist='tcp://<MB-Host>:61616'
>>>>>>>>
>>>>>>>> Can someone help understand what this connection factory
describing
>>>>>>>> here; I could relate to "tcp", a host name. port id and AMQP
is most likely
>>>>>>>> describing a connection protocol to ActiveMQ Message broker,
but unable to
>>>>>>>> gather what admin:admin@carbon/carbon really indicating here.
Is
>>>>>>>> this configurable?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Jun 8, 2014 at 11:01 PM, Imesh Gunaratne <imesh@apache.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Issue reported: https://issues.apache.org/jira/browse/STRATOS-668
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sun, Jun 8, 2014 at 10:45 PM, Imesh Gunaratne <imesh@apache.org
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi Parvez,
>>>>>>>>>>
>>>>>>>>>> Welcome to Stratos, its really nice to hear that
you are
>>>>>>>>>> experimenting with Stratos.
>>>>>>>>>>
>>>>>>>>>> Regarding the issue you encountered, it seems like
there is an
>>>>>>>>>> invalid entry in the jndi.properties file shipped
with the HAProxy
>>>>>>>>>> extension package. Please open
>>>>>>>>>> <HAPROXY_EXTENSION_HOME>/conf/jndi.properties
file and update
>>>>>>>>>> java.naming.provider.url to following:
>>>>>>>>>>
>>>>>>>>>> java.naming.provider.url=conf/jndi.properties
>>>>>>>>>>
>>>>>>>>>> I will create a JIRA to fix this in the next release.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sun, Jun 8, 2014 at 10:02 PM, Parvez Shaikh <
>>>>>>>>>> parvez.h.shaikh@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi experts,
>>>>>>>>>>>
>>>>>>>>>>> I am new to stratos and exploring on how to integrate
existing
>>>>>>>>>>> haproxy cartridge with stratos.
>>>>>>>>>>>
>>>>>>>>>>> I am referring
>>>>>>>>>>> https://cwiki.apache.org/confluence/display/STRATOS/4.0.0+Configuring+HAProxy+Load+Balancer
>>>>>>>>>>>
>>>>>>>>>>> After following steps mentioned in the link when
I run
>>>>>>>>>>> haproxy-extension.sh, I am getting following
error messgae -
>>>>>>>>>>>
>>>>>>>>>>> SLF4J: Class path contains multiple SLF4J bindings.
>>>>>>>>>>> SLF4J: Found binding in
>>>>>>>>>>> [jar:file:/opt/apache-stratos-haproxy-extension-4.0.0-incubating/lib/slf4j-1.5.10.wso2v1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>>>>>>>>>>> SLF4J: Found binding in
>>>>>>>>>>> [jar:file:/opt/apache-stratos-haproxy-extension-4.0.0-incubating/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>>>>>>>>>>> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings
>>>>>>>>>>> for an explanation.
>>>>>>>>>>> [2014-06-08 09:57:39,480]  WARN -
>>>>>>>>>>> [PropertiesFileInitialContextFactory] Unable
to load property file
>>>>>>>>>>> specified in Provider_URL:repository/conf/jndi.properties
>>>>>>>>>>> Due to:repository/conf/jndi.properties (No such
file or
>>>>>>>>>>> directory)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> This I am running in a VM which is expected to
be a haproxy
>>>>>>>>>>> based load balancerr.
>>>>>>>>>>> Message is clear enough to indicate that
>>>>>>>>>>> repository/conf/jndi.properties file is not found.
>>>>>>>>>>>
>>>>>>>>>>> Question I have is, how do I get this repository
directory? Is
>>>>>>>>>>> it going to contain same 'conf' directory? Is
it referring to directory on
>>>>>>>>>>> message broker host or same host as haproxy?
>>>>>>>>>>>
>>>>>>>>>>> <HAProxy_EXTENSION_HOME> is where I have
extracted in
>>>>>>>>>>> apache-stratos-load-balancer-4.0.0-incubating.zip
and it doesn't have any
>>>>>>>>>>> 'repository' directory. Am I missing something
important?
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>
>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>> Committer & PPMC Member, Apache Stratos
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Imesh Gunaratne
>>>>>>>>>
>>>>>>>>> Technical Lead, WSO2
>>>>>>>>> Committer & PPMC Member, Apache Stratos
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best Regards,
>>>>>>> Nirmal
>>>>>>>
>>>>>>> Nirmal Fernando.
>>>>>>> PPMC Member & Committer of Apache Stratos,
>>>>>>> Senior Software Engineer, WSO2 Inc.
>>>>>>>
>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best Regards,
>>>>> Nirmal
>>>>>
>>>>> Nirmal Fernando.
>>>>> PPMC Member & Committer of Apache Stratos,
>>>>> Senior Software Engineer, WSO2 Inc.
>>>>>
>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Nirmal
>>>
>>> Nirmal Fernando.
>>> PPMC Member & Committer of Apache Stratos,
>>> Senior Software Engineer, WSO2 Inc.
>>>
>>> Blog: http://nirmalfdo.blogspot.com/
>>>
>>
>>
>


-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Mime
View raw message