-
Notifications
You must be signed in to change notification settings - Fork 48
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
Add target save and restore functionality #9
Conversation
Another thing to discuss. Do we really want to have a possibility to have several bdev per namespace? Is there a use case for this? Otherwise we could combine two commands The same question is actually about subsystem, i.e. if we want several namespaces per subsystem, though I can image this may be useful indeed. |
Yes, both are desired. Multi-attach, i.e. same rbd bdev for two different namespaces although rare is a use-case for us. |
I think we could do it this way:
we will use something like:
And the gateway will keep internally the mapping between the current bdev names and image specs, while in the persistent config it will store And, actually, the gateway might not provide |
For now I've gone ahead to require the |
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.
In general LGTM. There are some comments that might be address in this PR or in another PRs. I have plans to play with it and then may be will have some other comments.
And hope some other people will review and comment too.
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.
Some comments about omap keys naming.
I added ability to delete namespace, host, and listeners but the python SPDK RPC does not seem to have a method to delete a transport. @trociny I've created issues to keep track of comments that I didn't address in these new changes. You may want to comment on those issues to expand on what I've written. |
We discussed in the past if create_transport is even necessary. We could implicitly create the transport on create_listener. The only problem I see is that the create_transport allows to specify options that are shared by all listeners. We don't use them yet but might want to in the future. On the other hand these transport specific features could also be part of the static config as they cannot be changed anyway (once initialized) but might be daemon-process/machine specific. |
One other thing that we probably need to move to the static config of the daemon is the ip used for the listener since obviously it cannot be shared between GW nodes (in a group) or we have to add a GW node id for these kind of local options. |
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.
Much better, but I don't understand why allow_any_host
and disable_allow_any_host
were kept at the protocol level.
This commit adds functionality to persist a gateway's state of SPDK and restore from it upon restarting. Relevant information for a restore is stored in a ceph object's OMAP. Signed-off-by: Sandy Kaur <[email protected]>
This commit adds functionality to persist a gateway's state of SPDK and restore from it upon restarting. Relevant information for a restore is stored in a ceph object's OMAP.
Signed-off-by: Sandy Kaur [email protected]