iceberg-rust icon indicating copy to clipboard operation
iceberg-rust copied to clipboard

Make the integration tests work on Docker desktop

Open Fokko opened this issue 1 year ago • 5 comments

When I run make test, all the docker-based tests fail because the 172.* does not resolve. I think this is the difference between OSX and Linux when it comes to docker networking. I think it would be better to expose the ports on the host machine and use 127.0.0.1 instead as this should also run on Linux.

running 3 tests
test tests::gcs_exists has been running for over 60 seconds
test tests::gcs_read has been running for over 60 seconds
test tests::gcs_write has been running for over 60 seconds
test tests::gcs_exists ... FAILED
test tests::gcs_read ... FAILED
test tests::gcs_write ... FAILED

failures:

---- tests::gcs_exists stdout ----
thread 'tests::gcs_exists' panicked at crates/iceberg/tests/file_io_gcs_test.rs:67:14:
called `Result::unwrap()` on an `Err` value: error sending request for url (http://172.20.0.2:4443/storage/v1/b)

Caused by:
    0: client error (Connect)
    1: tcp connect error: Operation timed out (os error 60)
    2: Operation timed out (os error 60)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- tests::gcs_read stdout ----
thread 'tests::gcs_read' panicked at crates/iceberg/tests/file_io_gcs_test.rs:67:14:
called `Result::unwrap()` on an `Err` value: error sending request for url (http://172.20.0.2:4443/storage/v1/b)

Caused by:
    0: client error (Connect)
    1: tcp connect error: Operation timed out (os error 60)
    2: Operation timed out (os error 60)

---- tests::gcs_write stdout ----
thread 'tests::gcs_write' panicked at crates/iceberg/tests/file_io_gcs_test.rs:67:14:
called `Result::unwrap()` on an `Err` value: error sending request for url (http://172.20.0.2:4443/storage/v1/b)

Caused by:
    0: client error (Connect)
    1: tcp connect error: Operation timed out (os error 60)
    2: Operation timed out (os error 60)

Fokko avatar Nov 27 '24 10:11 Fokko

Are you using docker or orbstack? I used orbstack and it works well before.

liurenjie1024 avatar Nov 27 '24 12:11 liurenjie1024

I'm using native docker, I might give orbstack a go then. I know that @c-thiel is using Podmon, so maybe we should make the docker bin configurable.

Fokko avatar Nov 27 '24 12:11 Fokko

LOL, it works now. It looks like it is picking up some credentials. After running mv ~/.aws/ ~/.aws.backup/ the error around the invalid token is gone.

Fokko avatar Dec 02 '24 14:12 Fokko

This issue has been automatically marked as stale because it has been open for 180 days with no activity. It will be closed in next 14 days if no further activity occurs. To permanently prevent this issue from being considered stale, add the label 'not-stale', but commenting on the issue is preferred when possible.

github-actions[bot] avatar Sep 17 '25 00:09 github-actions[bot]

I think addressing this issue is still quite valuable. During our last release, I heard several times when contributors complain that it doesn't work with docker. Docker is still the main stream container runtime.

liurenjie1024 avatar Sep 17 '25 09:09 liurenjie1024