From 672614b57e8e6250afa7bdabbf17dfb7718b9e2b Mon Sep 17 00:00:00 2001 From: Abu Kashem Date: Fri, 9 Jun 2023 13:31:23 -0400 Subject: [PATCH] apf: refactor bootstrap ensure strategy --- pkg/registry/flowcontrol/ensurer/strategy.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkg/registry/flowcontrol/ensurer/strategy.go b/pkg/registry/flowcontrol/ensurer/strategy.go index 3cec8875aaa..c3e51375bcc 100644 --- a/pkg/registry/flowcontrol/ensurer/strategy.go +++ b/pkg/registry/flowcontrol/ensurer/strategy.go @@ -116,23 +116,27 @@ type configurationObject interface { // NewSuggestedEnsureStrategy returns an EnsureStrategy for suggested config objects func NewSuggestedEnsureStrategy() EnsureStrategy { return &strategy{ - alwaysAutoUpdateSpec: false, - name: "suggested", + alwaysAutoUpdateSpecFn: func(_ wantAndHave) bool { + return false + }, + name: "suggested", } } // NewMandatoryEnsureStrategy returns an EnsureStrategy for mandatory config objects func NewMandatoryEnsureStrategy() EnsureStrategy { return &strategy{ - alwaysAutoUpdateSpec: true, - name: "mandatory", + alwaysAutoUpdateSpecFn: func(_ wantAndHave) bool { + return true + }, + name: "mandatory", } } // auto-update strategy for the configuration objects type strategy struct { - alwaysAutoUpdateSpec bool - name string + alwaysAutoUpdateSpecFn func(wantAndHave) bool + name string } func (s *strategy) Name() string { @@ -146,7 +150,7 @@ func (s *strategy) ShouldUpdate(wah wantAndHave) (updatable, bool, error) { return nil, false, nil } - autoUpdateSpec := s.alwaysAutoUpdateSpec + autoUpdateSpec := s.alwaysAutoUpdateSpecFn(wah) if !autoUpdateSpec { autoUpdateSpec = shouldUpdateSpec(current) }