Skip to content
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

rook-ceph-tools does not have the s5cmd command #14213

Closed
kubecto opened this issue May 15, 2024 · 7 comments
Closed

rook-ceph-tools does not have the s5cmd command #14213

kubecto opened this issue May 15, 2024 · 7 comments
Labels

Comments

@kubecto
Copy link

kubecto commented May 15, 2024

Is this a bug report or feature request?

  • Bug Report

Deviation from expected behavior:
The rook-ceph-tools container I use does not contain the s5cmd command

containers:
- name: rook-ceph-tools
Image: quay. IO/ceph/ceph: v17.2.5

According to the document

https://rook.io/docs/rook/v1.10/Storage-Configuration/Object-Storage-RGW/object-storage/#put-or-get-an-object

To test uploading files to the bucket, but found no s5cmd command

Expected behavior:
Hopefully, you can use this command
How to reproduce it (minimal and precise):

File(s) to submit:

  • Cluster CR (custom resource), typically called cluster.yaml, if necessary

Logs to submit:

  • Operator's logs, if necessary

  • Crashing pod(s) logs, if necessary

    To get logs, use kubectl -n <namespace> logs <pod name>
    When pasting logs, always surround them with backticks or use the insert code button from the Github UI.
    Read GitHub documentation if you need help.

Cluster Status to submit:

  • Output of kubectl commands, if necessary

    To get the health of the cluster, use kubectl rook-ceph health
    To get the status of the cluster, use kubectl rook-ceph ceph status
    For more details, see the Rook kubectl Plugin

Environment:

  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Cloud provider or hardware configuration:
  • Rook version (use rook version inside of a Rook Pod): rook-1.10.12
  • Storage backend version (e.g. for ceph do ceph -v): ceph version 17.2.5
  • Kubernetes version (use kubectl version):
  • Kubernetes cluster type (e.g. Tectonic, GKE, OpenShift):
  • Storage backend status (e.g. for Ceph use ceph health in the Rook Ceph toolbox):
@kubecto kubecto added the bug label May 15, 2024
@parth-gr
Copy link
Member

We do have a CI test which validates it https://github.com/rook/rook/blob/master/.github/workflows/canary-integration-test.yml#L359, can you recheck the procedure

@travisn
Copy link
Member

travisn commented May 15, 2024

To use s5cmd, create toolbox-operator-image.yaml instead of toolbox.yaml. See also this doc topic.

@kubecto
Copy link
Author

kubecto commented May 16, 2024

When I try to use s5cmd, create toolbox-operator-image.yaml instead of toolbox.yaml. See also this document topic. But an error was reported

  - lastTransitionTime: "2024-05-16T02:20:12Z"
    lastUpdateTime: "2024-05-16T02:20:12Z"
    message: 'pods "rook-ceph-tools-operator-image-5896749545-" is forbidden: error
      looking up service account rook-ceph/rook-ceph-default: serviceaccount "rook-ceph-default"

I can use this by creating a serviceaccount

kubectl create serviceaccount rook-ceph-default -n rook-ceph

kubectl exec -it deploy/rook-ceph-tools-operator-image -n rook-ceph -- s5cmd help
NAME:
   s5cmd - Blazing fast S3 and local filesystem execution tool

USAGE:
   s5cmd [global options] command [command options] [arguments...]

According to https://rook.io/docs/rook/v1.10/Storage-Configuration/Object-Storage-RGW/object-storage/#put-or-get-an-object And the branch of v1.10.12 does not have toolbox-operator-image.yaml. I can only find this yaml from the latest branch. I use the branch of v1.10.12 mainly because it can support the kubernetes cluster after 1.19, which is relatively old rook. The document does seem to leave something out

@BlaineEXE
Copy link
Member

We are no longer providing support or software updates for Rook v1.10. Rook v1.14 and v1.13 are the only actively supported Rook versions currently.

The toolbox-operator-image.yaml manifest is present for Rook v1.12 (release-1.12 branch) and up: https://rook.io/docs/rook/v1.12/Storage-Configuration/Object-Storage-RGW/object-storage/#configure-s5cmd

It seems like you have found a workaround for your use with the older Rook version. You can alternately feel free to build your own image to use with the v1.10 toolbox that uses the ceph image as a base and installs s5cmd.

Given our version support status, I don't see anything here that is actionable on the Rook dev side.

@parth-gr
Copy link
Member

parth-gr commented May 16, 2024

and you can also remove this line https://github.com/rook/rook/blob/master/deploy/examples/toolbox-operator-image.yaml#L25, if you are o lower version,
So that you donot need to create the service account explicitly

@travisn
Copy link
Member

travisn commented May 16, 2024

You could also use the 1.12 version of that toolbox-operator-image.yaml. It would be recommended to update the image version of the toolbox to match your rook version, but otherwise I would expect it to work fine.

@kubecto
Copy link
Author

kubecto commented May 17, 2024

OK, problem solved. I'll shut it down

@kubecto kubecto closed this as completed May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants