[ANNOUNCE] CFEngine Community 3.4.0 is released

222 views
Skip to first unread message

Maciej Patucha

unread,
Nov 27, 2012, 9:15:53 AM11/27/12
to help-c...@googlegroups.com
Good day.
CFEngine Community 3.4.0 is now available for download.
New features:

- Added rpmvercmp utility to compare versions of RPM packages for
accurate sorting of RPM packages for packages promises.

- Implement network timeout on server side to avoid keeping stale
connections for hours.

- XML editing capabilities. See the documentation for edit_xml
body. Note the new dependency: libxml2.

- Implement inheritance of local classes by bundles called using
"usebundle". By default classes are not inherited. See the
examples/unit_inherit.cf for an example.

- Moved from Nova/Enterprise:
- POSIX ACL support,
- "outputs" promise type,
- remote syslog support.

- packages_default_arch_command hook in packages promises, to
specify default architecture of the packages on the system.

- packages_version_less_command / packages_version_equal_command hooks
in packages promises, to specify external command for native package
manager versions comparison

- Running in Solaris zone is now detected and classes "zone" and
"zone_<name>" are created in this case.

- VirtualBox support added to guest_environment promises.

- guest_environment promises are supported under OS X.

- The "depends_on" attribute is now active, for the partal ordering
of promises. If a promise depends on another (referred by handle)
it will only be considered if the depends_on list is either kept
or repaired already.

** WARNING: When upgrading, make sure that any existing use
of depends_on does not make some promises being
unintentionally ignored. This can happen if you are
currently refering to non-existant or never-run handles
in depends_on attributes.

- methods return values, initial implementation

- New format for cf-key -s, includes timestamp of last connection

- cf-promises --parse-tree option to parse policy file and dump it
in JSON format

- Namespaces support for bundles and bodies. See the
examples/unit_namespace*.cf for the usage.

- Default arguments for bundles. See the examples/unit_defaults.cf

- Metadata promise type. See the examples/unit_meta.cf

New semantics:

- Methods promises now return the status of promises
kept within them. If any promise was not kept, the method is not
kept, else if any promise is repaired, the method was repaired
else it was kept.
- Remote variable access in namespaces by $(namespace:bundle.variable)

Changed functionality:

- cf-execd -F switch no longer implies 'run once'. New -O/--once
option is added to achieve this behaviour. This makes cf-execd
easier to run from systemd, launchd and other supervision
systems.

Misc:

- Support for the following outdated platforms and corresponding
classes has been removed. De facto those platforms were
unsupported for a long time, as CFEngine codebase uses C99
language features unavailable on old platforms:

- SunOS 3.x (sun3)
- SunOS 4.x (sun4)
- Ultrix (ultrix)
- DEC OSF/1 AXP (osf)
- Digital UNIX (digital)
- Sony NEWS (newsos)
- 4.3BSD (bsd4_3)
- IRIX (irix, irix4, irix64)
- IBM Academic Operating System (aos)
- BSD/OS / BSDi / BSD/386 (bsdos)
- NeXTSTEP (nextstep)
- GNU Hurd (gnu)
- NEC UX/4800 (ux4800)

- (Old news) Since 3.3.0 the layout of CFEngine Community packages
has changed slightly.

cf-* binaries have been moved to /var/cfengine/bin, due to the
following reasons:

- cf-* binaries are linked to libraries installed to
/var/cfengine/lib, so placing binaries in /usr/local/sbin does not
increase reliability of the CFEngine,

- keeping whole CFEngine under single prefix (/var/cfengine)
makes packaging simpler,

- it matches the layout of CFEngine Enterprise packages.

Please adjust your policies (the recommended ways to deal with
the move are either to adjust $PATH to include /var/cfengine or to
create symlinks in /usr/local/sbin in case you are relying on
binaries to be available in $PATH).

