Skip to content

Commit

Permalink
apt_rpm: deprecate behavior of state=present and state=installed (#8285)
Browse files Browse the repository at this point in the history
* Deprecate behavior of state=present and state=installed.

* Fix changelog fragment.

Co-authored-by: Alexei Znamensky <[email protected]>

---------

Co-authored-by: Alexei Znamensky <[email protected]>
  • Loading branch information
felixfontein and russoz authored May 1, 2024
1 parent 70adba8 commit ea71964
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
7 changes: 7 additions & 0 deletions changelogs/fragments/8285-apt_rpm-state-deprecate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
deprecated_features:
- "apt_rpm - the behavior of ``state=present`` and ``state=installed`` is deprecated and will change in community.general 11.0.0.
Right now the module will upgrade a package to the latest version if one of these two states is used. You should explicitly
use ``state=latest`` if you want this behavior, and switch to ``state=present_not_latest`` if you do not want to upgrade the
package if it is already installed. In community.general 11.0.0 the behavior of ``state=present`` and ``state=installed`` will
change to that of ``state=present_not_latest`` (https://github.com/ansible-collections/community.general/issues/8217,
https://github.com/ansible-collections/community.general/pull/8285)."
12 changes: 12 additions & 0 deletions plugins/modules/apt_rpm.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,18 @@ def main():
module.fail_json(msg="cannot find /usr/bin/apt-get and/or /usr/bin/rpm")

p = module.params
if p['state'] in ['installed', 'present']:
module.deprecate(
'state=%s currently behaves unexpectedly by always upgrading to the latest version if'
' the package is already installed. This behavior is deprecated and will change in'
' community.general 11.0.0. You can use state=latest to explicitly request this behavior'
' or state=present_not_latest to explicitly request the behavior that state=%s will have'
' in community.general 11.0.0, namely that the package will not be upgraded if it is'
' already installed.' % (p['state'], p['state']),
version='11.0.0',
collection_name='community.general',
)

modified = False
output = ""

Expand Down

0 comments on commit ea71964

Please sign in to comment.