Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
upstream we have the following:
https://github.com/theforeman/foreman-tasks
Tasks cleanup
Although, the history of tasks has an auditing value, some kinds of tasks can grow up in number quite soon. Therefore there is a mechanism how to clean the tasks, using a rake command. When running without any arguments, the tasks are deleted based on the default parameters defined in the code.
foreman-rake foreman_tasks:cleanup
To see what tasks would be deleted, without actually deleting the records, you can run
foreman-rake foreman_tasks:cleanup NOOP=true
By default, only the actions explicitly defined with expiration time in the code, will get cleaned. One can configure new actions, or override the default configuration inside the configuration config/settings.plugins.d/foreman_tasks.yaml, such as:
:foreman-tasks:
:cleanup:
# the period after witch to delete all the tasks (by default all tasks are not being deleted after some period)
:after: 365d
# per action settings to override the default defined in the actions (cleanup_after method)
:actions:
- :name: Actions::Foreman::Host::ImportFacts
:after: 10d
The foreman_tasks:cleanup script also accepts additional parameters to specify the search criteria for the cleanup manually:
FILTER: scoped search filter (example: 'label = "Actions::Foreman::Host::ImportFacts"')
AFTER: delete tasks created after AFTER period. Expected format is a number followed by the time unit (s, h, m, y), such as 10d for 10 days (applicable only when the FILTER option is specified)
STATES: comma separated list of task states to touch with the cleanup, by default only stopped tasks are affected (applicable only when the FILTER option is specified)
NOOP: set to "true" if the task should not actually perform the deletion, only report the actions the script would perform
VERBOSE: set to "true" for more verbose output
BATCH_SIZE: the size of batches the tasks get processed in (1000 by default)
To see the current configuration (what actions get cleaned automatically and what is their after period), this script can be used:
foreman-rake foreman_tasks:cleanup:config
Version-Release number of selected component (if applicable):
Installed Packages
candlepin-0.9.49.9-1.el7.noarch
candlepin-common-1.0.22-1.el7.noarch
candlepin-guice-3.0-2_redhat_1.el7.noarch
candlepin-scl-1-5.el7.noarch
candlepin-scl-quartz-2.1.5-6.el7.noarch
candlepin-scl-rhino-1.7R3-3.el7.noarch
candlepin-scl-runtime-1-5.el7.noarch
candlepin-selinux-0.9.49.9-1.el7.noarch
candlepin-tomcat-0.9.49.9-1.el7.noarch
elasticsearch-0.90.10-7.el7.noarch
katello-2.2.0.16-1.el7sat.noarch
katello-certs-tools-2.2.1-1.el7sat.noarch
katello-common-2.2.0.16-1.el7sat.noarch
katello-debug-2.2.0.16-1.el7sat.noarch
katello-default-ca-1.0-1.noarch
katello-installer-2.3.20-1.el7sat.noarch
katello-installer-base-2.3.20-1.el7sat.noarch
katello-server-ca-1.0-1.noarch
katello-service-2.2.0.16-1.el7sat.noarch
libqpid-dispatch-0.4-10.el7.x86_64
pulp-docker-plugins-0.2.5-1.el7sat.noarch
pulp-katello-0.5-1.el7sat.noarch
pulp-nodes-common-2.6.0.17-1.el7sat.noarch
pulp-nodes-parent-2.6.0.17-1.el7sat.noarch
pulp-puppet-plugins-2.6.0.17-1.el7sat.noarch
pulp-puppet-tools-2.6.0.17-1.el7sat.noarch
pulp-rpm-plugins-2.6.0.17-1.el7sat.noarch
pulp-selinux-2.6.0.17-1.el7sat.noarch
pulp-server-2.6.0.17-1.el7sat.noarch
python-gofer-qpid-2.6.6-2.el7sat.noarch
python-isodate-0.5.0-4.pulp.el7sat.noarch
python-kombu-3.0.24-10.pulp.el7sat.noarch
python-pulp-bindings-2.6.0.17-1.el7sat.noarch
python-pulp-common-2.6.0.17-1.el7sat.noarch
python-pulp-docker-common-0.2.5-1.el7sat.noarch
python-pulp-puppet-common-2.6.0.17-1.el7sat.noarch
python-pulp-rpm-common-2.6.0.17-1.el7sat.noarch
python-qpid-0.30-6.el7.noarch
python-qpid-qmf-0.30-5.el7.x86_64
qpid-cpp-client-0.30-9.el7.x86_64
qpid-cpp-client-devel-0.30-9.el7.x86_64
qpid-cpp-server-0.30-9.el7.x86_64
qpid-cpp-server-linearstore-0.30-9.el7.x86_64
qpid-dispatch-router-0.4-10.el7.x86_64
qpid-java-client-0.30-3.el7.noarch
qpid-java-common-0.30-3.el7.noarch
qpid-proton-c-0.9-7.el7.x86_64
qpid-qmf-0.30-5.el7.x86_64
qpid-tools-0.30-4.el7.noarch
ruby193-rubygem-katello-2.2.0.76-1.el7sat.noarch
ruby193-rubygem-qpid_messaging-0.30.0-1.el7sat.x86_64
rubygem-hammer_cli_katello-0.0.7.18-1.el7sat.noarch
rubygem-smart_proxy_pulp-1.0.1.2-1.el7sat.noarch
satellite.toledo.satellite.lab.eng.rdu2.redhat.com-qpid-broker-1.0-1.noarch
satellite.toledo.satellite.lab.eng.rdu2.redhat.com-qpid-client-cert-1.0-1.noarch
satellite.toledo.satellite.lab.eng.rdu2.redhat.com-qpid-router-client-1.0-1.noarch
satellite.toledo.satellite.lab.eng.rdu2.redhat.com-qpid-router-server-1.0-1.noarch
Actual results:
[root@foreman ~]# foreman-rake foreman_tasks:cleanup NOOP=true --trace
rake aborted!
Don't know how to build task 'foreman_tasks:cleanup'
/opt/rh/ruby193/root/usr/share/ruby/rake/task_manager.rb:49:in `[]'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:115:in `invoke_task'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:94:in `block (2 levels) in top_level'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:94:in `each'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:94:in `block in top_level'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:133:in `standard_exception_handling'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:88:in `top_level'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:66:in `block in run'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:133:in `standard_exception_handling'
/opt/rh/ruby193/root/usr/share/ruby/rake/application.rb:63:in `run'
/opt/rh/ruby193/root/usr/bin/rake:32:in `<main>'
Expected results:
Tasks to be cleaned up
Additional info:
link to cleanup.rake:
https://github.com/theforeman/foreman-tasks/blob/master/lib/foreman_tasks/tasks/cleanup.rake
+1 we need to do some cleanup to have benefits like:
- shrink psql tables *a lot*
- make task list faster to load (due to much less data to process)
- task-export generation much faster, tarball is much smaller, easier to investigate it
This improvement is great, but NikStSG found a gotcha:
cleaning tasks this way, a repository synced long time ago is newly shown as Never synced
see https://bugzilla.redhat.com/show_bug.cgi?id=1308430 filed for that
Verified, task is included in Satellite 6.2 Snap 5.1:
[root@sat-r220-06 ~]# foreman-rake foreman_tasks:cleanup NOOP=true
[noop] deleting all tasks matching filter label = Actions::Foreman::Host::ImportFacts AND started_at < "2016-02-23 16:32:02" AND state = stopped
[noop] 0 tasks would be deleted
[noop] deleting all tasks matching filter label = Actions::Foreman::Puppetclass::Import AND started_at < "2016-02-23 16:32:02" AND state = stopped
[noop] 0 tasks would be deleted
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2016:1501