|
| 1 | +// Do not edit this module. It is generated with a script. |
| 2 | +// Do not reuse this module. The anchor IDs do not contain a context statement. |
| 3 | +// Module included in the following assemblies: |
| 4 | +// |
| 5 | +// * virt/monitoring/virt-runbooks.adoc |
| 6 | + |
| 7 | +:_mod-docs-content-type: REFERENCE |
| 8 | +[id="virt-runbook-CDIDefaultStorageClassDegraded"] |
| 9 | += CDIDefaultStorageClassDegraded |
| 10 | + |
| 11 | +[discrete] |
| 12 | +[id="meaning-cdidefaultstorageclassdegraded"] |
| 13 | +== Meaning |
| 14 | + |
| 15 | +This alert fires when there is no default storage class that supports smart cloning |
| 16 | +(CSI or snapshot-based) or the ReadWriteMany access mode. |
| 17 | + |
| 18 | +[discrete] |
| 19 | +[id="impact-cdidefaultstorageclassdegraded"] |
| 20 | +== Impact |
| 21 | + |
| 22 | +If the default storage class does not support smart cloning, the default cloning |
| 23 | +method is host-assisted cloning, which is much less efficient. |
| 24 | + |
| 25 | +If the default storage class does not support ReadWriteMany, virtual machines (VMs) |
| 26 | +cannot be live migrated. |
| 27 | + |
| 28 | +NOTE: A default {VirtProductName} storage class has precedence over a |
| 29 | +default {product-title} storage class when creating a |
| 30 | +VM disk. |
| 31 | + |
| 32 | +[discrete] |
| 33 | +[id="diagnosis-cdidefaultstorageclassdegraded"] |
| 34 | +== Diagnosis |
| 35 | + |
| 36 | +. Get the default {VirtProductName} storage class by running the following |
| 37 | +command: |
| 38 | ++ |
| 39 | +[source,terminal] |
| 40 | +---- |
| 41 | +$ oc get sc -o jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubevirt\.io/is-default-virt-class=="true")].metadata.name}' |
| 42 | +---- |
| 43 | + |
| 44 | +. If a default {VirtProductName} storage class exists, check that it |
| 45 | +supports ReadWriteMany by running the following command: |
| 46 | ++ |
| 47 | +[source,terminal] |
| 48 | +---- |
| 49 | +$ oc get storageprofile <storage_class> -o json | jq '.status.claimPropertySets'| grep ReadWriteMany |
| 50 | +---- |
| 51 | + |
| 52 | +. If there is no default {VirtProductName} storage class, get the |
| 53 | +default {product-title} storage class by running the following |
| 54 | +command: |
| 55 | ++ |
| 56 | +[source,terminal] |
| 57 | +---- |
| 58 | +$ oc get sc -o jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubevirt\.io/is-default-class=="true")].metadata.name}' |
| 59 | +---- |
| 60 | + |
| 61 | +. If a default {product-title} storage class exists, check that it |
| 62 | +supports ReadWriteMany by running the following command: |
| 63 | ++ |
| 64 | +[source,terminal] |
| 65 | +---- |
| 66 | +$ oc get storageprofile <storage_class> -o json | jq '.status.claimPropertySets'| grep ReadWriteMany |
| 67 | +---- |
| 68 | + |
| 69 | +[discrete] |
| 70 | +[id="mitigation-cdidefaultstorageclassdegraded"] |
| 71 | +== Mitigation |
| 72 | + |
| 73 | +Ensure that you have a default storage class, either {product-title} |
| 74 | +or {VirtProductName}, and that the default storage class supports |
| 75 | +smart cloning and ReadWriteMany. |
| 76 | + |
| 77 | +If you cannot resolve the issue, log in to the |
| 78 | +link:https://access.redhat.com[Customer Portal] and open a support case, attaching |
| 79 | +the artifacts gathered during the diagnosis procedure. |
0 commit comments