Architecture #3727
closedThe cfengine processes management in system technique is splitted in various places
Description
We have several places where the CFEngine processes are managed in our system technique :
- update.cf
- promises.cf
- process-matching
We need to factorize it a bit, and be sure of what we do (sometimes we handle disable-agent, sometimes not)
Updated by Nicolas CHARLES over 11 years ago
- Project changed from 34 to 24
- Category set to Techniques
Updated by Nicolas PERRON over 11 years ago
- Target version changed from 2.7.0~beta1 to 2.7.0~rc1
Updated by Jonathan CLARKE over 11 years ago
- Status changed from New to 8
- Assignee set to Jonathan CLARKE
I'll look into this.
Updated by Jonathan CLARKE over 11 years ago
- Assignee deleted (
Jonathan CLARKE)
Nicolas CHARLES wrote:
We need to factorize it a bit, and be sure of what we do (sometimes we handle disable-agent, sometimes not)
Regarding the disable-agent feature, what currently is implemented is:
- The cron entry will not re*start cf-execd or cf-agent if it is *already stopped and the disable-agent file exists
- The promises will not re*start cf-execd or cf-serverd if they are *already stopped and the disable-agent file exists
However, we never actually stop a running agent when disable-agent is touched. This should be changed. A nice approach would be to have a bundle that does something like this:
classes: "should_disable_agent" expression => fileexists("${g.rudder_base}/etc/disable-agent"); "disable_agent" expression => "should_disable_agent", ifvarclass => "abort_report_done"; processes: "cf-execd, cf-serverd, cf-monitord" attributes => kill them; reports: should_disable_agent:: "Report saying OMG the server and executor have been stopped, and the agent is going to be killed!" classes => if_ok("abort_report_done");
Updated by Nicolas PERRON over 11 years ago
- Target version changed from 2.7.0~rc1 to 2.7.0
Updated by Jonathan CLARKE over 11 years ago
- Tracker changed from User story to Architecture
- Project changed from 24 to Rudder
- Category changed from Techniques to System techniques
- Target version changed from 2.7.0 to 2.8.0~beta1
This ticket is actually about two different things:
- The fact that CFEngine process checking is split across various bundles in our code. This is a refactoring task, which I will leave in this ticket (new ticket type: Architecture) and target it for next major release.
- The bug that "disable-agent" touch-file doesn't actually stop a running agent, it just stops cf-execd from being from being restarted (big difference). I will open a new ticket for this.
Updated by Jonathan CLARKE over 11 years ago
Jonathan CLARKE wrote:
- The bug that "disable-agent" touch-file doesn't actually stop a running agent, it just stops cf-execd from being from being restarted (big difference). I will open a new ticket for this.
This is #3794.
Updated by Nicolas PERRON about 11 years ago
- Target version changed from 2.8.0~beta1 to Ideas (not version specific)
I don't think this change could be made for Rudder 2.8
Updated by Benoît PECCATTE almost 7 years ago
- Status changed from New to Rejected
All the process management is now done by rudder agent check