Skip to content

Checkup validating storage is working correctly for virtual machines, using the Kiagnose engine

License

Notifications You must be signed in to change notification settings

ShellyKa13/kubevirt-storage-checkup

 
 

Repository files navigation

kubevirt-storage-checkup

This checkup performs storage checks, validating storage is working correctly for virtual machines. The checkup is using the Kiagnose engine.

Permissions

The following ServiceAccount, Role and RoleBinding should be applied on the test namespace.

kubectl apply -n <target-namespace> -f manifests/storage_checkup_permissions.yaml

Cluster admin should create the following cluster-reader permissions for dedicated storage-checkup-sa ServiceAccount and namespace:

- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    name: kubevirt-storage-checkup-clustereader
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-reader
  subjects:
  - kind: ServiceAccount
    name: storage-checkup-sa
    namespace: <target-namespace>

Configuration

Key Description Is Mandatory Remarks
spec.timeout How much time before the checkup will try to close itself True

Example

In order to execute the checkup, the following ConfigMap and Job should be applied on the test namespace.

You can create the ConfigMap and Job with:

export CHECKUP_NAMESPACE=<target-namespace>

envsubst < manifests/storage_checkup.yaml|kubectl apply -f -

and cleanup them with:

envsubst < manifests/storage_checkup.yaml|kubectl delete -f -

Checkup Results Retrieval

After the checkup Job had completed, the results are made available at the user-supplied ConfigMap object:

kubectl get configmap storage-checkup-config -n <target-namespace> -o yaml
Key Description Remarks
status.succeeded Has the checkup succeeded
status.failureReason Failure reason in case of a failure
status.startTimestamp Checkup start timestamp RFC 3339
status.completionTimestamp Checkup completion timestamp RFC 3339
status.result.defaultStorageClass Indicates whether there is a default storage class
status.result.storageProfilesWithEmptyClaimPropertySets StorageProfiles with empty claimPropertySets (unknown provisioners)
status.result.storageProfilesWithSpecClaimPropertySets StorageProfiles with spec-overrriden claimPropertySets
status.result.storageWithRWX Storage with RWX access mode
status.result.storageMissingVolumeSnapshotClass Storage using snapshot-based clone but missing VolumeSnapshotClass
status.result.goldenImagesNotUpToDate Golden images whose DataImportCron is not up to date or DataSource is not ready
status.result.vmsWithNonVirtRbdStorageClass VMs using the plain RBD storageclass when the virtualization storageclass exists
status.result.vmsWithUnsetEfsStorageClass VMs using an EFS storageclass where the gid and uid are not set in the storageclass
status.result.vmBootFromGoldenImage VM created and started from a golden image
status.result.vmVolumeClone VM volume clone type used (efficient or host-assisted) and fallback reason
status.result.vmLiveMigration VM live-migration
status.result.vmHotplugVolume VM volume hotplug and unplug

About

Checkup validating storage is working correctly for virtual machines, using the Kiagnose engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.1%
  • Makefile 2.5%
  • Dockerfile 0.4%