Project

General

Profile

Actions

User story #3869

closed

Integration of CFEngine 3.5.* into Rudder

User story #3869: Integration of CFEngine 3.5.* into Rudder

Added by Nicolas PERRON over 12 years ago. Updated about 12 years ago.

Status:
Released
Priority:
2
Assignee:
Nicolas PERRON
Category:
-
Target version:
UX impact:
Suggestion strength:
User visibility:
Effort required:
Name check:
Fix check:
Regression:

Description

CFEngine 3.4.4 is no more supported, then we should integrate CFEngine 3.5.1 into Rudder. But also check that our Techniques are compatible.


Subtasks 5 (0 open5 closed)

User story #3989: Adapt rudder-agent to CFEngine 3.5 (CFEngine sources and patches)ReleasedNicolas PERRONActions
User story #3990: Update our CFEngine stdlib to the latest version which is transitionnal to CFEngine 3.5ReleasedJonathan CLARKEActions
User story #4013: Remove the comma after the promisers and attribute 'owners' of body copy_from in the initial promisesReleasedNicolas PERRONActions
User story #4039: cf-promises complains about non-existence of bundles set in the bundlesequence with the initial promisesReleasedJonathan CLARKEActions
Bug #4041: The promise which check Rudder binaries return error since the binary 'cf-report' has been remove since CFEngine 3.5.0ReleasedJonathan CLARKEActions

Related issues 3 (0 open3 closed)

Related to Rudder - Bug #3871: Remove the comma after the promisers from all TechniquesReleasedNicolas PERRONActions
Related to Rudder - Bug #4002: Remove 'owners' attribute from copy_from body in the update.st fileReleasedJonathan CLARKEActions
Related to Rudder - Bug #4040: Remove comma after the promiser from passwordCheck in the distirbutePolicy promisesReleasedJonathan CLARKEActions

Updated by Nicolas PERRON over 12 years ago Actions #1

  • Assignee set to Nicolas PERRON

For the moment, what I've detected incompatible are:

  • Several comma after the promiser
  • The use of attributes into bodies:
    • attribute "background" into body "contain"
    • attribute "owner" into body "copy_from"
  • The messages of CFEngine are not sent to the server as the log facility does not seem to be local6. (Into /etc/rsyslog.d/rudder-agent, the removal of the part local6 will permit to send the messages...)

The display of the messages of CFEngine have changed and "rudder>" prefix at each line is no more present.

Updated by Jonathan CLARKE over 12 years ago Actions #2

It is important than we continue to use a specific syslog facility, ideally still local6. Otherwise we will have no other way to distinguish Rudder log messages from others.

Updated by Jonathan CLARKE over 12 years ago Actions #3

I suggest you open another ticket for the syntax issues, because they are not valid even in CFEngine 3.4 (although tolerated, evidently).

Updated by Nicolas PERRON over 12 years ago Actions #4

Jonathan CLARKE wrote:

It is important than we continue to use a specific syslog facility, ideally still local6. Otherwise we will have no other way to distinguish Rudder log messages from others.

I agree with you but I don't understand why this could have changed. The configuration was not changed. It will need some investigation.

Updated by Nicolas PERRON over 12 years ago Actions #5

Jonathan CLARKE wrote:

I suggest you open another ticket for the syntax issues, because they are not valid even in CFEngine 3.4 (although tolerated, evidently).

Done: #3871

Updated by Nicolas PERRON about 12 years ago Actions #6

Nicolas PERRON wrote:

For the moment, what I've detected incompatible are:

  • The messages of CFEngine are not sent to the server as the log facility does not seem to be local6. (Into /etc/rsyslog.d/rudder-agent, the removal of the part local6 will permit to send the messages...)

Strange, I've tested it and now the use of local6 is good and the logs show us the use of this facility:


[...]
2013-10-03T14:11:21+0200  verbose: Setting abort classes from ...
2013-10-03T14:11:21+0200  verbose: SET Syslog FACILITY = LOG_LOCAL6
2013-10-03T14:11:21+0200  verbose: SET repository = /var/rudder/modified-files
[...]

