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

ceph: update endpoint with IP for external RGW server #9010

Merged
merged 1 commit into from Oct 25, 2021

Conversation

thotz
Copy link
Contributor

@thotz thotz commented Oct 20, 2021

Description of your changes:
For external RGW server use the IP mentioned in Gateway for admin Ops
operattions.

Signed-off-by: Jiffin Tony Thottan thottanjiffin@gmail.com

Which issue is resolved by this Pull Request:
Resolves #8916

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Skip Tests for Docs: Add the flag for skipping the build if this is only a documentation change. See here for the flag.
  • Skip Unrelated Tests: Add a flag to run tests for a specific storage provider. See test options.
  • Reviewed the developer guide on Submitting a Pull Request
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.
  • Pending release notes updated with breaking and/or notable changes, if necessary.
  • Upgrade from previous release is tested and upgrade user guide is updated, if necessary.
  • Code generation (make codegen) has been run to update object specifications, if necessary.

@thotz thotz requested a review from leseb October 20, 2021 09:09
@mergify mergify bot added the ceph main ceph tag label Oct 20, 2021
@subhamkrai
Copy link
Contributor

@thotz can you explain more about the changes like what is the problem... just for my understanding? Thanks

@thotz
Copy link
Contributor Author

thotz commented Oct 20, 2021

@thotz can you explain more about the changes like what is the problem... just for my understanding? Thanks

Basically fix based on my code reading, so I might be wrong here as well.

The current code always generate endpoint for the adminOps from appName, namespace and service name. But for external cluster we already have the external IP for the RGW in the objectstoreSpec. I guess the failure of the health checker was due to that.

Copy link
Member

@leseb leseb left a comment

Choose a reason for hiding this comment

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

I'm not sure why this is needed, the service should be present and pointing to the ExternalRgwEndpoints already. I haven't fully read the issue but I don't see how this code is fixing anything (yet?). Thanks

pkg/operator/ceph/object/admin.go Outdated Show resolved Hide resolved
@leseb
Copy link
Member

leseb commented Oct 20, 2021

I'm not sure why this is needed, the service should be present and pointing to the ExternalRgwEndpoints already. I haven't fully read the issue but I don't see how this code is fixing anything (yet?). Thanks

Actually, if the service is not there, it might be that it's created later?

@thotz
Copy link
Contributor Author

thotz commented Oct 21, 2021

I'm not sure why this is needed, the service should be present and pointing to the ExternalRgwEndpoints already. I haven't fully read the issue but I don't see how this code is fixing anything (yet?). Thanks

Actually, if the service is not there, it might be that it's created later?

That's possible I guess

For external RGW server use the IP mentioned in Gateway for admin Ops
operattions.

Fixes: rook#8916
Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
Copy link
Member

@leseb leseb left a comment

Choose a reason for hiding this comment

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

This looks more like the right fix for this issue. Can we validate this via the controller_test.go?

@thotz
Copy link
Contributor Author

thotz commented Oct 25, 2021

This looks more like the right fix for this issue. Can we validate this via the controller_test.go?

@leseb : The endpoint is saved in objcontext, if I understand correctly it is local to reconcileCreateObjectStore and we cannot check that value from units written for Reconcile in controller_test.go

@leseb
Copy link
Member

leseb commented Oct 25, 2021

This looks more like the right fix for this issue. Can we validate this via the controller_test.go?

@leseb : The endpoint is saved in objcontext, if I understand correctly it is local to reconcileCreateObjectStore and we cannot check that value from units written for Reconcile in controller_test.go

Sounds good and I just realized there are no unit tests for external mode either... #9025

@leseb leseb merged commit fc9c4b6 into rook:master Oct 25, 2021
mergify bot added a commit that referenced this pull request Oct 25, 2021
ceph: update endpoint with IP for external RGW server (backport #9010)
@thotz thotz deleted the rgw-external-endpoint branch December 16, 2021 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ceph main ceph tag
Projects
None yet
Development

Successfully merging this pull request may close these issues.

RGW healthcheck failed to build admin API on external cluster
3 participants