From 2857bc69957bde7e59fff1c66c5a83c7f560616b Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Tue, 31 Jan 2023 15:53:08 +0100 Subject: [PATCH] automember-rebuild: add a notice about high CPU usage The automember-rebuild task may require high CPU usage if many users/hosts/groups are processed. Add a note in the ipa automember-rebuild CLI output and in the WebUI confirmation message. Fixes: https://pagure.io/freeipa/issue/9320 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Francisco Trivino --- install/ui/test/data/i18n_messages.json | 2 +- ipaclient/plugins/automember.py | 8 ++++++++ ipaserver/plugins/internal.py | 6 +++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/install/ui/test/data/i18n_messages.json b/install/ui/test/data/i18n_messages.json index 49d288326d8cea192a16e93a274599805b0ea666..5b735487bf33805e8f0534d378d1497f05a11be8 100644 --- a/install/ui/test/data/i18n_messages.json +++ b/install/ui/test/data/i18n_messages.json @@ -7,7 +7,7 @@ "actions": { "apply": "Apply", "automember_rebuild": "Rebuild auto membership", - "automember_rebuild_confirm": "Are you sure you want to rebuild auto membership?", + "automember_rebuild_confirm": "Are you sure you want to rebuild auto membership? In case of a high number of users, hosts or groups, the operation may require high CPU usage.", "automember_rebuild_success": "Automember rebuild membership task completed", "confirm": "Are you sure you want to proceed with the action?", "delete_confirm": "Are you sure you want to delete ${object}?", diff --git a/ipaclient/plugins/automember.py b/ipaclient/plugins/automember.py index df4a2e5a01744e0ff22c74180e13c2e7dc33fbaa..7108dc948753b9f6a4439842bd75e7c5e064bda6 100644 --- a/ipaclient/plugins/automember.py +++ b/ipaclient/plugins/automember.py @@ -34,3 +34,11 @@ class automember_add_condition(MethodOverride): flags=['suppress_empty'], ), ) + + +@register(override=True, no_fail=True) +class automember_rebuild(MethodOverride): + def interactive_prompt_callback(self, kw): + msg = _('IMPORTANT: In case of a high number of users, hosts or ' + 'groups, the operation may require high CPU usage.') + self.Backend.textui.print_plain(msg) diff --git a/ipaserver/plugins/internal.py b/ipaserver/plugins/internal.py index 5ffa7a281548a0658386f8740dbddd96fd0bc7d6..e1e920f8bb49dd8ba8f30b727111bb1316f6a918 100644 --- a/ipaserver/plugins/internal.py +++ b/ipaserver/plugins/internal.py @@ -160,7 +160,11 @@ class i18n_messages(Command): "actions": { "apply": _("Apply"), "automember_rebuild": _("Rebuild auto membership"), - "automember_rebuild_confirm": _("Are you sure you want to rebuild auto membership?"), + "automember_rebuild_confirm": _( + "Are you sure you want to rebuild auto membership? In case of " + "a high number of users, hosts or groups, the operation " + "may require high CPU usage." + ), "automember_rebuild_success": _("Automember rebuild membership task completed"), "confirm": _("Are you sure you want to proceed with the action?"), "delete_confirm": _("Are you sure you want to delete ${object}?"), -- 2.39.1