Skip to content

Commit

Permalink
Clarify version change
Browse files Browse the repository at this point in the history
  • Loading branch information
Andi Li committed Aug 18, 2020
1 parent 90dc842 commit 57b7a0d
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ Tighten the validation on Volume Snapshot objects. Please see the tables below f
Due to backwards compatibility concerns, the tightening will occur in three phases.

1. The first phase is webhook-only, and will use [ratcheting validation](#backwards-compatibility). It will be the user's responsibility to clean up invalid objects which already existed before the webhook was enabled. Invalid objects are those which fail the new, stricter validation. The controller will not be able to automatically fix invalid objects, however it will apply a [label](#automatic-labelling-of-invalid-objects) to invalid objects so that users can easily locate them.
2. The second phase can occur once all invalid objects are cleared from the cluster. It will be the cluster admin's responsibility to check and detect when it is safe to move to the second phase. The CRD schema validation will be tightened and the webhook will stick around to enforce immutability until immutable fields come to CRDs (Custom Resource Definition). This will be accompanied by a version change to make it clear the CRD is using different validation, however the storage version will be kept as `v1beta1` to ensure a [rollback](#rollback) is possible at phase 2.
2. The second phase can occur once all invalid objects are cleared from the cluster. It will be the cluster admin's responsibility to check and detect when it is safe to move to the second phase. The CRD schema validation will be tightened and the webhook will stick around to enforce immutability until immutable fields come to CRDs (Custom Resource Definition). This will be accompanied by a version change (from `v1beta1` to `v1`) to make it clear the CRD is using different validation. however the storage version will be kept as `v1beta1` to ensure a [rollback](#rollback) is possible at phase 2.
3. The storage version of the CRD will be changed from `v1beta1` to `v1`

The phases come in separate releases to allow users / cluster admin the opportunity to clean their cluster of any invalid objects. More details are in the Risks and Mitigations section.
Expand Down

0 comments on commit 57b7a0d

Please sign in to comment.