Architecture #3727
closed
The cfengine processes management in system technique is splitted in various places
Added by Nicolas CHARLES over 11 years ago.
Updated almost 7 years ago.
Category:
System techniques
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)
- Project changed from 34 to 24
- Category set to Techniques
- Target version changed from 2.7.0~beta1 to 2.7.0~rc1
- Status changed from New to 8
- Assignee set to Jonathan CLARKE
- 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");
- Target version changed from 2.7.0~rc1 to 2.7.0
- 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.
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.
- 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
- Status changed from 8 to New
- Status changed from New to Rejected
All the process management is now done by rudder agent check
Also available in: Atom
PDF