- Workdir location is properly changed if --prefix or --enable-fhs
options are supplied to configure (Mantis #1195).

- Added check for broken libmysqlclient implementations (Mantis #1217).

- Standard library is updated from COPBL repository.

- cf-know is no longer built in Community releases. The only
functionality useful in Community, namely the reference manual
generation, is provided by new compile-time cf-gendoc tool.

- Filename (for storing filechanges) changed
  from file_change.log -> file_changes.log (in /var/cfengine/state)

  New format for storing file changes introduced:
  [timestamp,filename,<N/C/S/R>,Message]

  N = New file found
  C = Content Changed
  S = Stats changed
  R = File removed

- Acceptance test suite passes on Mac OS X.

- Changed some port numbers to replace old services with imap(s)

- archlinux hard class on Arch Linux.

- Detect BSD Make and automatically switch to GNU Make during build.

Bugfixes:

- cfruncommand for cf-execd is an arbitrary shell command now (Mantis #1268).
- Fixed broken "daily" splayclasses (Mantis #1307).
- Allow filenames up to 4096 bytes in network transfers (Redmine #1199).
- Fix stale state preserved during cf-serverd reload (Redmine #1487).
- Free disk space calculation is fixed (Mantis #1120).
- Numerous portability bugfixes (especially OpenBSD, Solaris, AIX-related).
- Compatibility fixes for AIX, HP-UX, Solaris (Mantis #1185, Mantis #1177, Mantis #1109).
- Fixed broken socklen_t configure check under OpenBSD (Mantis #1168).
- Fixed hang in cf-promises under OpenBSD (Mantis #1113).
- Fixed endless loop in evaluating "$()" construct (Mantis #1023).
- Fixed check for old PCRE versions (Mantis #1262).
- Fixed insertion of multi-line blocks at the start of file (Mantis #809).
- Fixed numerous memory leaks.
- Fixes for metadata that were not resolvable
- Fixes for namespaces that would not support metadata and variable expansion
- Point-to-point network interfaces are detected and reported by CFEngine (Mantis #1246)
- Partial non-GNU userspace support in acceptance testsuite (Mantis #1255)

Full list of issues fixed is available on
https://cfengine.com/bugtracker/changelog_page.php (old bug tracker)
and https://cfengine.com/dev/projects/core/versions/34 (new bug tracker)

Downloads:
http://cfengine.com/source-code/download?file=https://cfengine.com/source-code/download?file=cfengine-3.4.0.tar.gz
Checksums:
MD5 256965aebe3edfb89f744a8190c595ca
SHA1 17212f6ea2911c50590063193ab33af18719f740

Mike Svoboda

unread,
Nov 27, 2012, 10:05:26 AM11/27/12
to Maciej Patucha, help-c...@googlegroups.com
Congrats to the Cfengine team for another awesome release.  Keep up the great work!

Cheers!
Mike

From: Maciej Patucha <maciej....@cfengine.com>
Date: Tuesday, November 27, 2012 9:15 AM
To: "help-c...@googlegroups.com" <help-c...@googlegroups.com>
Subject: [help-cfengine] [ANNOUNCE] CFEngine Community 3.4.0 is released

Good day.
CFEngine Community 3.4.0 is now available for download.
Newfeatures:

-Added rpmvercmp utility to compare versions of RPM packagesfor
accuratesorting of RPM packages for packages promises.

-Implement network timeout on server side to avoid keepingstale
connectionsfor hours.

-XML editing capabilities. See the documentation for edit_xml
body.Note the new dependency: libxml2.

-Implement inheritance of localclasses by bundles called using
"usebundle".By default classes are not inherited. See the
examples/unit_inherit.cffor an example.

-Moved from Nova/Enterprise:
-POSIX ACL support,
-"outputs" promise type,
-remote syslog support.

-packages_default_arch_command hook in packages promises, to
specifydefault architecture of the packages on the system.

-packages_version_less_command / packages_version_equal_commandhooks
inpackages promises, to specifyexternal command for native package
managerversions comparison

-Running in Solaris zone is now detected and classes"zone" and
"zone_<name>"are created in this case.

-VirtualBox support added to guest_environment promises.

-guest_environment promises are supportedunder OS X.

-The "depends_on" attribute isnow active, for thepartal ordering
ofpromises. If a promisedepends on another (referredby handle)
itwill only be considered if the depends_on list iseither kept
orrepaired already.

**WARNING: When upgrading, make sure that any existinguse
ofdepends_on does not make some promises being
unintentionallyignored. This can happenif you are
currentlyrefering to non-existantor never-run handles
independs_on attributes.

-methods return values, initial implementation

-New format for cf-key-s, includes timestampof last connection

-cf-promises --parse-treeoption to parse policy file and dump it
inJSON format

-Namespaces support for bundlesand bodies. See the
examples/unit_namespace*.cffor the usage.

-Default arguments for bundles.See the examples/unit_defaults.cf

-Metadata promise type. See the examples/unit_meta.cf

Newsemantics:

-Methods promises now return the status of promises
keptwithin them. If anypromise was not kept,the method is not
kept,else if any promise isrepaired, the method wasrepaired
elseit was kept.
-Remote variable access in namespaces by $(namespace:bundle.variable)

Changedfunctionality:

-cf-execd -F switch no longer implies 'run once'.New -O/--once
optionis added to achieve thisbehaviour. This makes cf-execd
easierto run from systemd,launchd and other supervision
systems.

Misc:

-Support for the following outdated platforms and corresponding
classeshas been removed. Defacto those platforms were
unsupportedfor a long time,as CFEngine codebase uses C99
languagefeatures unavailable on old platforms:

-SunOS 3.x (sun3)
-SunOS 4.x (sun4)
-Ultrix (ultrix)
-DEC OSF/1 AXP (osf)
-Digital UNIX (digital)
-Sony NEWS (newsos)
-4.3BSD (bsd4_3)
-IRIX (irix, irix4,irix64)
-IBM Academic Operating System(aos)
-BSD/OS / BSDi / BSD/386(bsdos)
-NeXTSTEP (nextstep)
-GNU Hurd (gnu)
-NEC UX/4800 (ux4800)

-(Old news) Since3.3.0 the layout of CFEngineCommunity packages
haschanged slightly.

cf-*binaries have been moved to /var/cfengine/bin,due to the
followingreasons:

-cf-* binaries are linkedto libraries installed to
/var/cfengine/lib, so placing binaries in /usr/local/sbindoes not
increasereliability of the CFEngine,

-keeping whole CFEngine under single prefix (/var/cfengine)
makespackaging simpler,

-it matches the layout ofCFEngine Enterprise packages.

Pleaseadjust your policies (therecommended ways to deal with
themove are either to adjust$PATH to include /var/cfengineor to
createsymlinks in /usr/local/sbinin case you are relyingon
binariesto be available in $PATH).

-Workdir location is properly changed if --prefix or--enable-fhs
optionsare supplied to configure (Mantis #1195).

-Added check for broken libmysqlclient implementations (Mantis#1217).

-Standard library is updated from COPBL repository.

-cf-know is no longer built in Community releases.The only
functionalityuseful in Community, namelythe reference manual
generation,is provided by new compile-timecf-gendoc tool.

-Filename (for storing filechanges)changed
  from file_change.log ->file_changes.log (in/var/cfengine/state)

  New format for storing filechanges introduced:
  [timestamp,filename,<N/C/S/R>,Message]

  N = New file found
  C = Content Changed
  S = Stats changed
  R = File removed

-Acceptance test suite passes on Mac OS X.

-Changed some port numbers to replace old services withimap(s)

-archlinux hard class on Arch Linux.

-Detect BSD Make and automaticallyswitch to GNU Make duringbuild.

Bugfixes:

-cfruncommand for cf-execdis an arbitrary shell commandnow (Mantis #1268).
-Fixed broken "daily" splayclasses(Mantis #1307).
-Allow filenames up to 4096bytes in network transfers (Redmine #1199).
-Fix stale state preserved during cf-serverd reload(Redmine #1487).
-Free disk space calculation is fixed (Mantis #1120).
-Numerous portability bugfixes (especiallyOpenBSD, Solaris, AIX-related).
-Compatibility fixes for AIX,HP-UX, Solaris (Mantis #1185, Mantis #1177, Mantis #1109).
-Fixed broken socklen_t configurecheck under OpenBSD (Mantis#1168).
-Fixed hang in cf-promisesunder OpenBSD (Mantis #1113).
-Fixed endless loop in evaluating"$()" construct (Mantis #1023).
-Fixed check for old PCREversions (Mantis #1262).
-Fixed insertion of multi-lineblocks at the start offile (Mantis #809).
-Fixed numerous memory leaks.
-Fixes for metadata that were not resolvable
-Fixes for namespaces that would not support metadata andvariable expansion
-Point-to-point network interfaces are detected and reported by CFEngine (Mantis#1246)
-Partial non-GNU userspacesupport in acceptance testsuite(Mantis #1255)

Full list of issues fixed is available on
https://cfengine.com/bugtracker/changelog_page.php (old bug tracker)
and https://cfengine.com/dev/projects/core/versions/34 (new bug tracker)

Downloads:
http://cfengine.com/source-code/download?file=https://cfengine.com/source-code/download?file=cfengine-3.4.0.tar.gz
Checksums:
MD5 256965aebe3edfb89f744a8190c595ca
SHA1 17212f6ea2911c50590063193ab33af18719f740

--
You received this message because you are subscribed to the Google Groups "help-cfengine" group.
To post to this group, send email to help-c...@googlegroups.com.
To unsubscribe from this group, send email to help-cfengin...@googlegroups.com.
Visit this group at http://groups.google.com/group/help-cfengine?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

neilhwatson

unread,
Nov 27, 2012, 4:55:20 PM11/27/12
to help-c...@googlegroups.com

Is Core 3.4.0 the base for Enterprise 3.0?

Diego Zamboni

unread,
Nov 27, 2012, 7:33:54 PM11/27/12
to help-c...@googlegroups.com

Is Core 3.4.0 the base for Enterprise 3.0?

Yes.

--Diego
 
Reply all
Reply to author
Forward
0 new messages