Project

General

Profile

Actions

User story #3679

closed

Make the agent run schedule configurable from 5 minutes to 6 hours, with configurable offset and splay time

Added by Nicolas CHARLES over 10 years ago. Updated about 9 years ago.

Status:
Released
Priority:
2
Category:
Web - Config management
Target version:
UX impact:
Suggestion strength:
User visibility:
Effort required:
Name check:
Fix check:
Regression:

Description

Many user reports they'd like to have the schedule of the agent execution changed; either to every minutes, or every hour.
There are no easy way to change that for the moment (except from changing the executor control in system/common/1.0/promises.st) and there is no proof that everything will work perfectly.

What could go wrong (untested, and probably incomplete/invalid list):
  1. reporting on no answer rely on the 5 minutes schedule
  2. some classes may be set to persist for 5 minutes
  3. default lock is one minute
  4. database will get HUGE for one minute schedule

Subtasks 7 (0 open7 closed)

User story #4609: Create the system variable definition for specifying the agent frequency (cf-clerk part)ReleasedFrançois ARMAND2014-03-13Actions
User story #4610: Have the possibility to change the frequency of the agent executionReleasedFrançois ARMAND2014-03-13Actions
User story #4617: UI for setting the cf-agent scheduleReleasedNicolas CHARLES2014-03-13Actions
User story #4623: Update techniques to use the defined schedule and splaytimeReleasedJonathan CLARKE2014-03-14Actions
Bug #4632: Wrong computation of pending intervalReleasedFrançois ARMAND2014-03-17Actions
Bug #4641: Agent schedule is not defined as configuredReleasedVincent MEMBRÉ2014-03-18Actions
Bug #4647: No compliance per node is displayed since the paramterizable scheduleReleasedVincent MEMBRÉ2014-03-18Actions

Related issues 3 (0 open3 closed)

Related to Rudder - Bug #4640: Changing server security settings should trigger a promise generationReleasedFrançois ARMAND2014-03-18Actions
Related to Rudder - Bug #7154: Agent schedule is not historised, so we can't know what was the agent run interval in the pastReleasedFrançois ARMAND2015-09-04Actions
Related to Rudder - Bug #18330: Agent run frequency must not be configurable on policy serversReleasedFrançois ARMANDActions
Actions #1

Updated by Matthieu CERDA about 10 years ago

  • Status changed from New to Discussion
  • Assignee set to Nicolas CHARLES
  • Priority changed from N/A to 3

I would also add the possibility to schedule de reports differently too, which might prove useful in network constrained environments like 3G networks.

Actions #2

Updated by Christophe Nowicki about 10 years ago

BUP! ;-)

Actions #3

Updated by Nicolas CHARLES about 10 years ago

This is clearly a big topic, with differents approaches:
  • define a frequency global, via a web parameter, and use it to compute the reporting. Caution, when this value changes (especially when reduced), we can be led to believe that some nodes doesn't answer, when they simply are on the previous schedule. So we should historize all frequencies
  • have a per node frequency (which also can be defined on install of rudder-agent on the node). Same type of constraints than previous points
  • don't send compliance reports, only non-compliance, when in "non compliance mode". This would CLEARLY lower the amount of data over network and stored in database
Actions #4

Updated by Nicolas CHARLES about 10 years ago

  • Target version changed from Ideas (not version specific) to 2.10.0~beta1

This is the meta ticket for having the scedule of the agent configurable
All nodes will have the same schedule, between 5 minutes and 6 hours

Actions #5

Updated by Nicolas CHARLES about 10 years ago

Please bear in mind that is applies only to node, and not to the relay server

Actions #6

Updated by Jonathan CLARKE about 10 years ago

  • Subject changed from Have the schedule of agent execution configurable to Make the agent run schedule configurable from 5 minutes to 6 hours, with configurable offset and splay time

Updated the ticket title to reflect the exact change we are implementing:

  • Configurable run "frequency" amongst a pre-defined list of choices: 5, 10, 15, 20, 30 minutes, 1, 2, 3, 4, 6 hours
  • Configurable "offset" (time of the 'first' run), can be any hour/minute combinaison that is lower than the "frequency" above. For example, given a "frequency" of 2 hours, you could set the offset to be anything from 0 minutes to 1:59. In the latter case, the agent would be run at 01:59, 03:59, 05:59 and so on.
  • Configurable "splay time" (maximum delay for run after scheduled time, that all nodes choose a random integer in the [0, splaytime] interval). This can be any hour/minute combinaison that is lower than the "frequency" above.

These three parameters will be configurable in the web interface.

Actions #7

Updated by Jonathan CLARKE about 10 years ago

Note: the changed schedule will only apply to managed nodes, not the root server or relay servers.

The reasons for this are that:

  1. Some actions run by cf-agent on the root and relay servers need to happen pretty frequently, in particular sending inventories to the endpoint (and given the recent change on queue size in the endpoint, this would simply not work if the frequency was too high)
  2. It is imperative that relay servers copy promises for the nodes that report to them from the root server before the run window starts. Therefore, if the interval was, for example, 6 hours, if we changed the frequency on relay servers too, it might take up to 12 hours for a change to apply to some managed nodes. We don't want that :)
  3. There may be hidden side-effects we haven't noted here yet.
Actions #8

Updated by Jonathan CLARKE about 10 years ago

  • Status changed from Discussion to 12
Actions #9

Updated by François ARMAND about 10 years ago

  • Description updated (diff)

So, to be consistent every where on naming, we will use:

- agent_run_interval
- agent_run_splaytime
- agent_run_schedule
- agent_run_starthour
- agent_run_startminute

Actions #10

Updated by Jonathan CLARKE about 10 years ago

  • Status changed from 12 to Pending release
Actions #11

Updated by Vincent MEMBRÉ about 10 years ago

  • Category changed from Web - Config management to 14
Actions #12

Updated by Vincent MEMBRÉ about 10 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 2.10.0~beta1, which was released today.
Check out:

The release announcement: http://www.rudder-project.org/pipermail/rudder-announce/2014-March/000084.html
The full ChangeLog: http://www.rudder-project.org/foswiki/bin/view/System/Documentation:ChangeLog210
Download information: https://www.rudder-project.org/site/get-rudder/downloads/
Actions #13

Updated by Benoît PECCATTE about 9 years ago

  • Category changed from 14 to Web - Config management
Actions #14

Updated by Nicolas CHARLES over 8 years ago

  • Related to Bug #7154: Agent schedule is not historised, so we can't know what was the agent run interval in the past added
Actions #15

Updated by François ARMAND over 3 years ago

  • Related to Bug #18330: Agent run frequency must not be configurable on policy servers added
Actions

Also available in: Atom PDF