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 <raviha...@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 <
> raviha...@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 <
>>> raviha...@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 <
>>>>> raviha...@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

Reply via email to