``utils`` ========= This module contains a number of utility functions used at PSI. It is the PSI-specific analogue to Puppetlabs' ``stdlib``. Functions --------- ``check_os`` ~~~~~~~~~~~~ Accepts an arbitrary number of arguments, each of which is a string of the form ``$osfamily $majorversion`` as reported by ``facter(8)``. If the facts of the client system **do not** match any of the arguments, the function aborts the Puppet run. ``rand_time`` ~~~~~~~~~~~~~ This function takes a parameter specifying a time window and returns a specific time within this window based on the MD5 on the hostname. This allows scheduling cron jobs etc uniformly across a fleet of system within a given window, while keeping the time on each system predictable. The format for the argument specifying the time window is ``HH:MM--HH:MM``. The window must not include midnight. The format of the return value is ``HH:MM``.