Project

General

Profile

Bug #160

Last Report Date is client date, not date report was received.

Added by Dis Connect over 9 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Puppet Reports
Target version:
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

Description

The "last report" date should be the time the most recent report arrived at the server, regardless of any client-side embedded dates. This allows event correlation even in the face of client clock drift. (In a perfect world, the clocks would all stay in lockstep. Unfortunately, this isn't a perfect world and ntpd will bail when the drift is too high - exactly when it is needed most.)

For example, when 10 hosts fail you can go back and say "oh. they all failed at 2:10am. That is when the fileserver backup runs. It must be causing puppet timeouts" rather than "hmm. so they failed between 2 and 3, but only 1 had trouble during the backup."

Perhaps "Report Date" is a better name for the embedded datestamp, since that is the date the report was generated (so importing older reports will not have unexpected side-effects.)

Associated revisions

Revision c820bdbb (diff)
Added by Ohad Levy over 9 years ago

fixes #160 - Last Report Date is client date, not date report was received

History

#1 Updated by Ohad Levy over 9 years ago

  • Category set to Puppet Reports
  • Status changed from New to Feedback
  • Assignee set to Dis Connect

would it be enough if we expire the reports based on their creation date instead?

#2 Updated by Ohad Levy over 9 years ago

  • Status changed from Feedback to Assigned
  • Assignee changed from Dis Connect to Ohad Levy
  • Target version set to 0.1-5

#3 Updated by Ohad Levy over 9 years ago

  • Status changed from Assigned to Ready For Testing
  • % Done changed from 0 to 100

#4 Updated by Ohad Levy over 9 years ago

  • Status changed from Ready For Testing to Closed

#5 Updated by Jason Antman over 7 years ago

Ohad, sorry but this doesn't seem to be fixed.

Scenario: clock on a given host is behind by, say, 6 hours. Host is running normally and sending reports. For that host:
  • The "Last Report" column on the Hosts page reads "about 6 hours ago"
  • All reports on the hosts/hostname/reports page share the incorrect "Last report" time
  • The host shows up as Out of Sync in the dashboard and other places

In these cases, looking at the database, the created_at values appear correct, it's just the reported_at value that comes from the client, and appears to be used.

My personal recommendation (it'll be a while before I can get around to a patch) would be to hunt down all or most uses of "reported_at" in the UI and replace them with "created_at".

Also available in: Atom PDF