Refactor identityFromEvent

This commit is contained in:
Jordan Liggitt 2020-07-08 00:48:38 -04:00
parent 30eb6683e6
commit cb7b9ed532

View File

@ -530,6 +530,18 @@ func (gb *GraphBuilder) runProcessGraphChanges() {
} }
} }
func identityFromEvent(event *event, accessor metav1.Object) objectReference {
return objectReference{
OwnerReference: metav1.OwnerReference{
APIVersion: event.gvk.GroupVersion().String(),
Kind: event.gvk.Kind,
UID: accessor.GetUID(),
Name: accessor.GetName(),
},
Namespace: accessor.GetNamespace(),
}
}
// Dequeueing an event from graphChanges, updating graph, populating dirty_queue. // Dequeueing an event from graphChanges, updating graph, populating dirty_queue.
func (gb *GraphBuilder) processGraphChanges() bool { func (gb *GraphBuilder) processGraphChanges() bool {
item, quit := gb.graphChanges.Get() item, quit := gb.graphChanges.Get()
@ -560,15 +572,7 @@ func (gb *GraphBuilder) processGraphChanges() bool {
switch { switch {
case (event.eventType == addEvent || event.eventType == updateEvent) && !found: case (event.eventType == addEvent || event.eventType == updateEvent) && !found:
newNode := &node{ newNode := &node{
identity: objectReference{ identity: identityFromEvent(event, accessor),
OwnerReference: metav1.OwnerReference{
APIVersion: event.gvk.GroupVersion().String(),
Kind: event.gvk.Kind,
UID: accessor.GetUID(),
Name: accessor.GetName(),
},
Namespace: accessor.GetNamespace(),
},
dependents: make(map[*node]struct{}), dependents: make(map[*node]struct{}),
owners: accessor.GetOwnerReferences(), owners: accessor.GetOwnerReferences(),
deletingDependents: beingDeleted(accessor) && hasDeleteDependentsFinalizer(accessor), deletingDependents: beingDeleted(accessor) && hasDeleteDependentsFinalizer(accessor),
@ -608,15 +612,7 @@ func (gb *GraphBuilder) processGraphChanges() bool {
existingNode.dependentsLock.RLock() existingNode.dependentsLock.RLock()
defer existingNode.dependentsLock.RUnlock() defer existingNode.dependentsLock.RUnlock()
if len(existingNode.dependents) > 0 { if len(existingNode.dependents) > 0 {
gb.absentOwnerCache.Add(objectReference{ gb.absentOwnerCache.Add(identityFromEvent(event, accessor))
OwnerReference: metav1.OwnerReference{
APIVersion: event.gvk.GroupVersion().String(),
Kind: event.gvk.Kind,
Name: accessor.GetName(),
UID: accessor.GetUID(),
},
Namespace: accessor.GetNamespace(),
})
} }
for dep := range existingNode.dependents { for dep := range existingNode.dependents {
gb.attemptToDelete.Add(dep) gb.attemptToDelete.Add(dep)