Project

General

Profile

Actions

User story #3869

closed

Integration of CFEngine 3.5.* into Rudder

Added by Nicolas PERRON over 9 years ago. Updated over 9 years ago.

Status:
Released
Priority:
2
Assignee:
Nicolas PERRON
Category:
-
Target version:
UX impact:
Suggestion strength:
User visibility:
Effort required:
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 PERRON2013-10-03Actions
User story #3990: Update our CFEngine stdlib to the latest version which is transitionnal to CFEngine 3.5ReleasedJonathan CLARKE2013-10-03Actions
User story #4013: Remove the comma after the promisers and attribute 'owners' of body copy_from in the initial promisesReleasedNicolas PERRON2013-10-07Actions
User story #4039: cf-promises complains about non-existence of bundles set in the bundlesequence with the initial promisesReleasedJonathan CLARKE2013-10-10Actions
Bug #4041: The promise which check Rudder binaries return error since the binary 'cf-report' has been remove since CFEngine 3.5.0ReleasedJonathan CLARKE2013-10-10Actions

Related issues 3 (0 open3 closed)

Related to Rudder - Bug #3871: Remove the comma after the promisers from all TechniquesReleasedNicolas PERRON2013-08-23Actions
Related to Rudder - Bug #4002: Remove 'owners' attribute from copy_from body in the update.st fileReleasedJonathan CLARKE2013-10-07Actions
Related to Rudder - Bug #4040: Remove comma after the promiser from passwordCheck in the distirbutePolicy promisesReleasedJonathan CLARKE2013-10-10Actions
Actions #1

Updated by Nicolas PERRON over 9 years ago

  • 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.

Actions #2

Updated by Jonathan CLARKE over 9 years ago

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.

Actions #3

Updated by Jonathan CLARKE over 9 years ago

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

Actions #4

Updated by Nicolas PERRON over 9 years ago

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.

Actions #5

Updated by Nicolas PERRON over 9 years ago

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

Actions #6

Updated by Nicolas PERRON over 9 years ago

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
[...]

Actions #7

Updated by Nicolas PERRON over 9 years ago

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
Actions #8

Updated by Nicolas PERRON over 9 years ago

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

Actions #9

Updated by Jonathan CLARKE over 9 years ago

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

Updated by Nicolas PERRON over 9 years ago

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)
Actions #11

Updated by Nicolas PERRON over 9 years ago

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.

Actions #12

Updated by Nicolas PERRON over 9 years ago

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

Actions #13

Updated by Nicolas PERRON over 9 years ago

  • Project changed from 34 to Rudder
Actions #14

Updated by Nicolas PERRON over 9 years ago

  • Status changed from 14 to Pending release
Actions #15

Updated by Vincent MEMBRÉ over 9 years ago

  • 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: Atom PDF