On ke, 09 syys 2020, Scott Serr via FreeIPA-users wrote:
My environment is: CentOS 8.2, FreeIPA 4.8.4, single instance, no clients

My minimal test case plugin looks like this:

user.takes_params += (
Str('useraffiliation?',
cli_name = 'useraffiliation',
label = _('User Affiliation'),
),
)
user.default_attributes.append('useraffiliation')

Say I modify the label. That change isn't shown in IPA cli:
ipa user-find foo --all

Then about an hour later (go eat dinner) then the label has changed.

Restarting the ipa service, another kinit, even rebooting doesn't hurry this 
process along.

2 Questions:
1. What is causing this delay in reflecting my changes?
2. Is there a way to force my changes to be reflected right away?

The issue you see is a client-side caching of IPA API schema metadata.
In order to avoid retrieving API definition every time we call into
JSON-RPC, we retrieve API definition once and cache it locally.

When you change API definition, such as adding your plugin or adding
params to existing objects and restarting a server side, the fingerprint of
the API would change. However, the client doesn't know about that until
it retries to retrieve the new API definition.

A client-side workaround is to remove content of
~/.cache/ipa/servers/<servername> every time you are changing the server
content.  If you want, you can remove the whole cache in ~/.cache/ipa as
it also includes older schema definitions.


--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
_______________________________________________
FreeIPA-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]

Reply via email to