[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