Commit Graph

613 Commits (88659dcba4dc5823d32523766c66223a70780304)

Author SHA1 Message Date
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
Peter Janes 67493ebdee Add a 'releasever' parameter for dnf. Fixes #33314. (#37493)
* Add a 'releasever' parameter for dnf. #33314

* Set a default value for releasever

* Fix a variable name typo
2018-05-24 23:22:53 -04:00
Andrew Widdersheim 8d1f2ba9d9 yum: Propagate plugins to all parts of the module (#40085)
In `2.5` (d1b63bd5), the `yum` module received the capability to disable
and enable specific plugins. However, these changes only applied to
certain parts of the logic. This change propagates those changes to the
rest of the module, specifically those using the `yum` API.
2018-05-23 21:04:05 -05:00
S. Veyrié 012003c871 maven_artifact: raise an explicit exception if the .md5 url returns 404 (#40477) 2018-05-23 12:09:23 -04:00
Brian Coca 4cc4d63289 relocated flatpak 2018-05-23 10:06:44 -04:00
Martin Krizek a3cfe0d72f
apt: don't markmanual if apt-mark is not installed (#40600)
* apt: don't markmanual if apt-mark is not installed

* Add warning
2018-05-23 14:43:18 +02:00
Alexander Bethke 0840cb1fde Add flatpak_remote module (#40189)
* Adding flatpack_remote module

Includes contributions by oolongbrothers: adding documentation fixes, fixing import placements, fix module idempotency, improving error propagation.

* Aligns module with conventions and best practices

For improved robustness and readability; based on feedback by
dagwieers.

* Improves the module documentation

* Aligns copyright statement to conventions

* Renames remote > flatpakrepo_url and reworks documentation
2018-05-22 15:08:16 -05:00
Antoine Catton 39f9d3e4a6 Add the ability to specify an install_dir to the gem module (#38195)
* Add the ability to specify an install_dir to the gem module

* Add GEM_HOME when installing a non-global gem

* Add tests for custom gem path

* Fix sanity tests

* Add changelog entry

* Rebase and add tests for incorrect options

Co-authored by: Antoine Catton <devel@antoine.catton.fr>
2018-05-21 09:55:43 -04:00
Martin Krizek a996d4836a
rhsm_repository: use C locale for out/err scraping (#40338) 2018-05-18 07:55:37 +02:00
Martin Krizek ca3390377a
redhat_subscription: C locale for stdout scraping (#40165) 2018-05-17 20:44:06 +02:00
Peter Oliver caddf863df pkg returns 4 for "nothing to do" (#23007)
* pkg returns 4 for "nothing to do"

We need to handle this because our own checking for whether there's anything to do returns false negatives in certain circumstances.

We need to rename the response `rc`, because that name is reserved by
Ansible to indicate a failure if it is non-zero.

Fixes ansible/ansible#22781 and ansible/ansible-modules-extras#932.

* Don't rename `rc` to to `pkg_rc`, and instead override the failure state.

* Drop mention of renamed variable in `pkg5` module.
2018-05-15 11:52:54 -04:00
Martin Krizek def434b5c3
apt_repository: fix rendering default mode in docs (#40152) 2018-05-15 17:36:23 +02:00
Robin Roth d6e711b1de Allow empty list of names in pip module (#38789)
pip 10 gives exit code 1 for empty argument lists (pip < 10 gave exit 0)
see also https://github.com/pypa/pip/pull/4210

To still allow playbooks to pass when giving empty lists, don't call
pip in that case, but show a warning.
2018-05-14 14:51:10 +02:00
Robin Roth 42953c40ce Pip: Make main method smaller (#38788) 2018-05-14 14:49:41 +02:00
Brian Coca 8654508cbd
added check mode spport to package_facts (#39801)
* added check mode spport to package_facts

fixes #39789

* also service_facts
2018-05-11 14:04:08 -04:00