NAS-132733 / 25.10 / Convert pool.dataset.* #15946
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The changes to model.py fix the previous issue of not being able to set
ForUpdateMetaclass
on a model that inherits from a model that usesNotRequired
, or vice versa. This was necessary in order to useNotRequired
inPoolDatasetCreate
(probably the most involved schema conversion I've seen so far) and still useForUpdateMetaclass
onPoolDatasetUpdate
. Instead of inheriting serializer mixins, we can set model serializers on models directly. The changes also simplify our models' MROs by removing the redundant model created in our metaclasses withcreate_model
.Please weigh in on whether we should require the
pool.dataset.create.type
parameter--I'm thinking that we should.In the future I'm sure we can clean up some of the legacy validation even more, but the purpose of this PR was mainly to convert everything with as little disturbance as possible.
http://jenkins.eng.ixsystems.net:8080/job/tests/job/api_tests/3463/