Bug #3555
closedClass name collision 'cant_send_inventory' between inventory and distributePolicy Techniques
Description
On a fresh install of Rudder server 2.6.0~rc1, I'm seeing these non-compliance errors in /var/log/rudder/compliance/non-compliant-reports.log:
[2013-04-28 18:30:39+0200] N: root [server] S: [result_error] R: root-DP [distributePolicy] D: root-distributePolicy [Distribute Policy] T: distributePolicy/1.0 C: [Send inventories to CMDB] V: [None] Some inventories failed to add successfully to Rudder
However, when I look in /var/rudder/inventories/incoming and /var/rudder/inventories/accepted-nodes-updates/, there are no inventories waiting. This non-compliance log is generated in the distributePolicy/1.0/propagatePromises.cf file, based on the "cant_send_inventory::" class.
After some investigating, I found this when running cf-agent -v:
rudder> -> Additional classes = { cant_send_inventory inventory_sent policy_server root_server site_ok }
This means that the 'cant_send_inventory' class is defined persistently. However, this doesn't come from distributePolicy, but from the inventory Technique, which uses the exact same class name. This should be fine, as it should be cancelled by the inventory Technique when it succeeds (which it has), but for some reason it is not.
An easy fix here is just to use another class name.