[ 
https://issues.apache.org/jira/browse/HBASE-4821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13153223#comment-13153223
 ] 

Roman Shaposhnik commented on HBASE-4821:
-----------------------------------------

Bigtop (http://incubator.apache.org/projects/bigtop.html) aims at providing a 
platform for the creations of exactly the kind of tests you're talking about 
*across* all the projects of a Hadoop stack. Granted, we're a young project and 
our test management framework is nowhere near the scope and quality of 
something like TestNG, but I think it will be helpful to invest in improving 
it. To give you a quick idea of the baseline architecture, here's what Bigtop 
testing framework assumes:
   1. all tests are implemented as code running on top of JVM. We don't care 
what language it is (Java, Groovy, Clojure, etc) as long as at the end of the 
day there's a bunch of class files generated.
   2. all tests are packaged/versioned as Maven artifacts
   3. all test data is packaged/versioned as Maven artifacts
   4. the entry point into test execution is via Junit/TestNG-style
   5. tests NEVER concern themselves with deployment (we've got Puppet for that)
   6. tests NEVER concern themselves with configuration (we've got Puppet for 
that)

If you think Bigtop can serve as a reasonable platform for what you're trying 
to accomplish, lets continue this discussion over at bigtop-dev@incubator (and 
Bigtop JIRAs).
                
> A fully automated comprehensive distributed integration test for HBase
> ----------------------------------------------------------------------
>
>                 Key: HBASE-4821
>                 URL: https://issues.apache.org/jira/browse/HBASE-4821
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Mikhail Bautin
>            Assignee: Mikhail Bautin
>
> To properly verify that a particular version of HBase is good for production 
> deployment we need a better way to do real cluster testing after incremental 
> changes. Running unit tests is good, but we also need to deploy HBase to a 
> cluster, run integration tests, load tests, Thrift server tests, kill some 
> region servers, kill the master, and produce a report. All of this needs to 
> happen in 20-30 minutes with minimal manual intervention. I think this way we 
> can combine agile development with high stability of the codebase. I am 
> envisioning a high-level framework written in a scripting language (e.g. 
> Python) that would abstract external operations such as "deploy to test 
> cluster", "kill a particular server", "run load test A", "run load test B" 
> (we already have a few kinds of load tests implemented in Java, and we could 
> write a Thrift load test in Python). This tool should also produce 
> intermediate output, allowing to catch problems early and restart the test.
> No implementation has yet been done. Any ideas or suggestions are welcome.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to