From 64861a0cf9a8ac18d83a206c11fd3b42be3c578c Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Mar 20 2024 12:59:21 +0000 Subject: idrange-add: add a warning because 389ds restart is required After the addition of a new idrange, the sidgen plugin is not immediately aware of the new idrange and a restart of 389ds is required. Otherwise the creation of new user/group with a uid/gid inside the new range fails to grant a SID to the user/group. Fixes: https://pagure.io/freeipa/issue/9558 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Alexander Bokovoy --- diff --git a/ipaserver/plugins/idrange.py b/ipaserver/plugins/idrange.py index 30a018e..9e46116 100644 --- a/ipaserver/plugins/idrange.py +++ b/ipaserver/plugins/idrange.py @@ -552,6 +552,12 @@ class idrange_add(LDAPCreate): self.obj.handle_ipabaserid(entry_attrs, options) self.obj.handle_iparangetype(entry_attrs, options, keep_objectclass=True) + self.add_message( + messages.ServiceRestartRequired( + service=services.knownservices.dirsrv.service_instance(""), + server=_('') + ) + ) return dn diff --git a/ipatests/test_xmlrpc/test_range_plugin.py b/ipatests/test_xmlrpc/test_range_plugin.py index f912e04..e3f4c23 100644 --- a/ipatests/test_xmlrpc/test_range_plugin.py +++ b/ipatests/test_xmlrpc/test_range_plugin.py @@ -372,6 +372,8 @@ IPA_LOCAL_RANGE_MOD_ERR = ( "domain. Run `ipa help idrange` for more information" ) +dirsrv_instance = services.knownservices.dirsrv.service_instance("") + @pytest.mark.tier1 class test_range(Declarative): @@ -464,6 +466,11 @@ class test_range(Declarative): ), value=testrange1, summary=u'Added ID range "%s"' % (testrange1), + messages=( + messages.ServiceRestartRequired( + service=dirsrv_instance, + server='').to_dict(), + ), ), ), @@ -633,6 +640,11 @@ class test_range(Declarative): ), value=testrange2, summary=u'Added ID range "%s"' % (testrange2), + messages=( + messages.ServiceRestartRequired( + service=dirsrv_instance, + server='').to_dict(), + ), ), ), @@ -792,6 +804,11 @@ class test_range(Declarative): ), value=unicode(domain7range1), summary=u'Added ID range "%s"' % (domain7range1), + messages=( + messages.ServiceRestartRequired( + service=dirsrv_instance, + server='').to_dict(), + ), ), ), @@ -1079,6 +1096,11 @@ class test_range(Declarative): ), value=testrange9, summary=u'Added ID range "%s"' % (testrange9), + messages=( + messages.ServiceRestartRequired( + service=dirsrv_instance, + server='').to_dict(), + ), ), ),