CFEngine 2 Conversion Tool

January 11, 2010

Following the development of the community standard library, CFEngine has now released a conversion utility that transforms existing CFEngine 2 policies into a basic CFEngine 3 format. The output can be run in either the Community Edition, CFEngine Nova or any other version of CFEngine going forward.

Earlier this year, CFEngine released an upgrade manual for community users. Now with the core transformation utility, commercial customers will be able to save potentially hundreds of hours of conversion time on a large installation of cfengine, moving to version 3.

A complete conversion cannot be made automatically, because there are new features in the CFEngine 3 that would not be used if you simply trusted the automation. Also, one can reap many simplifications in CFEngine 3 in terms of expession and efficiency that were not possible in CFEngine 2. Maximizing the win from these features requires some post-processing. The conversion tool provides hints in comment form as you convert the code, to help you maximize the utility of the conversion however. Commercial users of the CFEngine Nova product will have instant gratification from the integrated Knowledge Map.

CFEngine Conversion Utility (beta)     -> Matrix from /usr/local/sbin/cfconvert   -> INPUTS from . /CfengineProjects/Test_Client/cfengine_2_config/   -> OUTPUTS at /tmp/cf_conversion_output   -> Commencing pre-scan for common environment   -> Pre-scan complete   -> Scanning for recognizable control settings   -> > convert control setting EmailMaxLines   -> > convert control setting cfinputs_version   -> > convert control setting smtpserver   -> > convert control setting Inform   -> > convert control setting AddInstallables   -> > convert control setting workdir   -> > convert control setting Syslog   -> > convert control setting moduledirectory   -> > convert control setting moduledirectory   -> Start main promise bundle   -> Import files detected   -> delta-Transformation of "cfagent.global.conf"   -> delta-Transformation of "cfagent.freebsd.conf"   -> delta-Transformation of "cfagent.ntp.conf"   -> delta-Transformation of "cfagent.named.conf"   -> delta-Transformation of "cfagent.perfsonarServers.conf"   -> delta-Transformation of "cfagent.perfsonar.conf"   -> delta-Transformation of "cfagent.owmesh.conf"   -> delta-Transformation of "cfagent.owamp.conf"   -> delta-Transformation of "cfagent.perfsonarBUOY.conf"   -> delta-Transformation of "cfagent.syslog.conf"   -> delta-Transformation of "cfagent.bwctl.conf"   -> delta-Transformation of "cfagent.perfsonarBUOY.conf"   -> delta-Transformation of "cfagent.syslog.conf"   -> delta-Transformation of "cfagent.pinger.conf"   -> delta-Transformation of "cfagent.perfsonarBUOY.conf"   -> delta-Transformation of "cfagent.owmesh.conf"   -> delta-Transformation of "cfagent.perfsonarBUOY.conf"   -> delta-Transformation of "cfagent.owmesh.conf"   -> delta-Transformation of "cfagent.LSRegistration.conf"   -> delta-Transformation of "cfagent.freebsd.i386.packages"   -> Converting cfservd.cf   -> Writing promises.cf   -> 11238 lines of core transformed