On 1 Apr 2014, at 5:10 am, Rainer Brestan <rainer.bres...@gmx.net> wrote:
> Using interval-origin in monitor operation definition does not work any more. > Veryfied on Pacemaker 1.1.10, but we think it does not work since 1.1.8 until > now. > > Pengine calculates start delay in function unpack_operation and calls there > crm_time_subtract. > > The call to crm_time_subtract with > origin=2014-03-31 19:20:00Z > date_set->now=2014-03-31 17:31:04Z > result in > delay=-0001-12-31 01:48:56Z > delay_s=31456136 > start_delay=31456136000 > which is almost a year in the future. To be fair, the origin was also in the future. I don't think that was expected. Can you supply your cib so I can experiment? > > The function crm_time_subtract calculates this by the crm_time_add_* > functions. > > The buggy statement is in crm_time_add_days. > If the calculated number of days is zero, it subtracts one year and add the > number of days, in this case 365. > But if a_time->days is zero, it must not do anything. > > The function crm_time_get_seconds, which is called by unpack_operation cannot > handle negative years, so it ignores the year -1 but adds 365 days. > > There are two solutions. > One is the add handling on negative years to crm_time_get_seconds. > The other is to exchange line 1140 in iso8601.c > while (a_time->days <= 0) { > by > while (a_time->days < 0) { > > Second solution is verified to bring the expected result, start-delay of > little less than two hours. > Handling of negative years in crm_time_get_seconds might not be a proper > solution as the return value of the function is unsigned long long and what > to report if the complete calculation gives a negative number of seconds. > > Rainer > > _______________________________________________ > Pacemaker mailing list: Pacemaker@oss.clusterlabs.org > http://oss.clusterlabs.org/mailman/listinfo/pacemaker > > Project Home: http://www.clusterlabs.org > Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf > Bugs: http://bugs.clusterlabs.org
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ Pacemaker mailing list: Pacemaker@oss.clusterlabs.org http://oss.clusterlabs.org/mailman/listinfo/pacemaker Project Home: http://www.clusterlabs.org Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf Bugs: http://bugs.clusterlabs.org