You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Imesh Gunaratne <im...@apache.org> on 2015/08/29 20:30:58 UTC

[Dev] PCA Live Test is Failing

Hi Akila,

I see $subject in 4.1.x branch, any thoughts?

[2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
'7712' is not active
[2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
23:59:06,189] DEBUG {subscriber.py:on_message} - Message received:
instance/status/InstanceActivatedEvent:
[2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
23:59:06,189] DEBUG {subscriber.py:run} - Event handler not found for event
: 'InstanceActivatedEvent'
[2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
23:59:11,189] INFO {cartridgeagentutils.py:wait_until_ports_active} -
Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
[2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
'7712' is not active
[2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager] [2015-08-29
23:59:16,191] INFO {cartridgeagentutils.py:wait_until_ports_active} -
Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']

Thanks

-- 
Imesh Gunaratne

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

Re: [Dev] PCA Live Test is Failing

Posted by Akila Ravihansa Perera <ra...@wso2.com>.
Hi Imesh,

SSL is enabled even now. The problem is with the cipher suite being used to
secure the data that is being transferred. Yes, I'll make it configurable
via agent.conf.

Thanks.

On Tue, Sep 1, 2015 at 6:59 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Great work Akila!! Yes I also think we need to enable SSL when
> communicating between PCA and CEP. +1 for making it configurable.
>
> Thanks
>
> On Tue, Sep 1, 2015 at 1:54 AM, Akila Ravihansa Perera <ravihansa@wso2.com
> > wrote:
>
>> Hi,
>>
>> I received a response for the query made regarding setting up an embedded
>> Thrift server in PCA integration test. Based on that I was able to start a
>> Thrift test server and receive events published by PCA. I had to explicitly
>> set the cipher suite in PCA to "DEFAULT:!ECDH" in order to make it work
>> with Thrift test server. This was due to cipher suite incompatibility and
>> currently Thrift test server do not have the capability to initialize the
>> SSL context with a custom SSL cipher suite. This might not be ideal for
>> production systems since Elliptic Curve Diffie–Hellman (ECDH) key exchange
>> protocol is the most preferred method. I think we should make the cipher
>> suite configurable via agent.conf and exclude ECDH for integration tests.
>> wdyt?
>>
>> We now have the capability to write complex integration tests for
>> verifying health stat publishing scenarios. Also with this we can move PCA
>> live tests to regular build.
>>
>> Thanks.
>>
>> On Sun, Aug 30, 2015 at 1:04 PM, Akila Ravihansa Perera <
>> ravihansa@wso2.com> wrote:
>>
>>> Hi Imesh,
>>>
>>> Yes, thanks for correcting :)
>>>
>>> I made a wrong assumption since Thrift required generating service
>>> classes. It seems Thrift is more like a RPC framework but not bounded to
>>> RPC.
>>>
>>> As you noticed, Thrift client is expecting a session id so we need to
>>> implement session handling part if we go down Java sockets path. I tried to
>>> embed a Thrift server but hit a blocker since Apache Thrift library
>>> required generating service classes. I've raised this question on WSO2 dev
>>> list [1] to see if CEP Thrift receiver could be embedded. Will dig into
>>> this and figure out a better approach.
>>>
>>> [1] [Test Automation] Mocking Thrift server for an integration test
>>>
>>> Thanks.
>>>
>>>
>>> On Sun, Aug 30, 2015 at 12:58 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> As we discussed offline I do not think Thrift is a RPC based protocol.
>>>> IMO it can be used for implementing RPC based services but the protocol may
>>>> not RPC based.
>>>>
>>>> I had a look at the Thrift client code, its waiting for a session id
>>>> from the server after connecting. Therefore a standard socket might not
>>>> work. Your guess should be correct.
>>>>
>>>> May be we can try to start a Thrift Data Receiver in a separate thread
>>>> and see whether we can use that to mock a CEP server.
>>>>
>>>> Thanks
>>>>
>>>> On Sun, Aug 30, 2015 at 12:22 AM, Akila Ravihansa Perera <
>>>> ravihansa@wso2.com> wrote:
>>>>
>>>>> Hi Imesh,
>>>>>
>>>>> It won't work since Thrift is a RPC based protocol not a messaging
>>>>> based one. So you need to have those service classes generated via a tool
>>>>> (like Axis2). I was looking for a way to mock the CEP server but didn't
>>>>> have enough time to complete it. For now we can run a CEP server externally
>>>>> and assert the stat publishing by checking agent's log. That's not the
>>>>> ideal approach. But that will give a certain level of assurance until we
>>>>> find a proper way.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Sun, Aug 30, 2015 at 12:16 AM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Thanks for the quick response!
>>>>>>
>>>>>> I prefer if we can simplify this. Why would not a socket
>>>>>> (java.net.ServerSocket) work with Thrift? Then again is there a way for the
>>>>>> live test to assert statistics published via the external CEP?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <
>>>>>> ravihansa@wso2.com> wrote:
>>>>>>
>>>>>>> Hi Imesh,
>>>>>>>
>>>>>>> I've added a test to verify PCA health stat publishing. For this you
>>>>>>> need to run a WSO2 CEP or Stratos server. Regular http sockets will not
>>>>>>> work with thrift protocol so I removed thrift socket creation from the
>>>>>>> test. Since this is a live test, it won't impact the build.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Akila,
>>>>>>>>
>>>>>>>> I see $subject in 4.1.x branch, any thoughts?
>>>>>>>>
>>>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>>>> [2015-08-29 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active}
>>>>>>>> - Port '7712' is not active
>>>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>>>> [2015-08-29 23:59:06,189] DEBUG {subscriber.py:on_message} - Message
>>>>>>>> received: instance/status/InstanceActivatedEvent:
>>>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>>>> [2015-08-29 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not
>>>>>>>> found for event : 'InstanceActivatedEvent'
>>>>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager]
>>>>>>>> [2015-08-29 23:59:11,189] INFO
>>>>>>>> {cartridgeagentutils.py:wait_until_ports_active} - Waiting for ports to be
>>>>>>>> active: [ip] 'localhost' [ports] ['7712']
>>>>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager]
>>>>>>>> [2015-08-29 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active}
>>>>>>>> - Port '7712' is not active
>>>>>>>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager]
>>>>>>>> [2015-08-29 23:59:16,191] INFO
>>>>>>>> {cartridgeagentutils.py:wait_until_ports_active} - Waiting for ports to be
>>>>>>>> active: [ip] 'localhost' [ports] ['7712']
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> --
>>>>>>>> Imesh Gunaratne
>>>>>>>>
>>>>>>>> Senior Technical Lead, WSO2
>>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Akila Ravihansa Perera
>>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>>
>>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Senior Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Akila Ravihansa Perera
>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>
>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Akila Ravihansa Perera
>>> WSO2 Inc.;  http://wso2.com/
>>>
>>> Blog: http://ravihansa3000.blogspot.com
>>>
>>
>>
>>
>> --
>> Akila Ravihansa Perera
>> WSO2 Inc.;  http://wso2.com/
>>
>> Blog: http://ravihansa3000.blogspot.com
>>
>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com

