Skip to content

HDDS-13446. Replace goofys with mountpoint-s3 in ozone-docker-runner#50

Merged
adoroszlai merged 4 commits into
apache:masterfrom
echonesis:HDDS-13446
Jul 18, 2025
Merged

HDDS-13446. Replace goofys with mountpoint-s3 in ozone-docker-runner#50
adoroszlai merged 4 commits into
apache:masterfrom
echonesis:HDDS-13446

Conversation

@echonesis

@echonesis echonesis commented Jul 16, 2025

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Apache Ozone presently utilizes goofys as its S3 FUSE implementation. Given that the goofys repository has been forked and is now under the maintenance of StatCan, our intention is to transition to mountpoint-s3, an AWS Labs-maintained package, for subsequent development efforts.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-13446

How was this patch tested?

$ ./build.sh
...

$ docker run -it --rm apache/ozone-runner:dev bash

[hadoop@e9911f14f942 ~]$ which mount-s3
/usr/bin/mount-s3

[hadoop@e9911f14f942 ~]$ which goofys
/usr/bin/which: no goofys in 

CI: https://github.com/echonesis/ozone-docker-runner/actions/runs/16337455101

@jojochuang jojochuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. But I would like to wait until the Ozone CSI is ready to migrate to goofys. Otherwise acceptance tests will fail.

Comment thread Dockerfile Outdated
Comment on lines +48 to +57
RUN set -eux ; \
ARCH="$(arch)"; \
case "${ARCH}" in \
x86_64) arch='x86_64' ;; \
aarch64) arch='arm64' ;; \
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; \
esac; \
curl -L -o /tmp/mount-s3.rpm "https://s3.amazonaws.com/mountpoint-s3-release/latest/${arch}/mount-s3.rpm"; \
dnf install -y /tmp/mount-s3.rpm; \
rm -f /tmp/mount-s3.rpm

@jojochuang jojochuang Jul 17, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest to use a fixed version instead of the latest version:

Suggested change
RUN set -eux ; \
ARCH="$(arch)"; \
case "${ARCH}" in \
x86_64) arch='x86_64' ;; \
aarch64) arch='arm64' ;; \
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; \
esac; \
curl -L -o /tmp/mount-s3.rpm "https://s3.amazonaws.com/mountpoint-s3-release/latest/${arch}/mount-s3.rpm"; \
dnf install -y /tmp/mount-s3.rpm; \
rm -f /tmp/mount-s3.rpm
RUN set -eux ; \
ARCH="$(arch)"; \
MOUNTPOINT_S3_VERSION="1.19.0"; \
case "${ARCH}" in \
x86_64) url="https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/x86_64/mount-s3-${MOUNTPOINT_S3_VERSION}-x86_64.rpm" ;; \
aarch64) url="https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/arm64/mount-s3-${MOUNTPOINT_S3_VERSION}-arm64.rpm" ;; \
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; \
esac; \
curl -L ${url} -o mount-s3.rpm ; \
dnf install -y mount-s3.rpm ; \
rm -f mount-s3.rpm

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jojochuang , it's a better solution.
I will modify it ASAP.

Comment thread Dockerfile Outdated
Comment on lines +52 to +56
x86_64) url="https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/x86_64/mount-s3-${MOUNTPOINT_S3_VERSION}-x86_64.rpm" ;; \
aarch64) url="https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/arm64/mount-s3-${MOUNTPOINT_S3_VERSION}-arm64.rpm" ;; \
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; \
esac; \
curl -L ${url} -o mount-s3.rpm ; \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: please reduce duplication

Suggested change
x86_64) url="https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/x86_64/mount-s3-${MOUNTPOINT_S3_VERSION}-x86_64.rpm" ;; \
aarch64) url="https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/arm64/mount-s3-${MOUNTPOINT_S3_VERSION}-arm64.rpm" ;; \
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; \
esac; \
curl -L ${url} -o mount-s3.rpm ; \
x86_64) arch='x86_64' ;; \
aarch64) arch='arm64' ;; \
*) echo "Unsupported architecture: ${ARCH}"; exit 1 ;; \
esac; \
curl -L "https://s3.amazonaws.com/mountpoint-s3-release/${MOUNTPOINT_S3_VERSION}/${arch}/mount-s3-${MOUNTPOINT_S3_VERSION}-${arch}.rpm" -o mount-s3.rpm ; \

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @adoroszlai for reviewing the duplication issue.

@echonesis
echonesis requested a review from adoroszlai July 18, 2025 09:44
@adoroszlai
adoroszlai merged commit 1aa8dee into apache:master Jul 18, 2025
1 check passed
@adoroszlai

Copy link
Copy Markdown
Contributor

Thanks @echonesis for the patch, @jojochuang for the review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants