On 02/26/2015 12:55 AM, Martin Kosek wrote:
> On 02/26/2015 03:28 AM, Nathan Kinder wrote:
>> The two attached patches address some issues that affect
>> ipa-client-install when syncing time from the NTP server. Now that we
>> use ntpd to perform the time sync, the client install can end up hanging
>> forever when the server is not reachable (firewall issues, etc.). These
>> patches address the issues in two different ways:
>> 1 - Don't attempt to sync time when --no-ntp is specified.
>> 2 - Implement a timeout capability that is used when we run ntpd to
>> perform the time sync to prevent indefinite hanging.
>> The one potentially contentious issue is that this introduces a new
>> dependency on python-subprocess32 to allow us to have timeout support
>> when using Python 2.x. This is packaged for Fedora, but I don't see it
>> on RHEL or CentOS currently. It would need to be packaged there.
> Thanks for Patches. For the second patch, I would really prefer to avoid new
> dependency, especially if it's not packaged in RHEL/CentOS. Maybe we could use
> some workaround instead, as in:
I don't like having to add an additional dependency either, but the
alternative seems more risky. Utilizing the subprocess32 module (which
is really just a backport of the normal subprocess module from Python
3.x) is not invasive for our code in ipautil.run(). Adding some sort of
a thread that has to kill the spawned subprocess seems more risky (see
the discussion about a race condition in the stackoverflow thread
above). That said, I'm sure the thread/poll method can be made to work
if you and others feel strongly that this is a better approach than
adding a new dependency.
Freeipa-devel mailing list