Re: [Dev] PCA Live Test is Failing

Posted by Imesh Gunaratne <im...@apache.org>.
Great work Akila!! Yes I also think we need to enable SSL when
communicating between PCA and CEP. +1 for making it configurable.

Thanks

On Tue, Sep 1, 2015 at 1:54 AM, Akila Ravihansa Perera <ra...@wso2.com>
wrote:

> Hi,
>
> I received a response for the query made regarding setting up an embedded
> Thrift server in PCA integration test. Based on that I was able to start a
> Thrift test server and receive events published by PCA. I had to explicitly
> set the cipher suite in PCA to "DEFAULT:!ECDH" in order to make it work
> with Thrift test server. This was due to cipher suite incompatibility and
> currently Thrift test server do not have the capability to initialize the
> SSL context with a custom SSL cipher suite. This might not be ideal for
> production systems since Elliptic Curve Diffie–Hellman (ECDH) key exchange
> protocol is the most preferred method. I think we should make the cipher
> suite configurable via agent.conf and exclude ECDH for integration tests.
> wdyt?
>
> We now have the capability to write complex integration tests for
> verifying health stat publishing scenarios. Also with this we can move PCA
> live tests to regular build.
>
> Thanks.
>
> On Sun, Aug 30, 2015 at 1:04 PM, Akila Ravihansa Perera <
> ravihansa@wso2.com> wrote:
>
>> Hi Imesh,
>>
>> Yes, thanks for correcting :)
>>
>> I made a wrong assumption since Thrift required generating service
>> classes. It seems Thrift is more like a RPC framework but not bounded to
>> RPC.
>>
>> As you noticed, Thrift client is expecting a session id so we need to
>> implement session handling part if we go down Java sockets path. I tried to
>> embed a Thrift server but hit a blocker since Apache Thrift library
>> required generating service classes. I've raised this question on WSO2 dev
>> list [1] to see if CEP Thrift receiver could be embedded. Will dig into
>> this and figure out a better approach.
>>
>> [1] [Test Automation] Mocking Thrift server for an integration test
>>
>> Thanks.
>>
>>
>> On Sun, Aug 30, 2015 at 12:58 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> As we discussed offline I do not think Thrift is a RPC based protocol.
>>> IMO it can be used for implementing RPC based services but the protocol may
>>> not RPC based.
>>>
>>> I had a look at the Thrift client code, its waiting for a session id
>>> from the server after connecting. Therefore a standard socket might not
>>> work. Your guess should be correct.
>>>
>>> May be we can try to start a Thrift Data Receiver in a separate thread
>>> and see whether we can use that to mock a CEP server.
>>>
>>> Thanks
>>>
>>> On Sun, Aug 30, 2015 at 12:22 AM, Akila Ravihansa Perera <
>>> ravihansa@wso2.com> wrote:
>>>
>>>> Hi Imesh,
>>>>
>>>> It won't work since Thrift is a RPC based protocol not a messaging
>>>> based one. So you need to have those service classes generated via a tool
>>>> (like Axis2). I was looking for a way to mock the CEP server but didn't
>>>> have enough time to complete it. For now we can run a CEP server externally
>>>> and assert the stat publishing by checking agent's log. That's not the
>>>> ideal approach. But that will give a certain level of assurance until we
>>>> find a proper way.
>>>>
>>>> Thanks.
>>>>
>>>> On Sun, Aug 30, 2015 at 12:16 AM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Thanks for the quick response!
>>>>>
>>>>> I prefer if we can simplify this. Why would not a socket
>>>>> (java.net.ServerSocket) work with Thrift? Then again is there a way for the
>>>>> live test to assert statistics published via the external CEP?
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <
>>>>> ravihansa@wso2.com> wrote:
>>>>>
>>>>>> Hi Imesh,
>>>>>>
>>>>>> I've added a test to verify PCA health stat publishing. For this you
>>>>>> need to run a WSO2 CEP or Stratos server. Regular http sockets will not
>>>>>> work with thrift protocol so I removed thrift socket creation from the
>>>>>> test. Since this is a live test, it won't impact the build.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Akila,
>>>>>>>
>>>>>>> I see $subject in 4.1.x branch, any thoughts?
>>>>>>>
>>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>>> [2015-08-29 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active}
>>>>>>> - Port '7712' is not active
>>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>>> [2015-08-29 23:59:06,189] DEBUG {subscriber.py:on_message} - Message
>>>>>>> received: instance/status/InstanceActivatedEvent:
>>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>>> [2015-08-29 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not
>>>>>>> found for event : 'InstanceActivatedEvent'
>>>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager]
>>>>>>> [2015-08-29 23:59:11,189] INFO
>>>>>>> {cartridgeagentutils.py:wait_until_ports_active} - Waiting for ports to be
>>>>>>> active: [ip] 'localhost' [ports] ['7712']
>>>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager]
>>>>>>> [2015-08-29 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active}
>>>>>>> - Port '7712' is not active
>>>>>>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager]
>>>>>>> [2015-08-29 23:59:16,191] INFO
>>>>>>> {cartridgeagentutils.py:wait_until_ports_active} - Waiting for ports to be
>>>>>>> active: [ip] 'localhost' [ports] ['7712']
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> --
>>>>>>> Imesh Gunaratne
>>>>>>>
>>>>>>> Senior Technical Lead, WSO2
>>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Akila Ravihansa Perera
>>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>>
>>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Senior Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Akila Ravihansa Perera
>>>> WSO2 Inc.;  http://wso2.com/
>>>>
>>>> Blog: http://ravihansa3000.blogspot.com
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Akila Ravihansa Perera
>> WSO2 Inc.;  http://wso2.com/
>>
>> Blog: http://ravihansa3000.blogspot.com
>>
>
>
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
Imesh Gunaratne

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

