Mark BackupRepository not ready when BSL changed

Mark BackupRepository not ready when BSL changed

Fixes #8860

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
This commit is contained in:
Wenkai Yin(尹文开)
2025-05-26 17:32:48 +08:00
parent bfd9bc549d
commit d0374fadb6
4 changed files with 44 additions and 55 deletions

View File

@@ -47,15 +47,6 @@ func (SpecChangePredicate) Update(e event.UpdateEvent) bool {
return !reflect.DeepEqual(oldSpec.Interface(), newSpec.Interface())
}
// NewGenericEventPredicate creates a new Predicate that checks the Generic event with the provided func
func NewGenericEventPredicate(f func(object client.Object) bool) predicate.Predicate {
return predicate.Funcs{
GenericFunc: func(event event.GenericEvent) bool {
return f(event.Object)
},
}
}
// NewAllEventPredicate creates a new Predicate that checks all the events with the provided func
func NewAllEventPredicate(f func(object client.Object) bool) predicate.Predicate {
return predicate.Funcs{
@@ -74,25 +65,6 @@ func NewAllEventPredicate(f func(object client.Object) bool) predicate.Predicate
}
}
// NewUpdateEventPredicate creates a new Predicate that checks the update events with the provided func
// and ignore others
func NewUpdateEventPredicate(f func(client.Object, client.Object) bool) predicate.Predicate {
return predicate.Funcs{
UpdateFunc: func(event event.UpdateEvent) bool {
return f(event.ObjectOld, event.ObjectNew)
},
CreateFunc: func(event event.CreateEvent) bool {
return false
},
DeleteFunc: func(event event.DeleteEvent) bool {
return false
},
GenericFunc: func(event event.GenericEvent) bool {
return false
},
}
}
// FalsePredicate always returns false for all kinds of events
type FalsePredicate struct{}
@@ -116,19 +88,20 @@ func (f FalsePredicate) Generic(event.GenericEvent) bool {
return false
}
func NewCreateEventPredicate(f func(client.Object) bool) predicate.Predicate {
// NewGenericEventPredicate creates a new Predicate that checks the Generic event with the provided func
func NewGenericEventPredicate(f func(object client.Object) bool) predicate.Predicate {
return predicate.Funcs{
CreateFunc: func(event event.CreateEvent) bool {
return f(event.Object)
},
DeleteFunc: func(event event.DeleteEvent) bool {
return false
},
GenericFunc: func(event event.GenericEvent) bool {
return false
},
UpdateFunc: func(event event.UpdateEvent) bool {
return false
return f(event.Object)
},
}
}
// NewUpdateEventPredicate creates a new Predicate that checks the Update event with the provided func
func NewUpdateEventPredicate(f func(objectOld client.Object, objectNew client.Object) bool) predicate.Predicate {
return predicate.Funcs{
UpdateFunc: func(event event.UpdateEvent) bool {
return f(event.ObjectOld, event.ObjectNew)
},
}
}

View File

@@ -179,14 +179,6 @@ func TestSpecChangePredicate(t *testing.T) {
}
}
func TestNewGenericEventPredicate(t *testing.T) {
predicate := NewGenericEventPredicate(func(object client.Object) bool {
return false
})
assert.False(t, predicate.Generic(event.GenericEvent{}))
}
func TestNewAllEventPredicate(t *testing.T) {
predicate := NewAllEventPredicate(func(object client.Object) bool {
return false
@@ -197,3 +189,25 @@ func TestNewAllEventPredicate(t *testing.T) {
assert.False(t, predicate.Delete(event.DeleteEvent{}))
assert.False(t, predicate.Generic(event.GenericEvent{}))
}
func TestNewGenericEventPredicate(t *testing.T) {
predicate := NewGenericEventPredicate(func(object client.Object) bool {
return false
})
assert.False(t, predicate.Generic(event.GenericEvent{}))
assert.True(t, predicate.Update(event.UpdateEvent{}))
assert.True(t, predicate.Create(event.CreateEvent{}))
assert.True(t, predicate.Delete(event.DeleteEvent{}))
}
func TestNewUpdateEventPredicate(t *testing.T) {
predicate := NewUpdateEventPredicate(func(client.Object, client.Object) bool {
return false
})
assert.False(t, predicate.Update(event.UpdateEvent{}))
assert.True(t, predicate.Create(event.CreateEvent{}))
assert.True(t, predicate.Delete(event.DeleteEvent{}))
assert.True(t, predicate.Generic(event.GenericEvent{}))
}