-
Notifications
You must be signed in to change notification settings - Fork 446
Updates Podman Instructions, Docker-Compose, & Spark Script #1553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
195ed6e
854edad
8682b4d
908b089
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -30,6 +30,8 @@ | |
| .getOrCreate() | ||
| ) | ||
|
|
||
| spark.sql(f"""CREATE NAMESPACE IF NOT EXISTS rest.default""") | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 this is due to the new default behavior change for iceberg-rest-fixture
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you for the added context! |
||
|
|
||
| spark.sql( | ||
| f""" | ||
| CREATE OR REPLACE TABLE rest.default.test_positional_merge_on_read_deletes ( | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,24 +19,30 @@ | |
|
|
||
| # Using Podman instead of Docker | ||
|
|
||
| Iceberg-rust does not require containerization, except for integration tests, where "docker" and "docker-compose" are used to start containers for minio and various catalogs. Below instructions setup "rootful podman" and docker's official docker-compose plugin to run integration tests as an alternative to docker or Orbstack. | ||
| Iceberg-rust does not require containerization, except for integration tests, where "docker" and "docker-compose" are used to start containers for minio and various catalogs. Below instructions setup "rootful podman" and docker's official docker-compose plugin to run integration tests as an alternative to docker or Orbstack. | ||
|
|
||
| 1. Have podman v4 or newer. | ||
| ```console | ||
| ```shell | ||
| $ podman --version | ||
| podman version 4.9.4-rhel | ||
| ``` | ||
|
|
||
| 2. Open file `/usr/bin/docker` and add the below contents: | ||
| 2. Create a docker wrapper script: | ||
|
|
||
| * Create a fresh `/usr/bin/docker` file and add the below contents: | ||
| ```bash | ||
| #!/bin/sh | ||
| [ -e /etc/containers/nodocker ] || \ | ||
| echo "Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg." >&2 | ||
| exec sudo /usr/bin/podman "$@" | ||
| ``` | ||
|
|
||
| * Set new `/usr/bin/docker` file to executable. | ||
| ```shell | ||
| sudo chmod +x /usr/bin/docker | ||
| ``` | ||
|
Comment on lines
+29
to
+42
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: is the goal for the docker wrapper script to alias podman as docker? can we add an
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Adding an alias was a step I forgot to document, but it wouldn't be a replacement for this script. Without the above script I was seeing issues where podman wasn't looking in the correct folder for the docker-compose.yaml file to pass to docker-compose plugin. |
||
|
|
||
| 3. Install the [docker compose plugin](https://docs.docker.com/compose/install/linux). Check for successful installation. | ||
| ```console | ||
| ```shell | ||
| $ docker compose version | ||
| Docker Compose version v2.28.1 | ||
| ``` | ||
|
|
@@ -53,7 +59,7 @@ Iceberg-rust does not require containerization, except for integration tests, wh | |
| ``` | ||
|
|
||
| 6. Check that the following symlink exists. | ||
| ```console | ||
| ```shell | ||
| $ ls -al /var/run/docker.sock | ||
| lrwxrwxrwx 1 root root 27 Jul 24 12:18 /var/run/docker.sock -> /var/run/podman/podman.sock | ||
| ``` | ||
|
|
@@ -83,3 +89,12 @@ As of podman v4, ["To be succinct and simple, when running rootless containers, | |
|
|
||
| * <https://www.redhat.com/sysadmin/container-ip-address-podman> | ||
| * <https://github.com/containers/podman/blob/main/docs/tutorials/basic_networking.md> | ||
|
|
||
| # Debugging Note: | ||
| - Fix for error: `Error: short-name "apache/iceberg-rest-fixture" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"` | ||
| - Add or modify the `/etc/containers/registries.conf` file: | ||
| ```toml | ||
| [[registry]] | ||
| prefix = "docker.io" | ||
| location = "docker.io" | ||
| ``` | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like
linksanddepends_onare doing the same thing, so we can remove thishttps://stackoverflow.com/questions/35832095/difference-between-links-and-depends-on-in-docker-compose-yml