Commit Graph

10 Commits (2858d24acb1f593dd3849ade68fc29c48fec8cee)

Author SHA1 Message Date
Robin Roth 54ceee9da2 Check for zypper version before using options (#2549)
* priority needs zypper version >= 1.12.25
* gpgcheck needs zypper version >= 1.6.2
* output warnings if version not sufficient for option
* fixes #2548
2016-12-08 11:34:31 -05:00
Robin Roth 6fdad49309 allow overwrite_multiple with more than 2 repos (#2481)
2.1 introduces overwrite_multiple, which can overwrite more than one
exisiting repo (with matching alias or URL). Allow more than 2 repos to
be overwritten, since openSuSE allow more than one repo with the same
URL if the alias is different.
2016-12-08 11:34:30 -05:00
Robin Roth 5464b71561 Zypper repository rewrite (#1990)
* Remove support for ancient zypper versions

Even SLES11 has zypper 1.x.

* zypper_repository: don't silently ignore repo changes

So far when a repo URL changes this got silently ignored (leading to
incorrect package installations) due to this code:

    elif 'already exists. Please use another alias' in stderr:
        changed = False

Removing this reveals that we correctly detect that a repo definition
has changes (via repo_subset) but don't indicate this as change but as a
nonexistent repo. This makes us currenlty bail out silently in the above
statement.

To fix this distinguish between non existent and modified repos and
remove the repo first in case of modifications (since there is no force
option in zypper to overwrite it and 'zypper mr' uses different
arguments).

To do this we have to identify a repo by name, alias or url.

* Don't fail on empty values

This unbreaks deleting repositories

* refactor zypper_repository module

* add properties enabled and priority
* allow changing of one property and correctly report changed
* allow overwrite of multiple repositories by alias and URL
* cleanup of unused code and more structuring

* respect enabled option

* make zypper_repository conform to python2.4

* allow repo deletion only by alias

* check for non-existant url field and use alias instead

* remove empty notes and aliases

* add version_added for priority and overwrite_multiple

* add version requirement on zypper and distribution

* zypper 1.0 is enough and exists

* make suse versions note, not requirement

based on comment by @alxgu
2016-12-08 11:34:07 -05:00
Thomas Bechtold 00a5c352ec zypper_repository: Fix repo parsing for empty list
When no repositories are defined in zypper, the return code
of "zypper repos" is 6. Handle that case and don't fail
if zypper_repository has to deal with an empty repo list.

Fixes https://github.com/ansible/ansible-modules-extras/issues/795
2016-12-08 11:33:06 -05:00
Greg DeKoenigsberg c65a612d1f Changes to author formatting, remove emails 2016-12-08 11:32:51 -05:00
Brian Coca d344a3fde3 more string corrections 2016-12-08 11:32:39 -05:00
Toshio Kuratomi 7941681591 Fix documentation in zypper_repository 2016-12-08 11:32:23 -05:00
Justin Lecher 1f0b0ad3cd Keep default behaviour for refresh
Signed-off-by: Justin Lecher <jlec@gentoo.org>
2016-12-08 11:32:23 -05:00
Justin Lecher 90f5e1925e Allow disabling of autorefresh for zypper repositories
In case of release repositories or other special cases you might not
need the autorefreshing of the repos. This patch adds a configure
option instead of hard enabling this.

Signed-off-by: Justin Lecher <jlec@gentoo.org>
2016-12-08 11:32:23 -05:00
Michael DeHaan 7d6ceb4f06 Reorganization. 2016-12-08 11:32:19 -05:00