diff --git a/modules/virt-runbook-cdidefaultstorageclassdegraded.adoc b/modules/virt-runbook-cdidefaultstorageclassdegraded.adoc new file mode 100644 index 0000000000..3fd93e5b87 --- /dev/null +++ b/modules/virt-runbook-cdidefaultstorageclassdegraded.adoc @@ -0,0 +1,79 @@ +// Do not edit this module. It is generated with a script. +// Do not reuse this module. The anchor IDs do not contain a context statement. +// Module included in the following assemblies: +// +// * virt/monitoring/virt-runbooks.adoc + +:_mod-docs-content-type: REFERENCE +[id="virt-runbook-CDIDefaultStorageClassDegraded"] += CDIDefaultStorageClassDegraded + +[discrete] +[id="meaning-cdidefaultstorageclassdegraded"] +== Meaning + +This alert fires when there is no default storage class that supports smart cloning +(CSI or snapshot-based) or the ReadWriteMany access mode. + +[discrete] +[id="impact-cdidefaultstorageclassdegraded"] +== Impact + +If the default storage class does not support smart cloning, the default cloning +method is host-assisted cloning, which is much less efficient. + +If the default storage class does not support ReadWriteMany, virtual machines (VMs) +cannot be live migrated. + +NOTE: A default {VirtProductName} storage class has precedence over a +default {product-title} storage class when creating a +VM disk. + +[discrete] +[id="diagnosis-cdidefaultstorageclassdegraded"] +== Diagnosis + +. Get the default {VirtProductName} storage class by running the following +command: ++ +[source,terminal] +---- +$ oc get sc -o jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubevirt\.io/is-default-virt-class=="true")].metadata.name}' +---- + +. If a default {VirtProductName} storage class exists, check that it +supports ReadWriteMany by running the following command: ++ +[source,terminal] +---- +$ oc get storageprofile -o json | jq '.status.claimPropertySets'| grep ReadWriteMany +---- + +. If there is no default {VirtProductName} storage class, get the +default {product-title} storage class by running the following +command: ++ +[source,terminal] +---- +$ oc get sc -o jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubevirt\.io/is-default-class=="true")].metadata.name}' +---- + +. If a default {product-title} storage class exists, check that it +supports ReadWriteMany by running the following command: ++ +[source,terminal] +---- +$ oc get storageprofile -o json | jq '.status.claimPropertySets'| grep ReadWriteMany +---- + +[discrete] +[id="mitigation-cdidefaultstorageclassdegraded"] +== Mitigation + +Ensure that you have a default storage class, either {product-title} +or {VirtProductName}, and that the default storage class supports +smart cloning and ReadWriteMany. + +If you cannot resolve the issue, log in to the +link:https://access.redhat.com[Customer Portal] and open a support case, attaching +the artifacts gathered during the diagnosis procedure. diff --git a/virt/monitoring/virt-runbooks.adoc b/virt/monitoring/virt-runbooks.adoc index 732e1d9551..a8ab616ee1 100644 --- a/virt/monitoring/virt-runbooks.adoc +++ b/virt/monitoring/virt-runbooks.adoc @@ -15,6 +15,8 @@ include::modules/virt-runbook-cdidataimportcronoutdated.adoc[leveloffset=+1] include::modules/virt-runbook-cdidatavolumeunusualrestartcount.adoc[leveloffset=+1] +include::modules/virt-runbook-cdidefaultstorageclassdegraded.adoc[leveloffset=+1] + include::modules/virt-runbook-cdimultipledefaultvirtstorageclasses.adoc[leveloffset=+1] include::modules/virt-runbook-cdinodefaultstorageclass.adoc[leveloffset=+1]