Re: [Dev] PCA Live Test is Failing

Posted by Akila Ravihansa Perera <ra...@wso2.com>.
Hi,

I received a response for the query made regarding setting up an embedded
Thrift server in PCA integration test. Based on that I was able to start a
Thrift test server and receive events published by PCA. I had to explicitly
set the cipher suite in PCA to "DEFAULT:!ECDH" in order to make it work
with Thrift test server. This was due to cipher suite incompatibility and
currently Thrift test server do not have the capability to initialize the
SSL context with a custom SSL cipher suite. This might not be ideal for
production systems since Elliptic Curve Diffie–Hellman (ECDH) key exchange
protocol is the most preferred method. I think we should make the cipher
suite configurable via agent.conf and exclude ECDH for integration tests.
wdyt?

We now have the capability to write complex integration tests for verifying
health stat publishing scenarios. Also with this we can move PCA live tests
to regular build.

Thanks.

On Sun, Aug 30, 2015 at 1:04 PM, Akila Ravihansa Perera <ra...@wso2.com>
wrote:

> Hi Imesh,
>
> Yes, thanks for correcting :)
>
> I made a wrong assumption since Thrift required generating service
> classes. It seems Thrift is more like a RPC framework but not bounded to
> RPC.
>
> As you noticed, Thrift client is expecting a session id so we need to
> implement session handling part if we go down Java sockets path. I tried to
> embed a Thrift server but hit a blocker since Apache Thrift library
> required generating service classes. I've raised this question on WSO2 dev
> list [1] to see if CEP Thrift receiver could be embedded. Will dig into
> this and figure out a better approach.
>
> [1] [Test Automation] Mocking Thrift server for an integration test
>
> Thanks.
>
>
> On Sun, Aug 30, 2015 at 12:58 AM, Imesh Gunaratne <im...@apache.org>
> wrote:
>
>> As we discussed offline I do not think Thrift is a RPC based protocol.
>> IMO it can be used for implementing RPC based services but the protocol may
>> not RPC based.
>>
>> I had a look at the Thrift client code, its waiting for a session id from
>> the server after connecting. Therefore a standard socket might not work.
>> Your guess should be correct.
>>
>> May be we can try to start a Thrift Data Receiver in a separate thread
>> and see whether we can use that to mock a CEP server.
>>
>> Thanks
>>
>> On Sun, Aug 30, 2015 at 12:22 AM, Akila Ravihansa Perera <
>> ravihansa@wso2.com> wrote:
>>
>>> Hi Imesh,
>>>
>>> It won't work since Thrift is a RPC based protocol not a messaging based
>>> one. So you need to have those service classes generated via a tool (like
>>> Axis2). I was looking for a way to mock the CEP server but didn't have
>>> enough time to complete it. For now we can run a CEP server externally and
>>> assert the stat publishing by checking agent's log. That's not the ideal
>>> approach. But that will give a certain level of assurance until we find a
>>> proper way.
>>>
>>> Thanks.
>>>
>>> On Sun, Aug 30, 2015 at 12:16 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Thanks for the quick response!
>>>>
>>>> I prefer if we can simplify this. Why would not a socket
>>>> (java.net.ServerSocket) work with Thrift? Then again is there a way for the
>>>> live test to assert statistics published via the external CEP?
>>>>
>>>> Thanks
>>>>
>>>> On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <
>>>> ravihansa@wso2.com> wrote:
>>>>
>>>>> Hi Imesh,
>>>>>
>>>>> I've added a test to verify PCA health stat publishing. For this you
>>>>> need to run a WSO2 CEP or Stratos server. Regular http sockets will not
>>>>> work with thrift protocol so I removed thrift socket creation from the
>>>>> test. Since this is a live test, it won't impact the build.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Hi Akila,
>>>>>>
>>>>>> I see $subject in 4.1.x branch, any thoughts?
>>>>>>
>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>> [2015-08-29 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active}
>>>>>> - Port '7712' is not active
>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>> [2015-08-29 23:59:06,189] DEBUG {subscriber.py:on_message} - Message
>>>>>> received: instance/status/InstanceActivatedEvent:
>>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager]
>>>>>> [2015-08-29 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not
>>>>>> found for event : 'InstanceActivatedEvent'
>>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager]
>>>>>> [2015-08-29 23:59:11,189] INFO
>>>>>> {cartridgeagentutils.py:wait_until_ports_active} - Waiting for ports to be
>>>>>> active: [ip] 'localhost' [ports] ['7712']
>>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager]
>>>>>> [2015-08-29 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active}
>>>>>> - Port '7712' is not active
>>>>>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager]
>>>>>> [2015-08-29 23:59:16,191] INFO
>>>>>> {cartridgeagentutils.py:wait_until_ports_active} - Waiting for ports to be
>>>>>> active: [ip] 'localhost' [ports] ['7712']
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Senior Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Akila Ravihansa Perera
>>>>> WSO2 Inc.;  http://wso2.com/
>>>>>
>>>>> Blog: http://ravihansa3000.blogspot.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Akila Ravihansa Perera
>>> WSO2 Inc.;  http://wso2.com/
>>>
>>> Blog: http://ravihansa3000.blogspot.com
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com

