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

New method for the Object Store Plugins #2823

Closed
ifraixedes opened this issue Aug 14, 2020 · 3 comments
Closed

New method for the Object Store Plugins #2823

ifraixedes opened this issue Aug 14, 2020 · 3 comments
Labels
Area/Plugins Issues related to plugin infra/internal plugins Enhancement/Dev Internal or Developer-focused Enhancement to Velero Needs info Waiting for information

Comments

@ifraixedes
Copy link

Describe the problem/challenge you have

I'm part of the team that is maintaining the Tardigrade Velero plugin (https://github.com/storj-thirdparty/velero-plugin)

Due to the way how the Tardigrade client library works, we should close the connection once the plugin is executed. We open a connection in the Init then we use the connection in all the other methods that must be implemented by an Object Storage plugin, however, for the sake of releasing resources in the server, the connection should be closed.

Although this isn't a big issue for us, we see that could be worth it and it will allow us to use the best practices of our client library inside of the Velero plugin.

Describe the solution you'd like

Add a method in the Object Store Plugin interface that is called at the end of a backup/restore cycle.

Having that method, we could close that connection once the operation is completed.

The method can be useful for other providers that they would need to release resources or do some cleanup operations.

For the providers that don't need anything at the end of the cycle, they could just make it a no-op.

Anything else you would like to add:

Environment:

  • Velero version (use velero version): 1.4
  • Kubernetes version (use kubectl version):
  • Kubernetes installer & version:
  • Cloud provider or hardware configuration: Tardigrade.io
  • OS (e.g. from /etc/os-release):

Vote on this issue!

This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.

  • 👍 for "The project would be better with this feature added"
  • 👎 for "This feature will not enhance the project in a meaningful way"
@nrb nrb added Area/Plugins Issues related to plugin infra/internal plugins Enhancement/Dev Internal or Developer-focused Enhancement to Velero labels Aug 18, 2020
@dsu-igeek
Copy link
Contributor

@ifraixedes Currently the plug-ins are killed at the end of a backup. Longer term we will be looking at moving to the Astrolabe architecture (https://github.com/vmware-tanzu/astrolabe). We can consider adding something there. The design you're proposing has issues when we have concurrent operations happening. Have you thought about just having an idle timeout that would close the connection? The plugin would need to open it again on demand.

@ifraixedes
Copy link
Author

ifraixedes commented Mar 8, 2021

We can check what you propose next time that we plan to work on the plugin.
Thanks for the suggestion.

Feel free to close the issue if you think that's appropriated.

@dsu-igeek
Copy link
Contributor

OK, thanks! Closing for now, I created an issue in Astrolabe to track this - vmware-tanzu/astrolabe#72

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area/Plugins Issues related to plugin infra/internal plugins Enhancement/Dev Internal or Developer-focused Enhancement to Velero Needs info Waiting for information
Projects
None yet
Development

No branches or pull requests

3 participants