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

Eric Yang edited comment on HDDS-1458 at 5/14/19 6:48 PM:
----------------------------------------------------------

{quote}Can we support both the approaches?{quote}

It can be done, but there is no value to run integration-test in release 
tarball IMHO.  In maven life cycle, package must happen before integration-test 
because the distributable format needs to completed first before QA probe the 
generated artifact to see if this product can pass certification.  This applies 
to docker compose file that it needs to be able to reference to generated 
docker image.  The dist module builds before fault-injection module.  
Therefore, bundling of releasable docker-compose file happens before 
fault-injection module have a chance to tag version number into 
fault-injection's docker-compose file.  There is no version number in the 
released docker-compose file, hence running the test from release tarball 
produces inaccurate results because it is using latest image instead of version 
specific docker image.  This problem exists with blockade tests when HDDS-1216 
is implemented.  I made the gesture to keep blockade test runnable in release 
tarball with identical inaccurate result behavior.  However, I don't intend to 
continue to strait from good engineering practices for new features.  It would 
be better to minimize maven submodule project from spawn tentacle to other 
sibling projects to copy resource files.  This ensure each module can build 
independently or download dependencies from maven repository.  Ozone project 
currently violates many of the disciplines with relative reference to dist 
target directory, and layout-stitching scripts.  I don't intend to further 
encourage those bad practices.


was (Author: eyang):
{quote}Can we support both the approaches?{quote}

Sure, but there is no value to run integration-test in release tarball IMHO.

> Create a maven profile to run fault injection tests
> ---------------------------------------------------
>
>                 Key: HDDS-1458
>                 URL: https://issues.apache.org/jira/browse/HDDS-1458
>             Project: Hadoop Distributed Data Store
>          Issue Type: Test
>            Reporter: Eric Yang
>            Assignee: Eric Yang
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: HDDS-1458.001.patch, HDDS-1458.002.patch, 
> HDDS-1458.003.patch, HDDS-1458.004.patch, HDDS-1458.005.patch, 
> HDDS-1458.006.patch, HDDS-1458.007.patch
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> Some fault injection tests have been written using blockade.  It would be 
> nice to have ability to start docker compose and exercise the blockade test 
> cases against Ozone docker containers, and generate reports.  This is 
> optional integration tests to catch race conditions and fault tolerance 
> defects. 
> We can introduce a profile with id: it (short for integration tests).  This 
> will launch docker compose via maven-exec-plugin and run blockade to simulate 
> container failures and timeout.
> Usage command:
> {code}
> mvn clean verify -Pit
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to