HDDS-10414. Some acceptance tests fail with Docker Compose V2#6269
HDDS-10414. Some acceptance tests fail with Docker Compose V2#6269adoroszlai merged 8 commits intoapache:masterfrom
Conversation
|
@dombizita @devmadhuu Could you please take a look. |
|
@ArafatKhan2198 Please include information about the Docker (and Docker Compose) version where the test is failing. |
|
So my local docker versions are the following :- |
|
@ArafatKhan2198 please check whether |
|
Hi @adoroszlai can you please take a look The hadoop-ozone/dist/src/main/smoketest/topology/cli.robot ran locally as well |
adoroszlai
left a comment
There was a problem hiding this comment.
Thanks @ArafatKhan2198 for the patch.
| Should Contain ${output} State = HEALTHY | ||
| Should Contain ${output} IN_SERVICE | ||
| Should Match Regexp ${output} .*datanode[-_]\\d+.*IN_SERVICE.* |
There was a problem hiding this comment.
State = HEALTHY was not in the original expected content, why is it added?
Why is check for rack2 removed?
There was a problem hiding this comment.
Each test case begins by checking for the State = HEALTHY output, ensuring that the overall state of the system or the datanodes is as expected.
All the commands start with this line.
sh-4.2$ ozone admin printTopology
State = HEALTHY
172.19.0.8(ozone-datanode-4.ozone_default):HTTP=9882,CLIENT_RPC=19864,REPLICATION=9886,RATIS=9858,RATIS_ADMIN=9857,RATIS_SERVER=9856,RATIS_DATASTREAM=9855,STANDALONE=9859 IN_SERVICE /default-rack
172.19.0.10(ozone-datanode-1.ozone_default):HTTP=9882,CLIENT_RPC=19864,REPLICATION=9886,RATIS=9858,RATIS_ADMIN=9857,RATIS_SERVER=9856,RATIS_DATASTREAM=9855,STANDALONE=9859 IN_SERVICE /default-rack
172.19.0.7(ozone-datanode-5.ozone_default):HTTP=9882,CLIENT_RPC=19864,REPLICATION=9886,RATIS=9858,RATIS_ADMIN=9857,RATIS_SERVER=9856,RATIS_DATASTREAM=9855,STANDALONE=9859 IN_SERVICE /default-rack
And I have added the check for rack again
There was a problem hiding this comment.
I think it would be better to remove it since we want this test to work regardless of the health of DN's
| Should Contain ${output} State = HEALTHY | ||
| Should Contain ${output} IN_SERVICE | ||
| Should Match Regexp ${output} .*ozone.*datanode[-_]\\d+.*IN_SERVICE.* |
There was a problem hiding this comment.
Let's avoid duplicating assertions. Please extract a Keyword and use it in all test cases.
|
Thanks @ArafatKhan2198 for updating the patch, latest patch looks good. Let's have someone with Docker Compose V2 also check it. |
|
Tested this patch locally in docker, LGTM (I have some issues with recon UI working in my system so I think the other test failures are related to that) |
devmadhuu
left a comment
There was a problem hiding this comment.
Thanks @ArafatKhan2198 for working on the fix. Changes LGTM +1 and tested on following docker and docker-compose versions:
docker-compose --version
Docker Compose version v2.18.1
docker --version
Docker version 24.0.2, build cb74dfc
../test-single.sh om topology/cli.robot
==============================================================================
Cli :: Smoketest ozone cluster startup
==============================================================================
Run printTopology | PASS |
------------------------------------------------------------------------------
Run printTopology -o | PASS |
------------------------------------------------------------------------------
Run printTopology --operational-state IN_SERVICE | PASS |
------------------------------------------------------------------------------
Run printTopology --node-state HEALTHY | PASS |
------------------------------------------------------------------------------
Cli :: Smoketest ozone cluster startup | PASS |
4 tests, 4 passed, 0 failed
==============================================================================
../test-single.sh om recon/recon-api.robot
==============================================================================
Recon-Api :: Smoke test to start cluster with docker-compose environments.
==============================================================================
Check if Recon picks up OM data | PASS |
------------------------------------------------------------------------------
Check if Recon picks up DN heartbeats | PASS |
------------------------------------------------------------------------------
Check if Recon Web UI is up | PASS |
------------------------------------------------------------------------------
Check web UI access | PASS |
------------------------------------------------------------------------------
Check admin only api access | PASS |
------------------------------------------------------------------------------
Check unhealthy, (admin) api access | PASS |
------------------------------------------------------------------------------
Check normal api access | PASS |
------------------------------------------------------------------------------
Recon-Api :: Smoke test to start cluster with docker-compose envir... | PASS |
7 tests, 7 passed, 0 failed
==============================================================================
|
Thanks @ArafatKhan2198 for the patch, @devmadhuu, @Tejaskriya for the review. |
What changes were proposed in this pull request?
Recon Acceptance test is failing for the robot test :-
The discrepancy arises because, in local Docker setups, DataNodes are named using hyphens, such as
datanode-1, whereas in the upstream (CI) environment, DataNodes utilize underscores, likedatanode_1. This variation in naming conventions leads to inconsistencies across different environments.What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10414
How was this patch tested?
The acceptance test passed locally :-
And in the forked CI :- https://github.com/ArafatKhan2198/ozone/actions/runs/8030499503