-
Type:
Task
-
Status: Done
-
Priority:
Medium
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.5.x
-
Component/s: Evaluation
-
Labels:None
Description:
(This was suggested by Nick Anderson and was recently asked on help-cfengine)
It's currently easy to test for @net_x_y_z@ to see if the subnet is @x.y.z@. But there's no easy way to ask "what subnet did cf-agent detect, that ended up in the @net_x_y_z@ class."
The core problem is that we can't trace the provenance of the "subnet" piece of knowledge, and we don't know that it determined the subnet to be @x.y.z@.
The solution is in my opinion surprisingly simple. In addition to defining the class @net_x_y_z@, the agent should also fill in a special array:
@sys.knowledge_trace[subnet] string => "net_x_y_z"@
This is cheap and easy, and should not be hard to implement.
Feature use case:
- map hard classes to variables (often asked on help-cfengine)
- provide a full list of the hard classes currently defined
- structure the system knowledge better
Current planned features:
- implement the array suggested above
Possible enhancements:
- none
Issues:
- naming of array keys has to be systematic and not ad-hoc
Cross feature mapping:
- none
Demoed for externals:
- none
Documentation:
- manual update
- relates to
-
CFE-30 Add a $(sys.cpusockets) variable
-
- Open
-
-
CFE-811 find and kill hung cf-agent processes
-
- Open
-
-
CFE-94 Export capabilities as hard classes
-
- Open
-
-
CFE-938 inventory policy layout
-
- Done
-
-
CFE-369 "pure OS" classes: pure_debian and pure_redhat
-
- Done
-
-
CFE-407 Documentation for all hard_classes
-
- Done
-
-
CFE-449 define hard classes for Linux Mint (both ubuntu derivatives and debian edition)
-
- Done
-
-
CFE-1045 memory usage regression when many classes are defined
-
- Done
-
-
CFE-395 CFEngine should have sys.memory
-
- Done
-
-
CFE-429 sys.hardware_mac documentation is wrong.
-
- Done
-