Re: [Dev] PCA Live Test is Failing

Posted by Akila Ravihansa Perera <ra...@wso2.com>.
Hi Imesh,

Yes, thanks for correcting :)

I made a wrong assumption since Thrift required generating service classes.
It seems Thrift is more like a RPC framework but not bounded to RPC.

As you noticed, Thrift client is expecting a session id so we need to
implement session handling part if we go down Java sockets path. I tried to
embed a Thrift server but hit a blocker since Apache Thrift library
required generating service classes. I've raised this question on WSO2 dev
list [1] to see if CEP Thrift receiver could be embedded. Will dig into
this and figure out a better approach.

[1] [Test Automation] Mocking Thrift server for an integration test

Thanks.


On Sun, Aug 30, 2015 at 12:58 AM, Imesh Gunaratne <im...@apache.org> wrote:

> As we discussed offline I do not think Thrift is a RPC based protocol. IMO
> it can be used for implementing RPC based services but the protocol may not
> RPC based.
>
> I had a look at the Thrift client code, its waiting for a session id from
> the server after connecting. Therefore a standard socket might not work.
> Your guess should be correct.
>
> May be we can try to start a Thrift Data Receiver in a separate thread and
> see whether we can use that to mock a CEP server.
>
> Thanks
>
> On Sun, Aug 30, 2015 at 12:22 AM, Akila Ravihansa Perera <
> ravihansa@wso2.com> wrote:
>
>> Hi Imesh,
>>
>> It won't work since Thrift is a RPC based protocol not a messaging based
>> one. So you need to have those service classes generated via a tool (like
>> Axis2). I was looking for a way to mock the CEP server but didn't have
>> enough time to complete it. For now we can run a CEP server externally and
>> assert the stat publishing by checking agent's log. That's not the ideal
>> approach. But that will give a certain level of assurance until we find a
>> proper way.
>>
>> Thanks.
>>
>> On Sun, Aug 30, 2015 at 12:16 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> Thanks for the quick response!
>>>
>>> I prefer if we can simplify this. Why would not a socket
>>> (java.net.ServerSocket) work with Thrift? Then again is there a way for the
>>> live test to assert statistics published via the external CEP?
>>>
>>> Thanks
>>>
>>> On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <
>>> ravihansa@wso2.com> wrote:
>>>
>>>> Hi Imesh,
>>>>
>>>> I've added a test to verify PCA health stat publishing. For this you
>>>> need to run a WSO2 CEP or Stratos server. Regular http sockets will not
>>>> work with thrift protocol so I removed thrift socket creation from the
>>>> test. Since this is a live test, it won't impact the build.
>>>>
>>>> Thanks.
>>>>
>>>> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Hi Akila,
>>>>>
>>>>> I see $subject in 4.1.x branch, any thoughts?
>>>>>
>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>>>> 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>>>>> '7712' is not active
>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>>>> 23:59:06,189] DEBUG {subscriber.py:on_message} - Message received:
>>>>> instance/status/InstanceActivatedEvent:
>>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>>>> 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not found for event
>>>>> : 'InstanceActivatedEvent'
>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>>>>> 23:59:11,189] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>>>>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>>>>> 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>>>>> '7712' is not active
>>>>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager] [2015-08-29
>>>>> 23:59:16,191] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>>>>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>>>>
>>>>> Thanks
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Senior Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Akila Ravihansa Perera
>>>> WSO2 Inc.;  http://wso2.com/
>>>>
>>>> Blog: http://ravihansa3000.blogspot.com
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Akila Ravihansa Perera
>> WSO2 Inc.;  http://wso2.com/
>>
>> Blog: http://ravihansa3000.blogspot.com
>>
>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com

