Commit graph

586 commits

Author SHA1 Message Date
Adam Miller
1c777976c5 Correct yum and dnf autoremove behavior (#47902)
* Correct yum and dnf autoremove behavior

Sanity check args passed to autoremove

Fixes #47184

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix docs

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-05 16:00:42 -05:00
Matthias Fuchs
7e8d9081a7 Make the flatpak module work with Python 3.
Fixes #46994
Fixes #46995
2018-11-05 10:00:42 -05:00
e-taylor
90ea6c8d12 add support for the --be-name option (#43030)
* add support for the --be-name option
2018-11-05 09:27:38 -05:00
Paul Harvey
cd75074fc5 fix yum proxy regex (closes #47797) (#47800)
* Modify yum/tasks/proxy.yml to usernames that expose regex bug

* Fix bad regex backref/interpolation w/yum proxy username

A yum proxy username that begins with a number was being
interpolated as part of the backref, resulting in an error:
"sre_constants.error: invalid group reference"

Closes #47797
2018-10-30 16:35:37 +01:00
René Moser
58238375b4 apt: warn users on auto-install dep (#47704)
* apt: warn users on auto-install dep

* add changelog
2018-10-29 19:56:15 +01:00
Artem Bityutskiy
b3ec97cd36 swupd: fail in case of an incorrect bundle (#45993)
For some strange reasons the 'swupd' module does not fail if I specify a
non-existing bundle like "xxx". This is inconsistent with other modules, for
example 'dnf'.

The end result is that if someone uses the 'package' module, the result is
inconsistent across OSes: for Fedora trying to install an non-existing module
fails, bot for Clear Linux it just prints a warning and succeeds.

This patch fixes the inconsistent behavior. With this patch 'swupd' will fail
if one tries to install a bundle that does not exist.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2018-10-26 09:13:03 +01:00
Ross Williams
300db3af84 Module portinstall: use_packages is a bool (#47370)
The module has been checking if use_packages is
a string equal to "yes", but AnsibleModule actually
converts the use_packages argument to a bool.
2018-10-26 10:49:31 +10:00
Adam Miller
079705f8da
dnf properly gpg check local packages based on param (#47455)
* dnf properly gpg check local packages based on param

Fixes #43624

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-23 11:41:27 -05:00
Adam Miller
0e3e646189
don't restrict disable_excludes choices incorrectly (#47453)
* don't restrict disable_excludes choices incorrectly

Fixes #47085

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-23 11:39:55 -05:00
Martin Krizek
e8b6864e21 yum/dnf: fail when space separated string of names (#47109)
* yum/dnf: fail when space separated string of names

* Groups allow spaces in names
2018-10-19 14:29:27 -04:00
flowerysong
c21f92f8f7 Fix yum/dnf lock file polling (#47250) 2018-10-19 14:18:09 -04:00
Petr Ruzicka
6cd17401ec with_items should not be used any more - using loop instead (#47294) 2018-10-19 12:43:00 -04:00
Matt Clay
c24c19594e
Enable pylint rules and fix exposed bugs. (#47219)
* Resolve invalid-unary-operand-type.

* Resolve raising-format-tuple.

* Resolve stop-iteration-return.

* Use disable comment instead of fixing logic.

The affected line in _find_address_range will only fail on Python 3.7
and later if the function is called with an empty address list. As an
internal method it is never called in this way, making it a non-issue
for use via public methods.

Using a comment to disable the rule in favor of an ignore.txt entry
since there are no plans to change the logic in the code itself. This
will also prevent any potential future issues being added in other
parts of the code when updating it based on upstream changes.
2018-10-19 08:32:52 -07:00
Baptiste Mille-Mathias
65bb6a5af3 Use loop instead of with_items in examples (#47318) 2018-10-18 17:14:50 -04:00
Stanislas
9cc9ca584a Implement snap packaging module
PR #44939

Fixes #39155
Closes #40852

Co-authored-by: Victor Carceler <vcarceler@iespuigcastellar.xeill.net>
Co-authored-by: Stanislas Lange <angristan@pm.me>
Co-authored-by: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
2018-10-17 22:59:41 +02:00
Adam Miller
fd97c8e56c
fix yum proxy username/password handling (#46291)
Fixes #46249

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-11 12:51:40 -05:00
Adam Miller
fb6e91bf98
yum module properly check for None config_file (#46641)
* yum module properly check for None config_file
* add conf_file test cases to yum integration tests

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-11 10:11:34 -05:00
gardouille
0d824ad777 Add xz-utils requirement (#46159)
* Document xz-utils requirement for deb parameter of apt module
2018-10-10 09:45:58 -05:00
Cyril Jouve
05ca828619 create sources.list.d directory if needed (#36981) 2018-10-08 18:35:05 -04:00
Tom 'Biwaa' Riat
6ad9e1c3de feat(apt): add -f --fix-broken option to apt module (#27162) 2018-10-08 18:07:52 -04:00
Evgeni Golov
7c66c90afc introduce module_utils.urls.fetch_file as a wrapper to download and save files (#19172)
* module_utils.urls: add fetch_file function

* apt: use fetch_file instead of own download()

* unarchive: use fetch_file instead of own codecopy

* apt: add test for deb=http://…

* unarchive: add test for a remote file download and unarchive

* yum: replace fetch_rpm_from_url by fetch_file

* use NamedTemporaryFile

* don't add a dot to fileext, it's already there
2018-10-08 14:41:57 +02:00
Adam Miller
c8ed5c29e9 allow update_cache as stand alone operation for yum/dnf (#46183)
* allow update_cache as stand alone operation for yum/dnf

Fixes #40068

Signed-off-by: Adam Miller <admiller@redhat.com>

* make sanity tests happy

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-08 08:39:49 -04:00
newtonne
bd849e8fb4 Macports: Add upgrade parameter and replace update_ports with selfupdate (#45049)
* macports: Replace update_ports with selfupdate

- Macports discourages use of `port sync` and recommends using `port
selfupdate` instead.
- Keep `update_cache` and `update_ports` as aliases.
- No longer require the `name` parameter so that `selfupdate` can be
used in a task by itself.

* macports: Add upgrade parameter

- New upgrade parameter which can be used to upgrade all outdated ports.

* Add changelog fragment
2018-10-03 13:58:55 -04:00
Daniel Jaouen
404b7140b6 homebrew_cask: Fixes #38772 2018-10-01 09:49:06 -04:00
Adam Miller
71280ee773 Handle dnf immutable mutable datatypes (#46176)
In DNF < 3.0 are lists, and modifying them works
In DNF >= 3.0 < 3.6 are lists, but modifying them doesn't work
In DNF >= 3.6 have been turned into tuples, to communicate that
modifying them doesn't work

Further explanation of this is available via Adam Williamson from
the Fedora QA Team.

    https://www.happyassassin.net/2018/06/27/adams-debugging-adventures-the-immutable-mutable-object/

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-27 03:45:58 -04:00
newtonne
aac1ce7333 homebrew_cask: Pass install_options during uninstall (#44938)
Until https://github.com/Homebrew/homebrew-cask/issues/40866 is fixed,
install_options should be passed when uninstalling casks to ensure that
all artefacts are removed.
2018-09-25 12:21:52 +01:00
Adam Miller
2fe150a1ef fix dnf wildcard pkg removal - fixes #27744 and #36970 (#45357)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-20 12:13:17 -04:00
Alicia Cozine
34b8cbd365 Explain what happens when gpgcheck is not set in yum
PR #45796
2018-09-20 15:14:55 +03:00
Adam Miller
5fdf0290d0 handle yum and dnf lockfiles - fixes #44120 (#45359)
* handle yum and dnf lockfiles - fixes #44120

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix logic problem to properly check for dnf lockfile glob

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-19 16:14:25 -04:00
Dag Wieers
2edf20d1ed Docs: Avoid use of 'default: null' (#45795)
Various modules document the default 'null' value, but it causes None to
be shown in the documentation explicitly.
2018-09-19 09:02:27 -05:00
Rémy Jacquin
63444136ba Add example for multiple package selection with dnf (#45610)
Thanks for enhancing the Ansible documentation!
2018-09-17 15:54:48 -04:00
julianladisch
5adcaf4538 Suggest full fingerprint for apt_key. (#44697)
* Suggest full fingerprint for apt_key.
Background: https://gwolf.org/node/4070 (Gunnar Wolf: Stop it with those short PGP key IDs!)
I've put the full fingerprint into the examples.
* avoids the phrase 'best practice'
2018-09-14 14:50:46 -05:00
Strahinja Kustudic
8d8df46fe6 Add an error message if a pkg cannot be removed, fixes #35672 (#40723) 2018-09-13 02:54:38 -04:00
Adam Miller
db34d3923a Improve dnf group output for clarity
Add note about group removal bug upstream dnf

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-06 09:27:24 -07:00
Allen Fair
8fb589d55e Returns reason on pkg update error (#44982)
Previously, it returned no additional information:

     "msg": "Could not update catalogue"

Now it passes that reason with the error message:

    {"changed": false, "msg": "Could not update catalogue [77]:  pkg: Insufficient privileges to update the repository catalogue.\n"}
2018-09-04 10:27:57 -04:00
Stéphane Wirtel
711944aa97 Fix a comparison with a string and a byte in flatpak_remote (#44835)
* flatpak_remote: Fix the comparison between string and bytes for the remote_exists function

* Use to_text instead a new compare function

* Compare bytes to bytes
2018-08-30 22:36:34 +02:00
newtonne
30fd326953 Various updates to macports module (#44605)
- Add support for installing specific variants of a port.
- Add support for using yaml lists with 'name' parameter, rather than comma-separated lists.
- Add to and clarify documentation and examples.
- Use Macports nomenclature:
  - s/package/port/g
  - Rename update_cache to sync_ports but keep update_cache as an alias. Remove undocumented update-cache alias.
  - Remove undocumented 'pkg' alias for 'name'. Replace with 'port' alias and document it.
- Print stdout and stderr output if `port sync` fails.
- Print stderr output, rather than stdout, if `port install/uninstall/activate/deactivate` fail.
2018-08-30 05:03:29 +02:00
Adam Miller
1e3b927a73 Improve error condition handling for dnf module (#44770)
- Fix comma separated list handling for package names
- Fix error message for unavailable/unknown package install attempt
- Fix pkg install result output generation

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-08-28 17:44:46 -04:00
Adam Miller
0d5390a919 fix yum install with disablerepo (#44735)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-08-27 17:06:06 -04:00
Adam Miller
397febd343 YUM4/DNF compatibility via yum action plugin (#44322)
* YUM4/DNF compatibility via yum action plugin

DNF does not natively support allow_downgrade as an option, instead
that is always the default (not configurable by the administrator)
so it had to be implemented

 - Fixed group actions in check mode to report correct changed state
 - Better error handling for depsolve and transaction errors in DNF
 - Fixed group action idempotent transactions
 - Add use_backend to yum module/action plugin
 - Fix dnf handling of autoremove (didn't used to work nor had a
   default value specified, now does work and matches default
   behavior of yum)
 - Enable installroot tests for yum4(dnf) integration testing, dnf
   backend now supports that
 - Switch from zip to bc for certain package install/remove test
   cases in yum integration tests. The dnf depsolver downgrades
   python when you uninstall zip which alters the test environment
   and we have no control over that.
 - Add changelog fragment
 - Return a pkg_mgr fact if it was not previously set.
2018-08-27 10:17:47 -07:00
Dag Wieers
b6b36276a4 Clean up BOTMETA.yml (#44574)
This PR includes:
- Removal of maintainers that are listed as author in the module
- Removal of entries that do not extend the original author list
- Move ignored-statement to namespace/directory (where useful)
- In some cases, fix the authors-list or add missing github id

We end up with a list of exceptions/additions and a large set of
namespace/directory maintainers or team of maintainers.

Some entries could be further improved by discussing with some
maintainers.
2018-08-24 19:43:35 -04:00
Abhijeet Kasurde
f59d189d02 Minor typo fix in package module documentation (#44617)
Added missing round bracket

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-08-24 10:14:58 +02:00
photoninger
d68c734ae2 Fix for "cannot marshal None unless.." (#33660)
when using only an activation key without any channels.
As already suggested by mattclay in
https://github.com/ansible/ansible/pull/25079

and also patch unit test for rhn_register and
add test case for activationkey only
2018-08-22 12:25:58 -04:00
Adam Miller
6d95624c22 Refactor yum and dnf, add feature parity (#43621)
* Refactor yum and dnf, add feature parity

Signed-off-by: Adam Miller <admiller@redhat.com>

* remove unnecessary module_utils, move the classes into the module code

Signed-off-by: Adam Miller <admiller@redhat.com>

* remove yum -> yum4, out of scope

Signed-off-by: Adam Miller <admiller@redhat.com>

* use ABCMeta

Signed-off-by: Adam Miller <admiller@redhat.com>

* re-arrange run() caller vs callee

Signed-off-by: Adam Miller <admiller@redhat.com>

* make sanity checks happy

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix yum unit tests

Signed-off-by: Adam Miller <admiller@redhat.com>

* remove unecessary debug statements, fix typo

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix licensing and attribution in yumdnf module_util

Signed-off-by: Adam Miller <admiller@redhat.com>

* include fix from PR 40737

original commit 5cbda9658a
original Author: Strahinja Kustudic <kustodian@gmail.com>

yum will fail on 'No space left on device', fixes #32791 (#40737)

During the installing of packages if yum runs out of free disk space,
some post install scripts could fail (like e.g. when the kernel
package generates initramfs), but yum would still exit with a status
0.  This is bad, especially for the kernel package, because it makes
it unable to boot.  Because the yum module is usually used for
automation, which means the users cannot read every message yum
prints, it's better that the yum module fails if it detects that
there is no free space on the disk.

Signed-off-by: Adam Miller <admiller@redhat.com>

* Revert "fix licensing and attribution in yumdnf module_util"

This reverts commit 59e11de5a2a6efa17ac3f0076bb162348c02e1bd.

* move fetch_rpm_from_url out of yumdnf module_util

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix the move of fetch_rpm_from_url

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-08-17 11:15:11 -04:00
Raúl Cuza
c84e70cf10 Add note to apt_key doc about update requirement (#25111)
* Add note about adding new key requiring update

When a new repo and new key are added, attempts to install packages
signed by that key fail until `apt-get update` is run.  This note
is an attempt to help users avoid getting errors when they miss
this step.

* related to issue #25091

* switch example to apt module
2018-08-16 13:18:17 -05:00
Strahinja Kustudic
5cbda9658a yum will fail on 'No space left on device', fixes #32791 (#40737)
During the installing of packages if yum runs out of free disk space,
some post install scripts could fail (like e.g. when the kernel package
generates initramfs), but yum would still exit with a status 0.  This is
bad, especially for the kernel package, because it makes it unable to
boot.  Because the yum module is usually used for automation, which
means the users cannot read every message yum prints, it's better that
the yum module fails if it detects that there is no free space on the
disk.
2018-08-14 13:41:34 +02:00
AlexisLessard
3055ca2cc0 Clarifications of parameters in yum_repo module (#38453)
* Clarifications of parameters in yum_repo module

Added a note defining where the "name" parameter of the module will appear in the repo file and note explaining that the description parameter of the module is actually the name parameter in the repo file. It might help people transform their existing yum repository files in ansible managed repos.
2018-08-07 11:48:29 -05:00
Michael Dodwell
5130b67159 Allow for the specification of a rhsm_repo_ca_cert if changing baseurl (#43343)
* Allow for the specification of a rhsm_repo_ca_cert if changing baseurl

If changing the baseurl we should allow for a ca cert to be updated from redhat-uep.pem

* Fixing documentation section

* added version to option rhsm_repo_ca_cert

* got rid of extra CR
2018-08-03 07:48:40 -04:00
Joren Vrancken
b954917761 Surround top-level function and class definitions with two blank lines. 2018-07-31 12:06:56 -07:00
Adam Miller
09eac6bab9 Revert "dnf: Call dnf.Base.close() before exit to cleanup. (#41810)"
This reverts commit 32436ea9a5.
2018-07-31 09:17:40 -07:00