Project

General

Profile

Actions

Bug #5874

closed

User story #5293: Add a 'changes only' compliance mode, only reporting changes on systems

User story #5576: Add a heartbeat feature that force agent to periodically contact Rudder

User story #5579: Send reports from the agent to provide a heartbeat

Start message from system techniques is sometimes not printed due to over-zealous locking

Added by Jonathan CLARKE about 10 years ago. Updated about 10 years ago.

Status:
Released
Priority:
2
Category:
System techniques
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

Our reporting system relies on a pair of messages (startRun/endRun) at the beginning/end of each run to be sent.

Since #5579, we changed the way the startRun message is called, to make it optional for the "changes only" reporting mode from #5293. This now involves an intermediate methods promise to call it:

168   methods:
169     # Should we send a message stating this agent is starting up?
170     # Always do it in "full_compliance" mode
171     # In other modes, only do it here if we need to send it as a "heartbeat", that is if it hasn't already been sent recently enough
172     full_compliance|!heartbeat_sent::
173       "Send start message" usebundle => startExecution;

However since this promise doesn't contain any run-unique information (like the timestamp the actual report contains), this gets subjected to the default locks. But the endRun report does not, since the bundle is run directly from the bundlesequence. This results in outputs lacking the startRun message.

This is easily fixed by using "action => immediate" on the methods promises that call startExecution.


Subtasks 1 (0 open1 closed)

Bug #5878: Apply fix from #5874 to ncf's copyReleasedNicolas CHARLES2014-11-29Actions
Actions #1

Updated by Jonathan CLARKE about 10 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Jonathan CLARKE to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder-techniques/pull/582
Actions #2

Updated by Jonathan CLARKE about 10 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100

Applied in changeset policy-templates:commit:6b4a67439ea2ece4db8abc12ed8f64736d9118eb.

Actions #3

Updated by Matthieu CERDA about 10 years ago

Applied in changeset policy-templates:commit:9b6ed639a12923689b42a3b894b670c71da71d1c.

Actions #4

Updated by Nicolas CHARLES about 10 years ago

i don't understand this issue. When does the startRun isn't outputed ?

Actions #5

Updated by Jonathan CLARKE about 10 years ago

If you run the agent once, then run it again immediately afterwards, without the -K flag. Then the default lock applies to this promise (the methods call).

This could be an issue also if a user runs cf-agent manually, less than one minute before cf-execd runs it.

Actions #6

Updated by Vincent MEMBRÉ about 10 years ago

  • Parent task set to #5579
Actions #7

Updated by Vincent MEMBRÉ about 10 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 3.0.0~beta1 which was release on 01/12/2014.

Actions

Also available in: Atom PDF