[Freeipa-devel] [PATCH][RFC] 7 automember rebuild nowait feature added

Rob Crittenden rcritten at redhat.com
Fri Mar 14 17:26:15 UTC 2014


Misnyovszki Adam wrote:
> Hi,
>
> automember-rebuild uses asynchronous 389 task, and returned success
> even if the task didn't run. This patch fixes this issue adding a
> --nowait parameter to 'ipa automember-rebuild', defaulting to False,
> thus when the script runs without it, it waits for the 'nstaskexitcode'
> attribute, which means the task has finished, according to
> http://directory.fedoraproject.org/wiki/Task_Invocation_Via_LDAP#Implementation.
> Old usage can be enabled using --nowait.
>
> https://fedorahosted.org/freeipa/ticket/4239
>
> Request for comments:
> - Should I add a parameter to specify the polling time? (now 1ms)
> - Should I add a parameter to specify the maximum polling number? Now
>    if something fails about creating the task, it polls forever.
> - Obviously, if these parameters should be added, there should be a
>    reasonable default for them (~ Required=False, Default=X).

I don't think you need a polling time, esp since this is hidden from the 
user, but I think that is probably too short and you may end up 
hammering the LDAP server.

I also wonder if there should be some maximum wait time. I don't like 
loops that can never exit. I'm at a loss for what that time should be 
though. And we'd need to spell out that we gave up waiting, not that the 
task necessarily failed. So rather than having a polling time option, 
rename nowait into wait_for=20, so wait for 20 seconds. Or something 
like that.

I'd suggest using get_entry since you already know the full DN and there 
is only ever one. It would make this much more readable.

I wonder if some top-level documentation should be added to flesh this 
out some more. This does, for example, return False in one case. The 
meaning for that should be spelled out.

rob




More information about the Freeipa-devel mailing list