Actions
Bug #5244
closedTechnique 'Package management for RHEL / CentOS / SuSE / RPM systems' v5.1: Unable to update a package without version set but still report a success
Status:
Rejected
Priority:
N/A
Assignee:
-
Category:
Techniques
Target version:
-
Pull Request:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:
Description
Technique 'Package management for RHEL / CentOS / SuSE / RPM systems' is not able to update a package is a version has not be set. The reports sents are all "Success", which is worst.
In fact, in CFEngine, the use of package type promise to update a package without version doesn't work, which is the issue we've got there.
Here is an example with rudder-agent without version:
[...]
cf3> Package version was not specified cf3> Looking for (rudder-agent,*,*) cf3> Matched name 'rudder-agent' cf3> Matched version * cf3> Looking for (rudder-agent,*,*) cf3> Matched name 'rudder-agent' cf3> Matched version * cf3> Additional promise info: source path '/root/machin.cf' at line 32 comment 'Handling rudder-agent using generic_nobulk, policy : update' cf3> Package 'rudder-agent' already installed and matches criteria Automatically promoting context scope for 'rpm_package_installation_rudder_agent_kept' to namespace visibility, due to persistence cf3> Defining persistent promise result class 'rpm_package_installation_rudder_agent_kept' [...]
Using a false version will lead to always try to update the package which will create repaired classes:
[...] cf3> Package version specified explicitly in promise body cf3> Looking for (rudder-agent,*,*) cf3> Matched name 'rudder-agent' cf3> Matched version * cf3> Looking for (rudder-agent,latest,*) cf3> Matched name 'rudder-agent' cf3> Check for compatible versioning model in (2.10.3.release-1.EL.6,latest) cf3> Verified that versioning models are compatible cf3> Checking whether package version 2.10.3.release-1.EL.6 == latest: no cf3> No installed packages matched (rudder-agent,latest,*) cf3> Checking if package (rudder-agent,latest,*) is at the desired state (installed=1,matched=0) cf3> Package promises to refer to itself as 'rudder-agent' to the manager cf3> Package version seems to match criteria cf3> Checking if latest available version is newer than installed... cf3> Looking for an installed package older than (rudder-agent,latest,*) cf3> Found installed package (rudder-agent,2.10.3.release-1.EL.6,x86_64) cf3> Check for compatible versioning model in (2.10.3.release-1.EL.6,latest) cf3> Verified that versioning models are compatible cf3> Checking whether package version 2.10.3.release-1.EL.6 < latest: yes cf3> Installed package (rudder-agent,2.10.3.release-1.EL.6,x86_64) is older than latest available (rudder-agent,latest,*) - updating cf3> Schedule package for update [...]
Actions