@@ -29,7 +29,6 @@ import (
2929 api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1alpha"
3030 "github.com/arangodb/kube-arangodb/pkg/metrics"
3131 "github.com/arangodb/kube-arangodb/pkg/util/k8sutil"
32- "github.com/rs/zerolog/log"
3332)
3433
3534const (
@@ -63,9 +62,6 @@ func (r *Resources) CleanupRemovedMembers() error {
6362
6463// cleanupRemovedClusterMembers removes all arangod members that are no longer part of the cluster.
6564func (r * Resources ) cleanupRemovedClusterMembers () error {
66-
67- log .Info ().Msg ("Cleanup routine 1" )
68-
6965 log := r .log
7066
7167 // Fetch recent cluster health
@@ -74,53 +70,53 @@ func (r *Resources) cleanupRemovedClusterMembers() error {
7470 ts := r .health .timestamp
7571 r .health .mutex .Unlock ()
7672
77- log .Info ().Msg ("Cleanup routine 2" )
78-
7973 // Only accept recent cluster health values
8074 if time .Since (ts ) > maxClusterHealthAge {
8175 log .Info ().Msg ("Cleanup longer than max cluster health exiting" )
8276 return nil
8377 }
8478
85- log .Info ().Msg ("Cleanup routine 3" )
86-
8779 serverFound := func (id string ) bool {
8880 _ , found := h .Health [driver .ServerID (id )]
89- log .Info ().Bool ("found " , found ).Str ("server id " , id )
9081 return found
9182 }
9283
93- log .Info ().Msg ("Cleanup routine 4" )
94-
9584 // For over all members that can be removed
9685 status , lastVersion := r .context .GetStatus ()
9786 updateStatusNeeded := false
9887 var podNamesToRemove , pvcNamesToRemove []string
9988 status .Members .ForeachServerGroup (func (group api.ServerGroup , list api.MemberStatusList ) error {
10089 if group != api .ServerGroupCoordinators && group != api .ServerGroupDBServers {
10190 // We're not interested in these other groups
102- log .Info ().Str ("group " , group .AsRole ()).Msg ("Not interested in group " )
10391 return nil
10492 }
10593 for _ , m := range list {
106-
94+ log := log .With ().
95+ Str ("member" , m .ID ).
96+ Str ("role" , group .AsRole ()).
97+ Logger ()
10798 if serverFound (m .ID ) {
10899 // Member is (still) found, skip it
109100 if m .Conditions .Update (api .ConditionTypeMemberOfCluster , true , "" , "" ) {
110- status .Members .Update (m , group )
101+ if err := status .Members .Update (m , group ); err != nil {
102+ log .Warn ().Err (err ).Msg ("Failed to update member" )
103+ }
111104 updateStatusNeeded = true
105+ log .Debug ().Msg ("Updating MemberOfCluster condition to true" )
112106 }
113107 continue
114108 } else if ! m .Conditions .IsTrue (api .ConditionTypeMemberOfCluster ) {
115109 // Member is not yet recorded as member of cluster
116110 if m .Age () < minMemberAge {
111+ log .Debug ().Dur ("age" , m .Age ()).Msg ("Member age is below minimum for removal" )
117112 continue
118113 }
119- log .Info ().Str ( "member" , m . ID ). Str ( "role" , group . AsRole ()). Msg ("Member has never been part of the cluster for a long time. Removing it." )
114+ log .Info ().Msg ("Member has never been part of the cluster for a long time. Removing it." )
120115 } else {
121116 // Member no longer part of cluster, remove it
122- log .Info ().Str ( "member" , m . ID ). Str ( "role" , group . AsRole ()). Msg ("Member is no longer part of the ArangoDB cluster. Removing it." )
117+ log .Info ().Msg ("Member is no longer part of the ArangoDB cluster. Removing it." )
123118 }
119+ log .Info ().Msg ("Removing member" )
124120 status .Members .RemoveByID (m .ID , group )
125121 updateStatusNeeded = true
126122 // Remove Pod & PVC (if any)
@@ -134,31 +130,28 @@ func (r *Resources) cleanupRemovedClusterMembers() error {
134130 return nil
135131 })
136132
137- log .Info ().Msg ("Cleanup routine 4" )
138-
139133 if updateStatusNeeded {
140- log .Info ().Msg ("updatestatusneeded " )
134+ log .Debug ().Msg ("UpdateStatus needed " )
141135
142136 if err := r .context .UpdateStatus (status , lastVersion ); err != nil {
137+ log .Warn ().Err (err ).Msg ("Failed to update deployment status" )
143138 return maskAny (err )
144139 }
145140 }
146141
147- log .Info ().Msg ("Cleanup routine 5" )
148142 for _ , podName := range podNamesToRemove {
143+ log .Info ().Str ("pod" , podName ).Msg ("Removing obsolete member pod" )
149144 if err := r .context .DeletePod (podName ); err != nil && ! k8sutil .IsNotFound (err ) {
150145 log .Warn ().Err (err ).Str ("pod" , podName ).Msg ("Failed to remove obsolete pod" )
151146 }
152147 }
153148
154- log .Info ().Msg ("Cleanup routine 6" )
155149 for _ , pvcName := range pvcNamesToRemove {
150+ log .Info ().Str ("pvc" , pvcName ).Msg ("Removing obsolete member PVC" )
156151 if err := r .context .DeletePvc (pvcName ); err != nil && ! k8sutil .IsNotFound (err ) {
157152 log .Warn ().Err (err ).Str ("pvc" , pvcName ).Msg ("Failed to remove obsolete PVC" )
158153 }
159154 }
160155
161- log .Info ().Msg ("Cleanup routine 7" )
162-
163156 return nil
164157}
0 commit comments