New Features:
- allow function calls in promiser using universal "with"
attribute. (CFE-1092)
- add example of with attribute (CFE-1092)
- Detect Amazon Linux and set "AmazonLinux" hard class and
sys.flavour variable.
- New sysctlvalue() and data_sysctlvalues() functions from /proc/sys
(CFE-2513)
- readdata() also auto-detects .yml files as YAML
- Added support for ENV and CSV file parsing (CFE-1881)
- Added vars and classes for CoreOS (ENT-3043)
- cf-agent: implement --show-evaluated-vars and
--show-evaluated-classes
- Support for custom ports and host names as policy hub (CFE-953)
- cf-promises: allows --show-vars and --show-classes to take an
optional filter
- Added a new tool: cf-net. cf-net is a CLI for the CFEngine
network protocol, useful for debugging, testing etc.
(CFE-2493)
- New policy variable: sys.cf_net contains path to cf-net binary
- Read /etc/os-release into sys.os_release (CFE-1881)
- Full changelog at https://github.com/cfengine/core/blob/3.11.0/ChangeLog
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=164
New features/additions:
- "make tar-package" should create a tarball with the contents of
"make install" (ENT-3041)
Bugfixes:
- Fix rare output truncation on Solaris 10/11 (CFE-2527)
- Change: Don't error during dry run for proposed execution.
(CFE-2561)
- prevent LMDB assertion on AIX by ensuring nested DB calls are
not occuring during signal handler cleanup (CFE-1996)
- Detect Amazon Linux and set "AmazonLinux" hard class and
sys.flavour variable.
- Fix "lastseenexpireafter" 32-bit signed int overflow.
- Add missing pcre build flags to cf-key (CFE-2525)
- Fix a bug which could cause cf-execd to believe there was
an error when sending the email report, when there really wasn't.
- cf-serverd: Auto configure max open files ulimit according to
maxconnections (CFE-2575)
- Added vars and classes for CoreOS (ENT-3043)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=156
See https://github.com/cfengine/core/blob/3.10.0b1/ChangeLog
for full ChangeLog
New features/additions:
- All new features/additions for 3.8 and 3.9 are also included in 3.10.
- Add: Classes body tailored for use with diff
- New feature: Classes promise: allow classes without an expression to
default to defined.
- Support for custom ports and host names as policy hub (CFE-953)
- Add: Definition of from_cfexecd for cf-execd initiated runs
(CFE-2386)
- Add < <= > >= operators to eval().
- Add testing jUnit and TAP bundles and include them in stdlib.cf
- New function isipinsubnet() (ENT-7949)
- LogDebug(): implement module-based debug logging.
Now most DEBUG messages are *not* printed even when "-d" is in
use, but the specific debug module has to be enabled on the
command line. For example to enable all log modules, run:
cf-agent -d --log-modules=all
- Add: edit_line contains_literal_string to stdlib
- add variablesmatching_as_data() function paralleling variablesmatching()
(Redmine #7885)
- Allow specifying agent maxconnections via def.json (CFE-2461)
- Add getuserinfo() function
- Add body agent control select_end_match_eof option. (CFE-2390)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=146
- Change: Log level for keeping verbatim JSON to DEBUG (CFE-2141)
- Change (masterfiles): Definition of from_cfexecd for
cf-execd initiated runs (CFE-2386)
- Change: Switch processes restart_class logging to verbose
- Change: Enable agent component management policy on systemd hosts
(CFE-2429)
- Change: Remove executable bit from systemd units (CFE-2436)
- Change: Require network before cfengine services (CFE-2435)
- Fix 'contain' attribute 'no_output' having no effect when
the 'commands' promise is using 'module => "true"'. (CFE-2412)
- Fix: Services starting or stopping unnecessarily (CFE-2421)
- Fix occasional segfault when running getindices() on a
variable that has indices of multiple depths (e.g. both "a[x]" and
"a[x][y]"). (CFE-2397)
- Fix bug in files promise when multiple owners are promised
but first one doesn't exist, and improve logging . (CFE-2432)
- fix: memory leaks
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=144
Full changelog at https://github.com/cfengine/core/blob/3.9.0/ChangeLog
New features:
- Classes promise: allow classes without an expression to default to
defined.
- Add optional interface parameter to iprange() to match only one
interface.
- Allow '=' in symbolic modes (Redmine #7826)
- Add: FreeBSD ports package module
- New package module for FreeBSD pkg package manager.
- Add support for adding/removing fifos in policy
- Add Linux parsing of /proc/net/ data.
- sys.inet
- sys.inet6
- sys.interface_data
- Data is returned as a data container.
- See documentation for more details. (Jira CFE-1991)
- sys.ip2iface: new reverse mapping variable from IP to
interface name
- Namespaced classes can now be specified on the command line.
- namespaces can now be passed to cf-runagent -D and --remote-bundles
(Redmine #7856)
- Add 'cf-full' and 'json-full' to cf-promises '-p' option.
They generate output based on the entire policy. The existing 'cf'
already behaved this way, and it has now been changed to generate
output only for a single file, which the existing 'json' option
already does.
- New language functions: processexists() and findprocesses()
(Redmine #7633)
- Implement new regex_replace() function. (Redmine #7346)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=141
Fixes:
- Reduce verbosity of apt_get package module (Redmine #7485)
- Reduce verbosity of yum package module (Redmine #7485)
- The isvariable() function call now correctly accepts all
array variables when specified inline. Previously it would not accept
certain special characters, even though they could be specified
indirectly by using a variable to hold it. (Redmine #7088)
- Don't follow symbolic links when copying extended attributes.
- Fix a bug which sometimes caused package promises to be
skipped with "XX Another cf-agent seems to have done this
since I started" messages in the log, most notably in long running cf-agent
runs (longer than one minute). (Redmine #7933)
- Fix bug which could render host unable to recover from a
syntax error, even if failsafe.cf was utilized. This could
happen if the file containing the syntax error was specified in the def.json
special file. (Redmine #7961)
- Change: Policy files specified in the "inputs" section of
def.json will no longer be auto-loaded. One has to refer to the
$(def.augments_inputs) variable in the policy (the standard
masterfiles policies include this by default). This only affects
installations which are not based on the standard masterfiles, and
which are using the "inputs" field inside def.json. (Redmine #7961)
- Fix file descriptor leak when there are network errors.
- Fix cf-serverd error messages with classic protocol clients
(Redmine #7818)
- Installing packages containing version numbers using yum
now works correctly. (Redmine #7825)
- Fix ps options for FreeBSD to check processes only in
current host and not in jails
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=139
Changes:
- Upgrade CFEngine dependencies to the following versions:
- OpenSSL 1.0.2e
- PCRE 8.38
- libxml2 2.9.3
- OpenLDAP 2.4.43
- libcurl 7.46.0
- Upgrade LMDB to version 0.9.17. (Redmine #7879)
Bug fixes:
- @if minimum_version now correctly ignores lines starting with '@'
(Redmine #7862)
- Add guard for binary upgrade during bootstrap (Redmine #7861)
- Namespaced classes can now be specified on the command line.
- Fix bad option nlwp to vzps on Proxmox / OpenVZ. (Redmine #6961)
- Fix two cases where action_policy warn still produces errors
(Redmine #7274)
- Parse def.json vars, classes and inputs from the C code. This
fixes a bug where certain entries in this file would be parsed
too late to have any effect on the evaluation. (Redmine #7453, #7615)
- Fix HP-UX specific bug that caused a lot of log output to disappear.
- Check for empty server response in RemoteDirList after decryption
(Redmine #7908)
- getvalues() will now return a list also for data containers,
and will descend recursively into the containers. (Redmine #7116)
- Define (bootstrap|failsafe)_mode during update.cf when triggerd
from failsafe.cf (Redmine #7861)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=137
New features/additions:
- New feature: Bodies can now inherit attribute values from
other bodies by specifying "inherit_from" with the name of the body to
inherit from, plus any arguments it accepts. For example:
body classes myclasses
{
inherit_from => classes_generic("myname");
}
(Redmine #4309)
- Add url_get() function. (Redmine #6480)
- Add @if feature() syntax
@if feature work like @if minimum_version but allows distinguishing
between features choosen at compile time.
- Extend module protocol to create persistent classes.
To use it, have the module print a line with "^persistence=<minutes>"
before printing any class names. "persistence=0" goes back to non-
persistent classes. (Redmine #7302)
- Add: New results classes body (Redmine #7418)
- Add: Debug reports in cfe_internal_cleanup_agent_reports
- Add: Path to svcprop in stdlib
- Add: masterfiles-stage script to contrib
- Whitespace is now allowed in class expressions for
readability, between class names and operators. (Redmine #7152)
- Add: New results classes body [Redmine#7481] (Redmine #7418)
Changes:
- Change: Clarify bootstrap/failsafe reports
- Change: Improve in-line docs for internal log maintenance
- Change: Improve efficiency and debug reports (Redmine #7527)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=134
- Fix daemons not restarting correctly on upgrade on AIX. (Redmine #7550)
- Fix upgrade causing error message under systemd because of open ports.
- Fix build with musl libc. (Redmine #7455)
- Long promiser strings with multiple lines are now abbreviated in
logs. (Redmine #3964)
- Fixed a bug which could cause daemons to not to be killed
correctly when upgrading or manually running "service cfengine3 stop".
(Redmine #7193)
- Package promise: Fix inability to install certain packages
with numbers.
- Fix package promise not removing dependant packages. (Redmine #7424)
- Fix warning "Failed to parse csv file entry" with certain very
long commands promises. (Redmine #7400)
- Fix misaligned help output in cf-hub. (Redmine #7273)
- Augmenting inputs from the augments_file (Redmine #7420)
- Add support for failover to 3rd HA node located outside cluster.
- Upgrade all dependencies for patch release.
- Fix a bug which caused daemons not to be restarted on upgrade.
(Redmine #7528)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=132
See https://github.com/cfengine/core/blob/3.7.x/ChangeLog for
full changelog
New features:
- New package promise implementation.
The syntax is much simpler, to try it out, check out the syntax:
packages:
"mypackage"
policy => "absent/present",
# Optional, default taken from common control
package_module => apt_get,
# Optional, will only match exact version. May be
# "latest".
version => "32.0",
# Optional.
architecture => "x86_64";
- Full systemd support for all relevant platforms
- New classes to determine whether certain features are enabled:
* feature_yaml
* feature_xml
For the official CFEngine packages, these are always enabled, but
packages from other sources may be built without the support.
- New readdata() support for generic data input (CSV, YAML, JSON, or auto)
- YAML support: new readyaml() function and in readdata()
- CSV support: new readcsv() function and in readdata()
- New string_mustache() function
- New data_regextract() function
- eval() can now be called with "class" as the "mode" argument, which
will cause it to return true ("any") if the calculated result is
non-zero, and false ("!any") if it is zero.
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=131
Features:
- Introduced "systemd" hard class. (Redmine #6995)
- Added paths to dtrace, zfs and zpool on FreeBSD in masterfiles.
Bug fixes:
- Fixed build error on certain RHEL5 and SLES10 setups. (Redmine #6841)
- Fixed a bug which caused dangling symlinks not to be removed.
(Redmine #6582)
- Fixed data_readstringarrayidx function not preserving the order of
the array it's producing. (Redmine #6920)
- Fixed a bug which sometimes caused CFEngine to kill the wrong daemon
if both the host and a container inside the host were running
CFEngine. (Redmine #6906)
- Made sure the rm_rf_depth bundle also deletes the base directory.
(Redmine #7009)
- Fixed monitord reporting wrongly on open ports. (Redmine #6926)
- Skip adding the class when its name is longer than 1024 characters.
Fixed core dump when the name is too large. (Redmine #7013)
- Fixed detection of stopped process on Solaris. (Redmine #6946)
- Fixed infinite loop (Redmine #6992) plus a couple more minor
bugs in edit_xml promises.
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=114
Features:
- Introduced users promises support on HP-UX platform.
- Introduced process promises support on HP-UX platform.
Bug fixes:
- Fixed bug on FreeBSD which sometimes led to the wrong process being
killed (Redmine #2330)
- Fixed package version comparison sometimes failing with rpm package
manager (Redmine #6807)
- Fixed a bug in users promises which would sometimes set the wrong
password hash if the user would also be unlocked at the same time.
- Fixed a bug on AIX which would occationally kill the wrong process.
- Improved error message for functions that require an absolute path.
(Redmine #6877)
- Fixed some spelling errors in examples.
- Fixed error in out-of-tree builds when building cf-upgrade.
- Fixed a bug which would make cf-agent exit with an error if it was
built with a custom log directory, and that directory did not exist.
- Fixed ordering of evaluating promises when depends_on is used.
(Redmine #6484, Redmine #5462)
- Skip non-empty directories silently when recursively deleting.
(Redmine #6331)
- Fix memory exhaustion with list larger than 4994 items.
(Redmine # 6672)
- Fix cf-execd segfault on IP address detection (Redmine #6905).
- Fix hard class detection of RHEL6 ComputeNode (Redmine #3148).
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=110
New features:
- support for HP-UX 11.23 and later
- experimental support for Red Hat Enterprise Linux 7
Bug fixes:
- fix getindices on multi-dimensional arrays (Redmine #6779)
- fix mustache template method to run in dryrun mode (Redmine #6739)
- set mailto and mailfrom settings for execd in def.cf (Redmine #6702)
- fix conflation of multi-index entries in arrays (Redmine #6674)
- fix promise locking when transfering using update.cf (Redmine #6623)
- update JSON parser to return an error on truncation (Redmine #6608)
- fix sys.hardware_addresses not expanded (Redmine #6603)
- fix opening database txn /var/cfengine/cf_lastseen.lmdb:
MDB_READERS_FULL when running cf-keys --show-hosts (Redmine #6602)
- fix segfault (Null pointer dereference) when select_end in
delete_lines never matches (Redmine #6589)
- fix max_file_size => "0" not disabling or allowing any size
(Redmine #6588)
- fix ifvarclass, with iteration over list, failing when deleting
files with time condition (Redmine #6577)
- fix classes defined with "or" constraint are never set if any value
doesn't evaluate to a scalar (Redmine #6569)
- update "mailfrom" default in default policy (Redmine #6567)
- fix logrotate ambiguity of filename (Redmine #6563)
- fix parsing JSON files (Redmine #6549)
- reduce write count activity to /var partition (Redmine #6523)
- fix files delete attribute incorrectly triggering promise_kept
(Redmine #6509)
- update services bundle output related to chkconfig when run in
inform mode. (Redmine #6492)
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=107
- don't regenerate software_packages.csv every time (Redmine #6441)
- improve verbose message for package_list_command
- fix missing log output on AIX (Redmine #6434)
- assorted fixes to dirname() esp on Windows (Redmine #4716)
- fix package manager detection
- fix build issues on FreeBSD
- allow copying of dead symbolic links (Redmine #6175)
- preserve order in readstringarrayidx (Redmine #6466)
- fix passing of unexpanded variable references to arrays (Redmine #5893)
- use entries for new {admin,deny}_{ips,hostnames} constraints in
the relevant legacy lists (Redmine #6542)
- cope with ps's numeric fields overflowing to the right
- interpret failing function calls in ifvarclass as class not set
(Redmine #6327)
- remove unexpanded lists when extending lists (Redmine #6541)
- infer start-time of a process from elapsed when needed
(Redmine #4094)
- fix input range definition for laterthan() function (Redmine #6530)
- don't add trailing delimiter when join()'ing lists ending with a
null-value (Redmine #6552)
- 9999999999 (ten 9s) or higher has been historically used as an upper
bound in CFEngine code and policy but because of overflow on 32-bit
platforms it caused problems with big numbers.
Fixed in two ways:
first change all existing policy uses to 999999999 (nine 9s instead
of eleven 9s), second fix the C code to not wrap-around in case of
overflow, but use the LONG_MAX value (Redmine #6531).
- cf-serverd and other daemons no longer reload their configuration
every minute if CFEngine is built with an inputs directory outside
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=104
New features:
- Introduced Solaris and AIX support into the 3.6 series, with
many associated build and bug fixes.
Changes:
- Short-circuit evaluation of classes promises if class is already
set (Redmine #5241)
- fix to assume all non-specified return codes are failed in
commands promises (Redmine #5986)
- cf-serverd logs reconfiguration message to NOTICE (was INFO)
so that it's always logged in syslog
Bug fixes:
- File monitoring has been completely rewritten (changes attribute
in files promise), which eliminates many bugs, particularly
regarding files that are deleted. Upgrading will keep all
monitoring data, but downgrading again will reinitialize the DB,
so all files will be reported as if they were new. (Redmine #2917)
- $(this.promiser) expands in files promises for 'transformer',
'edit_template', 'copy_from.source', 'file_select.exec_program',
'classes' and 'action' bodies (Redmine #1554, #1496, #3530, #1563)
- 'body changes' notifies about disappeared files in file monitoring
(Redmine #2917)
- Set not-kept classes when files or commands promise should be
repaired, but is warn-only (Redmine #2359)
- Fixed CFEngine template producing a zero-sized file (Redmine #6088)
- Add 0-9 A-Z _ to allowed context of module protocol (Redmine #6063)
- Extend ps command column width on Solaris and filter on zone
rather than adding it to the ps output.
- Fixed strftime() function on Solaris when called with certain
specifiers.
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=101
to prevent crash on syntax error
- add 0007-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch
* add 'suse' class for consistency with other vendor classes
(fixes#5417)
* distinction between "SUSE Linux Enterprise Server" (sles) and
"... Desktop" (sled)
* distinction between SUSE Linux Enterprise products (suse) and
openSUSE (opensuse)
* extract version from VERSION and PATCHLEVEL lines instead of
first line of /etc/SuSE-release
- merge cfengine-server with cfengine. A policy server only
gets cfengine-masterfiles but is otherwise identical to
a client.
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement/cfengine?expand=0&rev=89