Description of problem:
Downgrading a DC's compatibility version was introduced in oVirt 3.4 (see bug 1057029).
However, an additional validation is missing to make sure the DC isn't downgraded to a DC which supports a different storage format.
Without this validation, the implication is that you could, for example, theoretically create a 3.5 DC, have a 3.5 host connect to it and create a storage pool, and then downgrade it to a 3.0 DC while keeping the V3 storage format. This would mean you now have a 3.0 DC that 3.0 hosts can't connect to.
Note: This restriction should only apply if the DC has storage domains in it (i.e., if a storage pool was created).
Version-Release number of selected component (if applicable):
3.4.2 (see bug 1057029)
Steps to Reproduce:
1. Create a 3.5 DC
2. Create a 3.5 Cluster
3. Connect a host to the cluster
4. Create the first storage domain (implicitly creates the pool).
Attempt to downgrade the DC to 3.4: should succeed
Attempt to downgrade the DC to 3.0:
- In the UI, there should be no such option
- In REST API, you should get a canDoAction() error.
this ovirt bug was fixed during 3.5.1 cycle and is included in the build, and therefore should be verified.
verified on vt14:
* From Rhevm-UI the option that downgrades the DC to 3.0 exists, but the action is blocked with CDA
* From Rest the operation is also blocked with CDA, with Error message:
"Cannot edit Data Center. This action will cause storage format downgrading which is not supported. The following storage domains cannot be downgraded: FCp_1,
ovirt 3.5.2 was GA'd. closing current release.