Bug #46582
closedcephadm: NFS services should not share the same namespace in a pool
0%
Description
NFS services should have their dedicated pool and namespace to store export and conf objects.
cephadm allow me to apply these two specs:
service_type: nfs service_id: foo placement: hosts: - mgr0 spec: pool: rbd namespace: nfs
service_type: nfs service_id: bar placement: hosts: - osd0 spec: pool: rbd namespace: nfs
The namespace should be checked if it's already occupied by other services.
Updated by Sebastian Wagner almost 4 years ago
- Priority changed from Normal to High
- Tags set to low-hanging-fruit
Updated by Sebastian Wagner over 3 years ago
- Category changed from cephadm to cephadm/nfs
Updated by Melissa Li about 3 years ago
I was thinking about this issue and wondering a few things. If we make a class variable e.g. `namespace_set` in the NFSServiceSpec class (assuming this can be fixed on that level), and then use that variable to maintain a set of every namespace the user applied in the service spec (and not let them use those again), would that be a potential solution? Reason I say class variable is because if the user applies two specs one after another, I think that is two instances of the class, so we need the set to persist.
Although, now as I'm typing this, I realize what would happen if someone edited their service spec to have a different namespace, but then the namespace still exists in the set and won't let them use it? Then I'm not really sure how to account for that. What are your thoughts?
Updated by Sage Weil over 2 years ago
- Status changed from New to Resolved
This is solved indirectly since the namespace always == service_id now.