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 <flo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This commit is contained in:
Florence Blanc-Renaud 2024-03-19 13:29:24 +01:00
parent f9a1d74f5e
commit 64861a0cf9
2 changed files with 28 additions and 0 deletions

View File

@ -552,6 +552,12 @@ class idrange_add(LDAPCreate):
self.obj.handle_ipabaserid(entry_attrs, options) self.obj.handle_ipabaserid(entry_attrs, options)
self.obj.handle_iparangetype(entry_attrs, options, self.obj.handle_iparangetype(entry_attrs, options,
keep_objectclass=True) keep_objectclass=True)
self.add_message(
messages.ServiceRestartRequired(
service=services.knownservices.dirsrv.service_instance(""),
server=_('<all IPA servers>')
)
)
return dn return dn

View File

@ -372,6 +372,8 @@ IPA_LOCAL_RANGE_MOD_ERR = (
"domain. Run `ipa help idrange` for more information" "domain. Run `ipa help idrange` for more information"
) )
dirsrv_instance = services.knownservices.dirsrv.service_instance("")
@pytest.mark.tier1 @pytest.mark.tier1
class test_range(Declarative): class test_range(Declarative):
@ -464,6 +466,11 @@ class test_range(Declarative):
), ),
value=testrange1, value=testrange1,
summary=u'Added ID range "%s"' % (testrange1), summary=u'Added ID range "%s"' % (testrange1),
messages=(
messages.ServiceRestartRequired(
service=dirsrv_instance,
server='<all IPA servers>').to_dict(),
),
), ),
), ),
@ -633,6 +640,11 @@ class test_range(Declarative):
), ),
value=testrange2, value=testrange2,
summary=u'Added ID range "%s"' % (testrange2), summary=u'Added ID range "%s"' % (testrange2),
messages=(
messages.ServiceRestartRequired(
service=dirsrv_instance,
server='<all IPA servers>').to_dict(),
),
), ),
), ),
@ -792,6 +804,11 @@ class test_range(Declarative):
), ),
value=unicode(domain7range1), value=unicode(domain7range1),
summary=u'Added ID range "%s"' % (domain7range1), summary=u'Added ID range "%s"' % (domain7range1),
messages=(
messages.ServiceRestartRequired(
service=dirsrv_instance,
server='<all IPA servers>').to_dict(),
),
), ),
), ),
@ -1079,6 +1096,11 @@ class test_range(Declarative):
), ),
value=testrange9, value=testrange9,
summary=u'Added ID range "%s"' % (testrange9), summary=u'Added ID range "%s"' % (testrange9),
messages=(
messages.ServiceRestartRequired(
service=dirsrv_instance,
server='<all IPA servers>').to_dict(),
),
), ),
), ),