Known Issues

Table of Contents

CFEngine defects are managed in our bug tracker. Please report bugs or unexpected behavior there, following the documented guideline for new bug reports.

  • Core Issues affecting 3.9

The items below highlight issues that require additional awareness when starting with CFEngine or when upgrading from a previous version.

HP-UX specific

  • Package promises do not have out-of-the-box support for the HP-UX specific package manager. The workaround is to call the package manager directly using commands promises.
  • Some important system information is missing from the HP-UX inventory report, as well as from CFEngine hard classes and system variables. The workaround is to use system tools to obtain the required information and set classes based on this. * Disk free * Memory size * Several OS and architecture specific attributes * System version * System serial number * System manufacturer * CPU model * BIOS version * BIOS vendor
  • Process promises depend on the ps native tool, which by default truncates lines at 128 columns on HP-UX. It is recommended to edit the file /etc/default/ps and increase the DEFAULT_CMD_LINE_WIDTH setting to 1024 to guarantee that process promises will work smoothly on the platform.
  • Upgrading CFEngine on HP-UX is not supported by the out-of-the-box policy. There is a support article with a workaround.

Enterprise emails sent for alert noticies come from 'admin@organization.com'.

There is currently no setting in Mission Portal to configure the sender email address. This issue is tracked in ENT-695 and will be addressed in a future release.

To change the setting you must edit the from email address in /var/cfengine/share/GUI/application/config/appsettings.php. Policy in the Masterfiles Policy Framework will take care of updating the running config during the next policy run.

// Default FROM email address
$config['appemail'] = 'admin@organisation.com';

Enterprise monitoring graphs

Monitoring graphs are disabled by default in CFEngine Enterprise 3.6 and later versions. To enable them, change monitoring_include in masterfiles/controls/VERSION/reports.cf to e.g. ".*". Note that this has a significant impact on the resource consumption of your hub.

Monitoring graphs are not supported on all platforms, currently AIX, HP-UX and Windows do not have this data.

Enterprise software inventory is not out-of-the-box

Software inventory is not out-of-the-box for reporting from the hub on other platforms than Debian, Ubuntu and Red Hat/CentOS.

In order to add software inventory for other platforms, please contact support for a custom policy.

Enterprise - Unable to edit directory based users with dots in username

Mission Portal does not allow users from a directory to be edited if they have dots in their username.

Enterprise Hub - PHP warnings after upgrading from 3.6.x

After upgrading from 3.6.x PHP warns it is unable to initialize the apc module.

  notice: Q: "...hp/bin/php /var": PHP Warning:  PHP Startup: apc: Unable to initialize module
Q: "...hp/bin/php /var": Module compiled with module API=20100525
Q: "...hp/bin/php /var": PHP    compiled with module API=20131226
Q: "...hp/bin/php /var": These options need to match
Q: "...hp/bin/php /var":  in Unknown on line 0

This warning can be resolved by removing /var/cfengine/httpd/php/lib/apc.ini and /var/cfengine/httpd/php/lib/php/extensions/no-debug-non-zts-20131226/apc.so

Enterprise Hub - Mission Portal database not properly preserved

When upgrading from earlier versions, the Mission Portal database may not be preserved, resulting in Mission Portal to appear as a fresh installation.

Incompatible Apache config during upgrade

Mis-spellings in the 3.9.0 release of the MPF when run on a hub with 3.6.x binaries results in Apache getting an incompatible configuration.

Fixed in 3.9.1 with this change.

Dynamic bundle actuation results in error about cf_null

Jira #CFE-2426 error: A method attempted to use a bundle 'cf_null' that was apparently not defined

This is a benign error. cf_null is an internal implementation detail that is used to handle empty lists.

Workarounds:

  • Explicitly guard against iterating methods on an empty list.

This snippet shows one way to define a class if a list is not empty.

  classes:
    "have_some_zero_dynamic_role_bundles"
      expression => some( ".*", "roles_dynamic.bundles" );
  • Ignore missing bundles in body common control
body common control
{
#...

  ignore_missing_bundles => "true";

#...
}
  • Add an empty =cf_null= bundle
bundle common cf_null
{
  reports:
    !any::
      "This works around an issue iterating over an list of bundles.";
}