Make the integration tests work on Docker desktop
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)
Are you using docker or orbstack? I used orbstack and it works well before.
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.
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.
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.
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.