Additional relevant discussion happening here as well:

https://issues.apache.org/jira/browse/STORM-1179 
<https://issues.apache.org/jira/browse/STORM-1179>

I also have my own set of utilities that I use for testing fault tolerance, 
etc. — the main feature is automated execution of commands over ssh and 
simulation of network partitions, etc. with ipchains.

If duck tape supports something similar, that would be great, especially when 
it comes to testing things like Nimbus HA.

-Taylor


> On Nov 6, 2015, at 9:40 AM, Bobby Evans <[email protected]> wrote:
> 
> Yes we too have similar tests based on internal Yahoo testing.  Really it 
> comes down to a few operations that the test framework needs to be able to do 
> 1) node/VM allocation 2) deployment 3) modify configuration/processes on 
> running nodes 4) run actual tests.
> The first three are often specific to the setup.  Is it open stack?  Amazon 
> EC2?  Are we using ssh to go between nodes, or is it something else?  All of 
> this is something that we should be able to accomplish with an abstraction 
> layer.  ducktape appears to have a fairly decent abstraction layer for the 
> first even allowing for a static JSON config for the hosts.  The only other 
> requirement seems to be ssh access between the nodes so it can run various 
> python scripts.  As we are developing these tests we probably want to be sure 
> that we have a pluggable abstraction for the other layers as well.  That way 
> if I am using RPMs and Chef to do a deployment and be sure my RPM packaging 
> is correct I can do that, and if someone else just wants to take the TGZ and 
> scp it everywhere that works too.
> I also hope that we can limit the score of these tests.  The current Yahoo 
> integration tests take several hours to run because we are constantly trying 
> to reconfigure the cluster to test different setups.  Ideally we can test 
> failure scenarios and basic integration with other tools, but anything that 
> can be done on a LocalCluster should probably be tested there, to reduce the 
> total running time and debugging complexity.
> - Bobby
> 
>     On Thursday, November 5, 2015 10:51 PM, Harsha <[email protected]> wrote:
> 
> 
> Thanks Longda. Can you update this JIRA with list of tests cases that
> you  are running in this JIRA
> https://issues.apache.org/jira/browse/STORM-1179
> -Harsha
> 
> On Thu, Nov 5, 2015, at 08:32 PM, 封仲淹(纪君祥LongdaFeng) wrote:
>> +1
>> By the way, Tong(王桐) can work for this. Tong is responsible for the
>> automatically daily JStorm test, the only problem is that the
>> automatically daily JStorm test is basing on Alibaba testing framework.
>> Some of the components can't run on outside.
>> But we can share the test cases firstly. Then we will try to port the old
>> test cases to the storm tests.
>> 
>> regardsLongda
>> ------------------------------------------------------------------From:P.
>> Taylor Goetz <[email protected]>Send Time:2015年11月6日(星期五)
>> 12:12To:[email protected] <[email protected]>Subject:Re:
>> [Discusson] Storm System Tests
>> +1
>> I think we should experiment with this. If it can serve us well, and we
>> all agree, then we should consider adopting it.
>> 
>> From what I see:
>> 
>> * Icense is compatible
>> * fairly well documented.
>> 
>> What potentially worries me:
>> 
>> * Maintenance. Can we count on updates? Is the ducktape community open to
>> accepting patches from us? If so, what would be the turnaround time for
>> acceptance?
>> 
>> -Taylor
>> 
>>>  On Nov 5, 2015, at 8:54 PM, Harsha <[email protected]> wrote:
>>> 
>>>  The reason for suggesting ducktape not just used in apache kafka but
>>>  also its getting security services integration like kdc and already has
>>>  zookeeper. This framework can work with vagrant vms or amazon ec2 etc..
>>> 
>>>>  On Thu, Nov 5, 2015, at 11:49 AM, Hugo Da Cruz Louro wrote:
>>>>  Great, will make this a priority. Created a
>>>>  JIRA<https://issues.apache.org/jira/browse/STORM-1179> ticket and
>>>>  assigned it to me.
>>>> 
>>>>  https://issues.apache.org/jira/browse/STORM-1179
>>>> 
>>>> 
>>>>  On Nov 5, 2015, at 11:40 AM, Bobby Evans
>>>>  <[email protected]<mailto:[email protected]>> wrote:
>>>> 
>>>>  Hugo,
>>>> 
>>>>  I would love to see that happen.  It has been on my list for a while, but
>>>>  I have never found the time to do it. I personally am +1 on this,
>>>>  hopefully we can do this quickly in preparation for a 0.11.0 release.
>>>> 
>>>>  - Bobby
>>>> 
>>>> 
>>>> 
>>>>  On Thursday, November 5, 2015 1:37 PM, Hugo Da Cruz Louro
>>>>  <[email protected]<mailto:[email protected]>> wrote:
>>>> 
>>>> 
>>>>  I a agree with these three levels of testing, and that at the very least
>>>>  we should keep unit tests separated from the system/integration tests.
>>>>  One huge advantage would be to quickly run unit tests that hopefully are
>>>>  more predictable, and thus avoid intermittent test fails.
>>>> 
>>>>  Bobby just mentioned but I had already in mind that it would be useful to
>>>>  create different maven profiles for integration and unit tests. I have
>>>>  done something similar in a different project and it works really well.
>>>>  If we agree that it is something we want to implement here, I will create
>>>>  a JIRA ticket for this and get it done. Please let me know.
>>>> 
>>>>  Thanks,
>>>>  Hugo
>>>> 
>>>>>  On Nov 5, 2015, at 11:23 AM, Bobby Evans 
>>>>> <[email protected]<mailto:[email protected]>> wrote:
>>>>> 
>>>>>  I totally agree.  Too many of our "unit" tests are integration tests and 
>>>>> end up spinning up an entire local-mode cluster.
>>>>>  I personally would like to see three levels of testing.
>>>>>  1) true unit tests.  They only touch the code under test and very little 
>>>>> else.  The should be what you get when you run mvn test2) integration 
>>>>> tests.  These should spin up local mode clusters and modify configs/etc 
>>>>> to get a decent set of more white box tests.  The should run as a part of 
>>>>> trivis-ci, and probably should run by enabling a special profile.3) 
>>>>> Sanity Integration Tests.  ducktape looks like a great fit here.  I would 
>>>>> love to see us spin up an few different scenarios for testing, 
>>>>> with/without security.  Talking to Kafka, Hadoop(HBase, HDFS, Hive), 
>>>>> redis, elastasearch, etc.
>>>>>  These would be run frequently but not necessarily a part of CI initially.
>>>>>  - Bobby
>>>>> 
>>>>> 
>>>>>    On Wednesday, November 4, 2015 7:21 PM, Harsha 
>>>>> <[email protected]<mailto:[email protected]>> wrote:
>>>>> 
>>>>> 
>>>>>  Hi All,
>>>>>          As community we are growing and adding new and exciting
>>>>>          features to Storm and also we've ever growing connector which
>>>>>          only helps in storm adoption. One thing we've severely lacking
>>>>>          is system tests. There are unit tests which acts as
>>>>>          integration tests to storm-core but there are no system wide
>>>>>          integration tests that can spin up kafka nodes and storm ,
>>>>>          hbase and run a topology that can make sure the data is
>>>>>          getting into hbase.
>>>>>        We at Hortonworks use our test topologies run some of these
>>>>>        tests but this integration code to spin up vms or nodes is hard
>>>>>        to share. In apache kafka we are using ducktape to write system
>>>>>        tests so far its working out good. If there are any other
>>>>>        frameworks you've in mind we can definitely take a look. But as
>>>>>        a community we need start looking at
>>>>>        https://github.com/confluentinc/ducktape or similar frameworks
>>>>>        to start writing systems tests. Ducktape makes it  easy to run
>>>>>        in a vm or any other infrastructure.  Appreciate any feedback
>>>>>        on this.
>>>>> 
>>>>>  Thanks,
>>>>>  Harsha
>>>> 
>>>> 
>>>> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to