Commit Graph

661 Commits (1a91b797bd5ee0ca913dd49382f5b960d1584df7)

Author SHA1 Message Date
Jordan Borean 73141d5035 pip: produce better error msg on import error (#47743)
* pip: produce better error msg on import error

* Added porting guide entry for 2.7
2018-10-31 15:30:37 +01: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
AndyG e5664c45a5 Update pip.py (#47568)
adding the option to install pip modules via  proxy, as per https://github.com/ansible/ansible/issues/36333#issuecomment-366374083
2018-10-25 15:29:01 -04: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
Zhikang Zhang b697da39c8 Fix problem where pip module cannot accept multiple extras
PR #46937
Fixes #46519
2018-10-22 22:21:45 +02: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
Loïc a661b5f825 Add unsafe_perm flag (#36946) 2018-10-17 21:35:51 +01: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
S. Veyrié 60af5ab962 maven_artifact: enforce required params (fixes #44823) (#44967) 2018-08-31 11:38:09 -04:00
S. Veyrié 5b358db83f maven_artifact: download with shutil.copyfileobj to a temp file (#44956)
* maven_artifact: replace homemade chunked download with shutil.copyfileobj

* maven_artifact: copy to temp file first
2018-08-31 07:35:26 -04:00
bonzi316 eee406dfd2 Fix maven_artifact md5 checksum check with archiva repository (#43250) 2018-08-31 05:32:37 -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
Anna Wiggins 5172bb068e Correct documentation for deployment_mode flag (#25978) 2018-08-27 19:05:31 -05: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
Zhikang Zhang 501503f4cb
Allow version specifiers for pip install (#41792)
Allow version specifiers for pip install.
2018-08-17 11:46:53 -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