Skip to content

Commit 92e517a

Browse files
committed
[chore] added back changes to update delete
Signed-off-by: RealAnna <[email protected]>
1 parent 7471e10 commit 92e517a

File tree

1 file changed

+52
-23
lines changed
  • processor/k8sattributesprocessor/internal/kube

1 file changed

+52
-23
lines changed

processor/k8sattributesprocessor/internal/kube/client.go

Lines changed: 52 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1774,11 +1774,7 @@ func needContainerAttributes(rules ExtractionRules) bool {
17741774

17751775
func (c *WatchClient) handleReplicaSetAdd(obj any) {
17761776
c.telemetryBuilder.OtelsvcK8sReplicasetAdded.Add(context.Background(), 1)
1777-
if replicaset, ok := obj.(*apps_v1.ReplicaSet); ok {
1778-
c.addOrUpdateReplicaSet(replicaset)
1779-
} else {
1780-
c.logger.Error("object received was not of type apps_v1.ReplicaSet", zap.Any("received", obj))
1781-
}
1777+
c.addOrUpdateReplicaSet(obj)
17821778
}
17831779

17841780
func (c *WatchClient) handleReplicaSetUpdate(_, newRS any) {
@@ -1789,39 +1785,72 @@ func (c *WatchClient) handleReplicaSetUpdate(_, newRS any) {
17891785
c.logger.Error("object received was not of type apps_v1.ReplicaSet", zap.Any("received", newRS))
17901786
}
17911787
}
1792-
17931788
func (c *WatchClient) handleReplicaSetDelete(obj any) {
17941789
c.telemetryBuilder.OtelsvcK8sReplicasetDeleted.Add(context.Background(), 1)
1795-
if replicaset, ok := ignoreDeletedFinalStateUnknown(obj).(*apps_v1.ReplicaSet); ok {
1796-
c.m.Lock()
1797-
key := string(replicaset.UID)
1798-
delete(c.ReplicaSets, key)
1799-
c.m.Unlock()
1800-
} else {
1801-
c.logger.Error("object received was not of type apps_v1.ReplicaSet", zap.Any("received", obj))
1790+
1791+
// Unwrap DeletedFinalStateUnknown if present
1792+
o := ignoreDeletedFinalStateUnknown(obj)
1793+
1794+
var uid string
1795+
switch rs := o.(type) {
1796+
case *apps_v1.ReplicaSet:
1797+
uid = string(rs.GetUID())
1798+
case *meta_v1.PartialObjectMetadata:
1799+
uid = string(rs.GetUID())
1800+
default:
1801+
c.logger.Error("object received was not a ReplicaSet (apps_v1 or PartialObjectMetadata)", zap.Any("received", obj))
1802+
return
18021803
}
1804+
1805+
if uid == "" {
1806+
c.logger.Warn("received ReplicaSet delete without UID")
1807+
return
1808+
}
1809+
1810+
c.m.Lock()
1811+
delete(c.ReplicaSets, uid)
1812+
c.m.Unlock()
18031813
}
18041814

1805-
func (c *WatchClient) addOrUpdateReplicaSet(replicaset *apps_v1.ReplicaSet) {
1815+
func (c *WatchClient) addOrUpdateReplicaSet(obj any) {
1816+
var name, namespace, uid string
1817+
var owners []meta_v1.OwnerReference
1818+
1819+
switch rs := obj.(type) {
1820+
case *apps_v1.ReplicaSet:
1821+
name = rs.GetName()
1822+
namespace = rs.GetNamespace()
1823+
uid = string(rs.GetUID())
1824+
owners = rs.GetOwnerReferences()
1825+
case *meta_v1.PartialObjectMetadata:
1826+
name = rs.GetName()
1827+
namespace = rs.GetNamespace()
1828+
uid = string(rs.GetUID())
1829+
owners = rs.GetOwnerReferences()
1830+
default:
1831+
c.logger.Error("unexpected ReplicaSet object type", zap.Any("received", obj))
1832+
return
1833+
}
1834+
18061835
newReplicaSet := &ReplicaSet{
1807-
Name: replicaset.Name,
1808-
Namespace: replicaset.Namespace,
1809-
UID: string(replicaset.UID),
1836+
Name: name,
1837+
Namespace: namespace,
1838+
UID: uid,
18101839
}
18111840

1812-
for _, ownerReference := range replicaset.OwnerReferences {
1813-
if ownerReference.Kind == "Deployment" && ownerReference.Controller != nil && *ownerReference.Controller {
1841+
for _, owner := range owners {
1842+
if owner.Kind == "Deployment" && owner.Controller != nil && *owner.Controller {
18141843
newReplicaSet.Deployment = Deployment{
1815-
Name: ownerReference.Name,
1816-
UID: string(ownerReference.UID),
1844+
Name: owner.Name,
1845+
UID: string(owner.UID),
18171846
}
18181847
break
18191848
}
18201849
}
18211850

18221851
c.m.Lock()
1823-
if replicaset.UID != "" {
1824-
c.ReplicaSets[string(replicaset.UID)] = newReplicaSet
1852+
if uid != "" {
1853+
c.ReplicaSets[uid] = newReplicaSet
18251854
}
18261855
c.m.Unlock()
18271856
}

0 commit comments

Comments
 (0)