Issue #4990
closedCore's serializer should only validate when policy='immediate' (the default)
Description
Problem¶
For a plugin to support on-demand it needs to take extra steps. Core should not allow a user by default to expect to use policy != 'immediate' if a plugin hasn't done the work to enable it. Currently values of policy == 'on_demand' or policy == 'streamed' are also allowed.
Solution¶
1. Have core's Remote serializer (the Master one) fail validation if policy != 'immediate'.
2. Add docs on how plugins can adjust this validation in their Remote detail serializer to enable either policy='streamed' and/or policy='on_deamand'
Details¶
We need to advertise to users that they can expect this here: https://docs.pulpproject.org/en/3.0/nightly/workflows/lazy-downloading.html
We need to document to plugin writers what they should do here: https://docs.pulpproject.org/en/pulpcore-plugin/nightly/reference/lazy-support.html#lazy-support
Core's Remote only validates 'immediate'
The core's default mode policy='immediate' is the only one that is guaranteed by all plugins to implement. Users of plugins that haven't enabled additional modes should receive an error when then create a Remote.
Now users using policy != 'immediate' will receive an error.
https://pulp.plan.io/issues/4990 closes #4990