Detecting Virtual Machines in CFEngine


Out of the box CFEngine has some support for detecting if it is running on top of a hypervisor. Unfortunately, it appears that a regression was introduced in 3.6.0 which prevented cf-agent from detecting Xen and this functunality appears to have has never worked on FreeBSD as well. I submitted a pull request which addresses the issue documented in CFE-1563 but it will not be included in CFEngine 3.10 and right now only fixes the issue on Linux.…
Read more ⟶

Use realpath to work around the CFEngine 3.5.3 symlink change


In CFEngine 3.5.3, a symlink created by a user pointing to resources owned by a different user is no longer followed. This is an intential change and while it makes sense from a security standpoint, people who came to depend on the old behavior and built tooling and infrastructre around it found themselves in a bit of a bind. As best as I can tell there is no way to override this behavior and the end result is that it is causing several promises which are part of my release process to fail.…
Read more ⟶

Aborting execution of cf-agent


From time to time it might be necessary to temporary halt the execution of cf-agent for any number of reasons. If during a run the class halt_cfagent gets defined, cf-agent will exit its current run …
Read more ⟶