diff --git a/controller/backup_controller.go b/controller/backup_controller.go index 4e18cbb22e..db311d98e1 100644 --- a/controller/backup_controller.go +++ b/controller/backup_controller.go @@ -636,7 +636,17 @@ func (bc *BackupController) checkMonitor(backup *longhorn.Backup, volume *longho if kubernetesStatus.PVCName != "" && kubernetesStatus.LastPVCRefAt == "" { pvc, _ := bc.ds.GetPersistentVolumeClaim(kubernetesStatus.Namespace, kubernetesStatus.PVCName) if pvc != nil { - storageClassName = *pvc.Spec.StorageClassName + if pvc.Spec.StorageClassName != nil { + storageClassName = *pvc.Spec.StorageClassName + } + if storageClassName == "" { + if v, exist := pvc.Annotations[corev1.BetaStorageClassAnnotation]; exist { + storageClassName = v + } + } + if storageClassName == "" { + bc.logger.Warnf("Failed to find the StorageClassName from the pvc %v", pvc.Name) + } } } diff --git a/controller/volume_controller.go b/controller/volume_controller.go index ec9e1ef8c5..c5301b27fd 100644 --- a/controller/volume_controller.go +++ b/controller/volume_controller.go @@ -3647,7 +3647,8 @@ func (c *VolumeController) syncPVCRecurringJobLabels(volume *longhorn.Volume) er } if !hasSourceLabel { - c.logger.Warnf("Ignoring recurring job labels on Volume %v PVC %v due to missing source label", volume.Name, pvc.Name) + c.logger.Debugf("Ignoring recurring job labels on Volume %v PVC %v due to missing source label", volume.Name, pvc.Name) + return nil } diff --git a/types/setting.go b/types/setting.go index 69f0070ac2..2ee748cea2 100644 --- a/types/setting.go +++ b/types/setting.go @@ -1064,7 +1064,7 @@ var ( Type: SettingTypeString, Required: true, ReadOnly: false, - Default: "Debug", + Default: "Info", } SettingDefinitionOfflineReplicaRebuilding = SettingDefinition{ diff --git a/webhook/resources/orphan/validator.go b/webhook/resources/orphan/validator.go index 744da5fbd7..ff059f1cae 100644 --- a/webhook/resources/orphan/validator.go +++ b/webhook/resources/orphan/validator.go @@ -2,7 +2,6 @@ package orphan import ( "fmt" - "reflect" admissionregv1 "k8s.io/api/admissionregistration/v1" "k8s.io/apimachinery/pkg/runtime" @@ -54,17 +53,12 @@ func (o *orphanValidator) Create(request *admission.Request, newObj runtime.Obje } func (o *orphanValidator) Update(request *admission.Request, oldObj runtime.Object, newObj runtime.Object) error { - oldOrphan := oldObj.(*longhorn.Orphan) newOrphan := newObj.(*longhorn.Orphan) if err := checkOrphanParameters(newOrphan); err != nil { return werror.NewInvalidError(err.Error(), "") } - if !reflect.DeepEqual(oldOrphan.Spec, newOrphan.Spec) { - return werror.NewInvalidError(fmt.Sprintf("orphan %v spec fields are immutable", oldOrphan.Name), "") - } - return nil } @@ -83,6 +77,7 @@ func checkOrphanForReplicaDirectory(orphan *longhorn.Orphan) error { longhorn.OrphanDiskName, longhorn.OrphanDiskUUID, longhorn.OrphanDiskPath, + longhorn.OrphanDiskType, } for _, param := range params {