From dba0a375571d7d25cdf3b75e6964830416e073ae Mon Sep 17 00:00:00 2001 From: Adam Janikowski <12255597+ajanikow@users.noreply.github.com> Date: Thu, 23 Dec 2021 22:40:27 +0100 Subject: [PATCH] [Feature] Keep only recent terminations (#865) --- CHANGELOG.md | 1 + pkg/deployment/member/phase_updates.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f15f19eb..8298b28f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Add Plan BackOff functionality - Fix Core InitContainers check - Remove unused `status.members..sidecars-specs` variable +- Keep only recent terminations ## [1.2.6](https://github.com/arangodb/kube-arangodb/tree/1.2.6) (2021-12-15) - Add ArangoBackup backoff functionality diff --git a/pkg/deployment/member/phase_updates.go b/pkg/deployment/member/phase_updates.go index e0d32bd01..52f9770c6 100644 --- a/pkg/deployment/member/phase_updates.go +++ b/pkg/deployment/member/phase_updates.go @@ -23,10 +23,16 @@ package member import ( + "time" + api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1" "k8s.io/apimachinery/pkg/util/uuid" ) +const ( + recentTerminationsKeepPeriod = time.Minute * 30 +) + type phaseMapFunc func(action api.Action, m *api.MemberStatus) type phaseMapTo map[api.MemberPhase]phaseMapFunc type phaseMap map[api.MemberPhase]phaseMapTo @@ -77,6 +83,8 @@ func removeMemberConditionsMapFunc(m *api.MemberStatus) { m.Conditions.Remove(api.ConditionTypeCleanedOut) m.Conditions.Remove(api.ConditionTypeTopologyAware) + m.RemoveTerminationsBefore(time.Now().Add(-1 * recentTerminationsKeepPeriod)) + m.Upgrade = false }