Re: [Dev] PCA Live Test is Failing

Posted by Imesh Gunaratne <im...@apache.org>.
As we discussed offline I do not think Thrift is a RPC based protocol. IMO
it can be used for implementing RPC based services but the protocol may not
RPC based.

I had a look at the Thrift client code, its waiting for a session id from
the server after connecting. Therefore a standard socket might not work.
Your guess should be correct.

May be we can try to start a Thrift Data Receiver in a separate thread and
see whether we can use that to mock a CEP server.

Thanks

On Sun, Aug 30, 2015 at 12:22 AM, Akila Ravihansa Perera <ravihansa@wso2.com
> wrote:

> Hi Imesh,
>
> It won't work since Thrift is a RPC based protocol not a messaging based
> one. So you need to have those service classes generated via a tool (like
> Axis2). I was looking for a way to mock the CEP server but didn't have
> enough time to complete it. For now we can run a CEP server externally and
> assert the stat publishing by checking agent's log. That's not the ideal
> approach. But that will give a certain level of assurance until we find a
> proper way.
>
> Thanks.
>
> On Sun, Aug 30, 2015 at 12:16 AM, Imesh Gunaratne <im...@apache.org>
> wrote:
>
>> Thanks for the quick response!
>>
>> I prefer if we can simplify this. Why would not a socket
>> (java.net.ServerSocket) work with Thrift? Then again is there a way for the
>> live test to assert statistics published via the external CEP?
>>
>> Thanks
>>
>> On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <
>> ravihansa@wso2.com> wrote:
>>
>>> Hi Imesh,
>>>
>>> I've added a test to verify PCA health stat publishing. For this you
>>> need to run a WSO2 CEP or Stratos server. Regular http sockets will not
>>> work with thrift protocol so I removed thrift socket creation from the
>>> test. Since this is a live test, it won't impact the build.
>>>
>>> Thanks.
>>>
>>> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Hi Akila,
>>>>
>>>> I see $subject in 4.1.x branch, any thoughts?
>>>>
>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>>> 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>>>> '7712' is not active
>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>>> 23:59:06,189] DEBUG {subscriber.py:on_message} - Message received:
>>>> instance/status/InstanceActivatedEvent:
>>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>>> 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not found for event
>>>> : 'InstanceActivatedEvent'
>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>>>> 23:59:11,189] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>>>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>>>> 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>>>> '7712' is not active
>>>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager] [2015-08-29
>>>> 23:59:16,191] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>>>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>>>
>>>> Thanks
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Senior Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Akila Ravihansa Perera
>>> WSO2 Inc.;  http://wso2.com/
>>>
>>> Blog: http://ravihansa3000.blogspot.com
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
Imesh Gunaratne

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

