Project

General

Profile

Bug #24257

Updated by Marek Hulán over 1 year ago

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1600450

The reports:expire doesn't work for ArfReport

# foreman-rake reports:expire days=0 report_type="ForemanOpenscap::ArfReport"

It produced a log

D, [2018-06-18T15:39:52.098271 #6509] DEBUG -- : SQL (0.3ms) DELETE FROM "reports" WHERE "reports"."type" IN ('ForemanOpenscap::ArfReport') AND (1=0) AND (reports.created_at < '2018-06-18 10:09:52')
I, [2018-06-18T15:39:52.098582 #6509] INFO -- : 2018-06-18 10:09:52 UTC: Expired 0 Foreman openscap/arf reports

The above query has condition --> AND (1=0)

Workaround:

<pre>
diff --git a/lib/tasks/reports.rake b/lib/tasks/reports.rake
index fb4400d..e2b7cc2 100644
--- a/lib/tasks/reports.rake
+++ b/lib/tasks/reports.rake
@@ -30,8 +30,9 @@ namespace :reports do
conditions = {}
conditions[:timerange] = ENV['days'].to_i.days if ENV['days']
conditions[:status] = ENV['status'].to_i if ENV['status']
-
- report_type.expire(conditions)
+ User.as_anonymous_admin do
+ report_type.expire(conditions)
+ end
end
end
</pre>

Back