@@ -53,52 +53,36 @@ func (impl *InformerImpl) GetSharedInformer(clusterLabels *informerBean.ClusterL
5353
5454 _ , err := acdInformer .AddEventHandler (cache.ResourceEventHandlerFuncs {
5555 AddFunc : func (obj interface {}) {
56- impl .logger .Debug ("app added" )
57-
58- if app , ok := obj .(* applicationBean.Application ); ok {
59- impl .logger .Debugf ("new app detected: %s, status: %s" , app .Name , app .Status .Health .Status )
60- }
56+ impl .logger .Debugw ("ARGO_CD_APPLICATION: new application object found" )
6157 },
6258 UpdateFunc : func (old interface {}, new interface {}) {
63- impl .logger .Debug ( "app update detected" )
59+ impl .logger .Debugw ( "ARGO_CD_APPLICATION: application object update detected" )
6460 statusTime := time .Now ()
6561 if oldApp , ok := old .(* applicationBean.Application ); ok {
6662 if newApp , ok := new .(* applicationBean.Application ); ok {
67- if newApp .Status .History != nil && len (newApp .Status .History ) > 0 {
68- if oldApp .Status .History == nil || len (oldApp .Status .History ) == 0 {
69- impl .logger .Debug ("new deployment detected" )
63+ // Check if the application has a new deployment history
64+ if isNewDeploymentHistoryFound (oldApp , newApp ) {
65+ impl .logger .Debugw ("ARGO_CD_APPLICATION: new deployment detected" , "appName" , newApp .Name , "status" , newApp .Status .Health .Status )
66+ impl .sendAppUpdate (clusterLabels .ClusterId , newApp , statusTime )
67+ } else {
68+ if IsApplicationObjectUpdated (impl .logger , oldApp , newApp ) {
7069 impl .sendAppUpdate (clusterLabels .ClusterId , newApp , statusTime )
70+ impl .logger .Debugw ("ARGO_CD_APPLICATION: send update event for application object" , "appName" , oldApp .Name )
7171 } else {
72- impl .logger .Debugf ("old deployment detected for update: %s, status:%s" , oldApp .Name , oldApp .Status .Health .Status )
73- oldRevision := oldApp .Status .Sync .Revision
74- newRevision := newApp .Status .Sync .Revision
75- oldStatus := string (oldApp .Status .Health .Status )
76- newStatus := string (newApp .Status .Health .Status )
77- newSyncStatus := string (newApp .Status .Sync .Status )
78- oldSyncStatus := string (oldApp .Status .Sync .Status )
79- if (oldRevision != newRevision ) || (oldStatus != newStatus ) || (newSyncStatus != oldSyncStatus ) {
80- impl .sendAppUpdate (clusterLabels .ClusterId , newApp , statusTime )
81- impl .logger .Debug ("send update app:" + oldApp .Name + ", oldRevision: " + oldRevision + ", newRevision:" +
82- newRevision + ", oldStatus: " + oldStatus + ", newStatus: " + newStatus +
83- ", newSyncStatus: " + newSyncStatus + ", oldSyncStatus: " + oldSyncStatus )
84- } else {
85- impl .logger .Debug ("skip updating app:" + oldApp .Name + ", oldRevision: " + oldRevision + ", newRevision:" +
86- newRevision + ", oldStatus: " + oldStatus + ", newStatus: " + newStatus +
87- ", newSyncStatus: " + newSyncStatus + ", oldSyncStatus: " + oldSyncStatus )
88- }
72+ impl .logger .Debugw ("ARGO_CD_APPLICATION: skip updating event for application object" , "appName" , oldApp .Name )
8973 }
9074 }
9175 } else {
92- log . Println ( "app update detected, but skip updating, there is no new app" )
76+ impl . logger . Errorw ( "ARGO_CD_APPLICATION: application object update detected, but could not cast to application object" , "oldObj" , old , "newObj" , new )
9377 }
9478 } else {
95- log . Println ( "app update detected, but skip updating, there is no old app" )
79+ impl . logger . Errorw ( "ARGO_CD_APPLICATION: application object update detected, but could not cast to application object" , "oldObj" , old )
9680 }
9781 },
9882 DeleteFunc : func (obj interface {}) {
9983 if app , ok := obj .(* applicationBean.Application ); ok {
10084 statusTime := time .Now ()
101- impl .logger .Debugf ( "app delete detected: %s, status:%s" , app .Name , app .Status .Health .Status )
85+ impl .logger .Debugw ( "ARGO_CD_APPLICATION: application object delete detected" , "appName" , app .Name , "status" , app .Status .Health .Status )
10286 impl .sendAppDelete (clusterLabels .ClusterId , app , statusTime )
10387 }
10488 },
0 commit comments