Re: [Dev] PCA Live Test is Failing

Posted by Akila Ravihansa Perera <ra...@wso2.com>.
Hi Imesh,

It won't work since Thrift is a RPC based protocol not a messaging based
one. So you need to have those service classes generated via a tool (like
Axis2). I was looking for a way to mock the CEP server but didn't have
enough time to complete it. For now we can run a CEP server externally and
assert the stat publishing by checking agent's log. That's not the ideal
approach. But that will give a certain level of assurance until we find a
proper way.

Thanks.

On Sun, Aug 30, 2015 at 12:16 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Thanks for the quick response!
>
> I prefer if we can simplify this. Why would not a socket
> (java.net.ServerSocket) work with Thrift? Then again is there a way for the
> live test to assert statistics published via the external CEP?
>
> Thanks
>
> On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <
> ravihansa@wso2.com> wrote:
>
>> Hi Imesh,
>>
>> I've added a test to verify PCA health stat publishing. For this you need
>> to run a WSO2 CEP or Stratos server. Regular http sockets will not work
>> with thrift protocol so I removed thrift socket creation from the test.
>> Since this is a live test, it won't impact the build.
>>
>> Thanks.
>>
>> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> Hi Akila,
>>>
>>> I see $subject in 4.1.x branch, any thoughts?
>>>
>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>> 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>>> '7712' is not active
>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>> 23:59:06,189] DEBUG {subscriber.py:on_message} - Message received:
>>> instance/status/InstanceActivatedEvent:
>>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>>> 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not found for event
>>> : 'InstanceActivatedEvent'
>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>>> 23:59:11,189] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>>> 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>>> '7712' is not active
>>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager] [2015-08-29
>>> 23:59:16,191] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>>
>>> Thanks
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Senior Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Akila Ravihansa Perera
>> WSO2 Inc.;  http://wso2.com/
>>
>> Blog: http://ravihansa3000.blogspot.com
>>
>
>
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com