Updated by Nicolas PERRON about 12 years ago Actions #7

CFEngine will not work with the actual CFEngine stdlib used in Rudder. We will need to update it to the latest which is transitional to the new libraries files.

That's not all, our packaging use some patches for CFEngine 3.4 but they will not work on CFEngine 3.5:

$ make
[...]
mv /tmp/rudder.7kwjgP/cfengine-3.5.2 ./cfengine-source
/usr/bin/patch -d ./cfengine-source -p1 < ./split_dist_evaluation.patch
patching file src/env_context.c
Hunk #1 FAILED at 71.
Hunk #2 FAILED at 199.
Hunk #3 FAILED at 223.
Hunk #4 FAILED at 249.
4 out of 4 hunks FAILED -- saving rejects to file src/env_context.c.rej
make: *** [cfengine-source] Error 1

Updated by Nicolas PERRON about 12 years ago Actions #8

I've checked each patches. They have all been merged and is included in CFEngine 2.5.2 except the last one about openVZ.
The patch need to be adapted but Nicolas has already made a PR for CFEngine 3.5 here: https://github.com/cfengine/core/pull/956

Updated by Jonathan CLARKE about 12 years ago Actions #9

  • Subject changed from Integration of CFEngine 3.5.1 into Rudder to Integration of CFEngine 3.5.* into Rudder

Updated by Nicolas PERRON about 12 years ago Actions #10

With CFEngine standard library updated, it remain some errors at the install of rudder-agent:
  • comma after promiser into the file:
    • common/1.0/rudder_lib.cf (line 197)
    • common/1.0/update.cf (lines 135, 140, 145)
    • inventory/1.0/fusionAgent.cf (line 137)
  • use of attribute 'owners' which does not exist anymore for body copy_from
    • common/1.0/update.cf (line 39, 59)

Updated by Nicolas PERRON about 12 years ago Actions #11

Nicolas PERRON wrote:

With CFEngine standard library updated, it remain some errors at the install of rudder-agent:
  • comma after promiser into the file:
    • common/1.0/rudder_lib.cf (line 197)
    • common/1.0/update.cf (lines 135, 140, 145)
    • inventory/1.0/fusionAgent.cf (line 137)

These errors are only into initial promises, not in the Techniques. So this will be fixed into Rudder 2.8

  • use of attribute 'owners' which does not exist anymore for body copy_from
    • common/1.0/update.cf (line 39, 59)

We are ok to remove these attributes in 2.4 which seems to be useless.

The CFEngine standard lib will not work with CFEngine 3.5.* so we will modify the CFEngine standard lib when needed and if the modification is like new version of CFEngine standard lib.

Updated by Nicolas PERRON about 12 years ago Actions #12

Nicolas PERRON wrote:

Nicolas PERRON wrote:

With CFEngine standard library updated, it remain some errors at the install of rudder-agent:
  • comma after promiser into the file:
    • common/1.0/rudder_lib.cf (line 197)
    • common/1.0/update.cf (lines 135, 140, 145)
    • inventory/1.0/fusionAgent.cf (line 137)

These errors are only into initial promises, not in the Techniques. So this will be fixed into Rudder 2.8

This is #4013

  • use of attribute 'owners' which does not exist anymore for body copy_from
    • common/1.0/update.cf (line 39, 59)

We are ok to remove these attributes in 2.4 which seems to be useless.

This is #4002

The CFEngine standard lib will not work with CFEngine 3.5.* so we will modify the CFEngine standard lib when needed and if the modification is like new version of CFEngine standard lib.

This is #4005

Updated by Nicolas PERRON about 12 years ago Actions #13

  • Project changed from 34 to Rudder

Updated by Nicolas PERRON about 12 years ago Actions #14

  • Status changed from 14 to Pending release

Updated by Vincent MEMBRÉ about 12 years ago Actions #15

  • Status changed from Pending release to Released

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

Actions

Also available in: PDF Atom