From 935a3841f8d8956fc56273d2a02467c4733a3ae6 Mon Sep 17 00:00:00 2001 From: Max McAdam Date: Thu, 11 Apr 2024 07:47:09 -0700 Subject: [PATCH] Issue 4034 - Agreement never gets terminated even when policy no longer matches Signed-off-by: Max McAdam --- governance/governance.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/governance/governance.go b/governance/governance.go index 862838a9e..b074d7d34 100644 --- a/governance/governance.go +++ b/governance/governance.go @@ -523,6 +523,12 @@ func (w *GovernanceWorker) governAgreements() { // The proposal for this agreement is no longer compatible with the node's policy, so cancel the agreement. glog.V(3).Infof(logString(fmt.Sprintf("current proposal for %v is out of policy: %v", ag.CurrentAgreementId, err))) + glog.V(3).Infof(logString(fmt.Sprintf("terminating agreement %v because it cannot be verified by the agreement bot.", ag.CurrentAgreementId))) + reason := w.producerPH[ag.AgreementProtocol].GetTerminationCode(producer.TERM_REASON_POLICY_CHANGED) + eventlog.LogAgreementEvent(w.db, persistence.SEVERITY_INFO, + persistence.NewMessageMeta(EL_GOV_START_TERM_AG_WITH_REASON, ag.RunningWorkload.URL, w.producerPH[ag.AgreementProtocol].GetTerminationReason(reason)), + persistence.EC_CANCEL_AGREEMENT, ag) + w.cancelGovernedAgreement(&ag, reason) } else { glog.V(5).Infof(logString(fmt.Sprintf("agreement %v is still in policy.", ag.CurrentAgreementId)))