Re: [Dev] PCA Live Test is Failing

Posted by Imesh Gunaratne <im...@apache.org>.
Thanks for the quick response!

I prefer if we can simplify this. Why would not a socket
(java.net.ServerSocket) work with Thrift? Then again is there a way for the
live test to assert statistics published via the external CEP?

Thanks

On Sun, Aug 30, 2015 at 12:07 AM, Akila Ravihansa Perera <ravihansa@wso2.com
> wrote:

> Hi Imesh,
>
> I've added a test to verify PCA health stat publishing. For this you need
> to run a WSO2 CEP or Stratos server. Regular http sockets will not work
> with thrift protocol so I removed thrift socket creation from the test.
> Since this is a live test, it won't impact the build.
>
> Thanks.
>
> On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org>
> wrote:
>
>> Hi Akila,
>>
>> I see $subject in 4.1.x branch, any thoughts?
>>
>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>> 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>> '7712' is not active
>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>> 23:59:06,189] DEBUG {subscriber.py:on_message} - Message received:
>> instance/status/InstanceActivatedEvent:
>> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
>> 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not found for event
>> : 'InstanceActivatedEvent'
>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>> 23:59:11,189] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
>> 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
>> '7712' is not active
>> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager] [2015-08-29
>> 23:59:16,191] INFO {cartridgeagentutils.py:wait_until_ports_active} -
>> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>>
>> Thanks
>>
>> --
>> Imesh Gunaratne
>>
>> Senior Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Akila Ravihansa Perera
> WSO2 Inc.;  http://wso2.com/
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
Imesh Gunaratne

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

Re: [Dev] PCA Live Test is Failing

Posted by Akila Ravihansa Perera <ra...@wso2.com>.
Hi Imesh,

I've added a test to verify PCA health stat publishing. For this you need
to run a WSO2 CEP or Stratos server. Regular http sockets will not work
with thrift protocol so I removed thrift socket creation from the test.
Since this is a live test, it won't impact the build.

Thanks.

On Sun, Aug 30, 2015 at 12:00 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi Akila,
>
> I see $subject in 4.1.x branch, any thoughts?
>
> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
> 23:59:06,184] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
> '7712' is not active
> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
> 23:59:06,189] DEBUG {subscriber.py:on_message} - Message received:
> instance/status/InstanceActivatedEvent:
> [2015-08-29 23:59:06,219]  INFO - [PythonAgentTestManager] [2015-08-29
> 23:59:06,189] DEBUG {subscriber.py:run} - Event handler not found for event
> : 'InstanceActivatedEvent'
> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
> 23:59:11,189] INFO {cartridgeagentutils.py:wait_until_ports_active} -
> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
> [2015-08-29 23:59:11,266]  INFO - [PythonAgentTestManager] [2015-08-29
> 23:59:11,190] DEBUG {cartridgeagentutils.py:check_ports_active} - Port
> '7712' is not active
> [2015-08-29 23:59:16,293]  INFO - [PythonAgentTestManager] [2015-08-29
> 23:59:16,191] INFO {cartridgeagentutils.py:wait_until_ports_active} -
> Waiting for ports to be active: [ip] 'localhost' [ports] ['7712']
>
> Thanks
>
> --
> Imesh Gunaratne
>
> Senior Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Akila Ravihansa Perera
WSO2 Inc.;  http://wso2.com/

Blog: http://ravihansa3000.blogspot.com