From 0ae110430a2aec79a026e8123ee8937829354afc Mon Sep 17 00:00:00 2001 From: Michael Mraka Date: Thu, 24 Sep 2026 13:12:29 +0200 Subject: [PATCH] RHINENG-25511: add ff to disable advisory_account_data update in evaluator --- evaluator/advisory_update_test.go | 1 - evaluator/evaluate.go | 3 +++ evaluator/evaluate_advisories.go | 5 ++++ evaluator/evaluate_advisories_test.go | 39 +++++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/evaluator/advisory_update_test.go b/evaluator/advisory_update_test.go index 948a9e8f9..66a2b68d6 100644 --- a/evaluator/advisory_update_test.go +++ b/evaluator/advisory_update_test.go @@ -39,7 +39,6 @@ func TestCreateAdvisoryUpdateEvent(t *testing.T) { WorkspaceID: wsID, WorkspaceName: &wsName, }, - Patch: models.SystemPatch{}, } changedAdvisoryIDs := []int64{1, 2} diff --git a/evaluator/evaluate.go b/evaluator/evaluate.go index da6daa90e..24ad47102 100644 --- a/evaluator/evaluate.go +++ b/evaluator/evaluate.go @@ -64,6 +64,7 @@ var ( enableAdvisoryUpdates bool enableSatelliteFunctionality bool enableTemplateAdvisoryEval bool + enableAdvisoryAccountData bool errVmaasBadRequest = errors.New("vmaas bad request") ) @@ -96,6 +97,8 @@ func configureEvaluator() { disableCompression = !utils.PodConfig.GetBool("vmaas_call_compression", true) // Evaluate advisories enableAdvisoryAnalysis = utils.PodConfig.GetBool("advisory_analysis", true) + // Update legacy advisory_account_data counts during evaluation + enableAdvisoryAccountData = utils.PodConfig.GetBool("advisory_account_data", true) // evaluate packages enablePackageAnalysis = utils.PodConfig.GetBool("package_analysis", true) // Look for third party repos diff --git a/evaluator/evaluate_advisories.go b/evaluator/evaluate_advisories.go index e6b987105..06b89b580 100644 --- a/evaluator/evaluate_advisories.go +++ b/evaluator/evaluate_advisories.go @@ -417,6 +417,11 @@ func updateAdvisoryAccountData( system *models.SystemPlatformV2, advisoriesByName extendedAdvisoryMap, ) error { + if !enableAdvisoryAccountData { + utils.LogInfo("inventoryID", system.GetInventoryID(), "advisory_account_data updates disabled, skipping") + return nil + } + changes := calcAdvisoryChanges(system, advisoriesByName) if len(changes) == 0 { diff --git a/evaluator/evaluate_advisories_test.go b/evaluator/evaluate_advisories_test.go index b89050ea8..9f28e2e31 100644 --- a/evaluator/evaluate_advisories_test.go +++ b/evaluator/evaluate_advisories_test.go @@ -196,6 +196,45 @@ func TestUpdateAdvisoryAccountData(t *testing.T) { database.DeleteAdvisoryAccountData(t, system.Inventory.RhAccountID, advisoryIDs) } +func TestUpdateAdvisoryAccountDataDisabled(t *testing.T) { + utils.SkipWithoutDB(t) + core.SetupTestEnvironment() + + prev := enableAdvisoryAccountData + enableAdvisoryAccountData = false + defer func() { enableAdvisoryAccountData = prev }() + + system := &models.SystemPlatformV2{ + Inventory: models.SystemInventory{ID: 12, RhAccountID: 3}, + Patch: models.SystemPatch{}, + } + advisoryIDs := []int64{2, 3, 4} + database.CreateAdvisoryAccountData(t, system.Inventory.RhAccountID, advisoryIDs, 1) + defer database.DeleteAdvisoryAccountData(t, system.Inventory.RhAccountID, advisoryIDs) + + advisoriesByName := extendedAdvisoryMap{ + "ER-2": { + change: Remove, + SystemAdvisories: models.SystemAdvisories{ + AdvisoryID: 2, SystemID: system.InternalSystemID(), RhAccountID: system.Inventory.RhAccountID}, + }, + "ER-3": { + change: Remove, + SystemAdvisories: models.SystemAdvisories{ + AdvisoryID: 3, SystemID: system.InternalSystemID(), RhAccountID: system.Inventory.RhAccountID}, + }, + "ER-4": { + change: Remove, + SystemAdvisories: models.SystemAdvisories{ + AdvisoryID: 4, SystemID: system.InternalSystemID(), RhAccountID: system.Inventory.RhAccountID}, + }, + } + + err := updateAdvisoryAccountData(database.DB, system, advisoriesByName) + assert.NoError(t, err) + database.CheckAdvisoriesAccountData(t, system.Inventory.RhAccountID, advisoryIDs, 1) +} + func TestGetMissingAdvisories(t *testing.T) { utils.SkipWithoutDB(t) core.SetupTestEnvironment()