Commit Graph

627 Commits (e9c2695ce745cf42d1c69166d838ad17555d8b99)

Author SHA1 Message Date
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
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
Till Maas bb85bbceeb pip: combine chdir and env only when env is set (#40793)
* pip: combine chdir and env only when env is set

This fixes an AttributeError when chdir without virtualenv is specified:

 File "/tmp/ansible_2UAFsZ/ansible_module_pip.py", line 387, in main
    env = os.path.join(chdir, env)
 File "/usr/lib64/python2.7/posixpath.py", line 75, in join
    if b.startswith('/'):
AttributeError: 'NoneType' object has no attribute 'startswith'

* Add test for pip with chdir

Signed-off-by: Till Maas <opensource@till.name>
2018-08-13 19:59:01 +02:00
Matt Martz c1c229c6d4
Remove use of simplejson throughout code base (#43548)
* Remove use of simplejson throughout code base. Fixes #42761

* Address failing tests

* Remove simplejson from contrib and other outlying files

* Add changelog fragment for simplejson removal
2018-08-10 11:13:29 -05:00
curry9999 9c4be54625 To improve readability, we added a line feed. (#43764)
* A line break was added.

<!--- Your description here -->

+label: docsite_pr

* "blank line contains whitespace" was fixed.
2018-08-07 16:07:35 -04:00
Arnaud Venturi 130824c3e1 Correct a typo in pip module error message (#43784) 2018-08-07 19:53:19 +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
Matt Martz 01c0446cb5
Add AnsibleModule signature schema, and fix associated issues (#43512) 2018-07-31 15:04:22 -05: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
Adam Harwell a9b1af8bdd Yum: Add support for --downloadonly (#41506) 2018-07-18 23:34:54 -04:00
Bryce Verdier b16fef9aad removing duplicate operations from the use of list comprehensions. None of the logic within the code has been changed, just more refined. (#41098) 2018-07-18 15:48:12 -04:00
Frank Vissing 66adabfd42 disable_excludes (#42510)
* implementing disable_excludes

* add check for yum version

* limit choices

* add testcases for disable_exclude

* fix formating

* add documentation

* syntax fix for test case

* fix indentation

* need to ignore errors when we want to do a test that fails

* test disable_excludes with zip and not sos

* add tests for yum < 3.4 not supported

* fix formating

* centos 6.1 does not support map

* drop unsupported selectattr

* cleanup testcases

* fix test cases beloging to wrong test scenarion (propper when)

* evaluate expression

* minor test fixes

* check output of msg
2018-07-18 15:37:50 -04:00
Orion Poplawski 32436ea9a5 dnf: Call dnf.Base.close() before exit to cleanup. (#41810) 2018-07-18 15:11:32 -04:00
Michael Steffens 4af16d0c76 Python3: compare bytes with bytes and strings with strings. (Fixes #42677) (#42878) 2018-07-17 17:52:49 -04:00
Adam Conway b6e9df2065 Update yum_repository.py (#42859)
* Update yum_repository.py

Having spent some time trying and googling how to enable an installed repo with this, I discovered that the thread at https://github.com/ansible/ansible-modules-extras/issues/2384 had decided that this would not be supported and recommended use of ini_file instead.  Since I am sure I'm not alone in expecting yum-repository to support enabling/disabling a configured repo, I suggest adding a note so people find this easier.
2018-07-17 16:57:36 +05:30
Kevin Mooney 7a0c28cc37 Put umask value in quotation marks (#41409)
The given example causes the pip module to fail. If the umask is given as an octal string without quotation marks, the pip module converts it into an integer (i.e., an invalid umask). 

+label: docsite_pr
2018-07-13 10:35:23 -04:00
Toshio Kuratomi 9350a81ae4 Port modules away from __file__
* __file__ won't work if we want to invoke modules via -m or if we
  figure out how to keep modules from hitting the disk with pipelining.
* module.tmpdir is the new way to place a file where it will be cleaned
  automatically.

Change format string to not depend on __file__:

* cloud/amazon/ec2_elb_lb.py
* cloud/amazon/elb_classic_lb.py

Use module.tempdir:

* packaging/os/apt.py
* files/unarchive.py
2018-07-09 15:51:20 -07:00
Jordan Borean 8bdd04c147 Fix remote_tmp when become with non admin user (#42396)
* Fix tmpdir on non root become

 - also avoid exception if tmpdir and remote_tmp are None
 - give 'None' on deescalation so tempfile will fallback to it's default behaviour
   and use system dirs
 - fix issue with bad tempdir (not existing/not createable/not writeable)
   i.e nobody and ~/.ansible/tmp
 - added tests for blockfile case

* Revert "Temporarily revert c119d54"

This reverts commit 5c614a59a6.

* changes based on PR feedback and changelog fragment

* changes based on the review

* Fix tmpdir when makedirs failed so we just use the system tmp

* Let missing remote_tmp fail

If remote_tmp is missing then there's something more basic wrong in the
communication from the controller to the module-side.  It's better to
be alerted in this case than to silently ignore it.

jborean and I have independently checked what happens if the user sets
ansible_remote_tmp to empty string and !!null and both cases work fine.
(null is turned into a default value controller-side.  empty string
triggers the warning because it is probably not a directory that the
become user is able to use).
2018-07-06 10:49:19 -07:00
Julien Brochet 2762c4fe1a Fix error message when using the params option (#42305) 2018-07-04 21:08:25 +05:30
Robin Roth 24e94ec3c6 Make zypper work with python3 2018-06-25 15:58:24 -04:00
Martin Krizek 2e68811c34 apt: fix apt-mark on debian6 (#41530) 2018-06-20 05:57:59 -04:00
David Moreau Simard 89a9fb79da Add RETURN docs for the pip module (#39907)
The pip module returns some things. Let's document them.
2018-06-19 13:34:14 -04:00
Jacob 617093efa7 Add upgrade ('latest') support to pkgng module (#41623)
* Add upgrade ('latest') support to pkgng module

* fixup for bad yaml

* fixup for bcoca review:
- add `version_added:` to description
- change examples to use `name:` and remove comments
- DRY out install_packages()
- clean up state conditional check in modules.params

* fixup to remove extra whitespace

* fixup to handle custom pkgsite when checking for updates

* fixup to remove misleading `version_added:`
2018-06-19 10:42:22 -04:00
Jason Tedor f71ad4e315 Enable to use greedy checks for outdated casks (#40799)
* Enable to use greedy checks for outdated casks

When using brew cask outdated to check if an installed cask is outdated
or not, brew cask will skip casks that have auto_updates set to true or
version: latest. This means that Ansible tasks using the homebrew_cask
module to upgrade packages installed by brew cask will miss upgrading
such packages. However such packages can still be managed by brew cask
so we need to be able detect such packages. This can be done with the
--greedy flag passed to brew cask outdated as this will also include
such packages that are outdated. This commit adds a greedy parameter to
the homebrew_cask module to enable upgrading such packages using Ansible
tasks with the homebrew_cask module. The default behavior preserves the
same behavior as today. Example usage would be:

- homebrew_cask:
  name: 1password
  state: upgraded
  update_homebrew: yes
  greedy: yes

* Fix test issues

* Add extra comma to match style
2018-06-18 17:30:32 -04:00
Toshio Kuratomi 5c614a59a6 Temporarily revert c119d54
There were bugs in this that needed to be resolved.  No time to get the
fix reviewed sufficiently for 2.6.0.

We'll get this into 2.7.0 and try to get this into 2.6.1 as well.

Will need the work done in https://github.com/ansible/ansible/pull/36218
when it does get merged.
2018-06-15 13:00:54 -07:00
Jonathan Lozada D 0061ec4a09 Changes to Yum Documentation (#41054)
* added an example for a list of packages to install and added C() to some areas since it cannot be read right
* fixed the changes to list for
2018-06-08 15:41:01 +05:30
David Moreau Simard 828e33f419 Do not consider an empty version string as a version (#41044)
When using an empty string as the version argument, the module would
before attempt to run something akin to:

    pip install module==""

This changes the behavior to:

    pip install module

Fixes #41043
2018-06-06 09:52:43 +02:00
Baptiste Clavié 3b2f5dd606 composer: add new autoloader options (#40439)
* Add support for classmap-authoritative option for composer

* Add support for apcu-autoloader option for composer

* Fix a typo for the no-plugins option
2018-06-06 08:34:53 +02:00
Daniel Jaouen e90265e716 homebrew_tap: fixes #40853 (#40863) 2018-06-01 11:43:04 -04:00
Johannes Brunswicker cb636eb522 Fix for #40782 (#40783)
* check if timestamp is set in maven-metadata.xml. If it is not set, we don't have unique snapshot artifacts and can return the artifact name with the appended -SNAPSHOT
2018-05-29 05:04:25 -04:00
Matt Martz b07f779296 Update dnf module argument_spec and docs to match (#39819)
* Update dnf module argument_spec and docs to match. Fixes #39800

* Always evaluate autoremove as boolean
2018-05-28 06:26:04 -04:00
tgates81 f65df5f62a yum.py module: added option for yum --bugfix updates. (#36203) 2018-05-25 09:58:35 -04:00