Commit Graph

627 Commits (e9c2695ce745cf42d1c69166d838ad17555d8b99)

Author SHA1 Message Date
Deepakkothandan a396c18a61 composer: add param for custom PHP Executable path (#26107) 2017-06-29 23:08:30 +02:00
Duncan Lock 6d7647be54 yum: added example for `exclude` parameter. (#26216)
* Added example for `exclude` parameter.

* Remove trailing whitespace
2017-06-29 11:21:49 -07:00
Dag Wieers 7d7051fc54 Mutually reference Windows and non-Windows modules (#25482)
* Mutually reference Windows and non-Windows modules

To make it easier for Windows or non-Windows users to find the relevant
module information, we are mutually referencing both variants in their
documentation.

We are also adding a special note if a module works on both Windows and
non-Windows targets.

* Mutually reference Windows and non-Windows modules

To make it easier for Windows or non-Windows users to find the relevant
module information, we are mutually referencing both variants in their
documentation.

We are also adding a special note if a module works on both Windows and
non-Windows targets.

* Replace 'look at' with 'use', as requested

ci_complete
2017-06-26 16:26:53 +01:00
Abhijeet Kasurde 1f8575ec97 Remove get_exception from zypper (#25890)
Fix removes get_exception in favor of native Python exception
handling. Also, added to_native to manage exception message.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-26 14:30:51 +01:00
Patrik Lundin a439f45a18 openbsd_pkg: Handle versionless names with branch. (#26016)
* openbsd_pkg: Handle versionless names with branch.

This makes package names such as "openldap-server--%openldap" work.
Problem reported by Landry Breuil.

While here fix cornercase check for versionless packages and add some
more debug output to packet parsing.

Fixes #25910.

* openbsd_pkg: Split up lines to pass build checks.

===
The test ansible-test sanity --test pep8 failed with the following errors:
lib/ansible/modules/packaging/os/openbsd_pkg.py:383:161: E501 line too long (292 > 160 characters)
lib/ansible/modules/packaging/os/openbsd_pkg.py:398:161: E501 line too long (198 > 160 characters)
===
2017-06-23 12:25:41 -04:00
Brian Coca ff4c308359 fixed issue with empty string 'packages'
also cleaned up unused imports/vars
fixes #25582
2017-06-12 12:59:16 -04:00
Abhijeet Kasurde e160bcf237 Correct fail_json call in rpm_key
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-12 09:11:03 -04:00
Abhijeet Kasurde b89cb95609 Fix spelling mistakes (comments only) (#25564)
Original Author : klemens <ka7@github.com>

Taking over previous PR as per
https://github.com/ansible/ansible/pull/23644#issuecomment-307334525

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-12 07:55:19 +01:00
Ramon bc4a8dbaa4 fix proposal for issue #25151: [python3] pip failed to create virtual env when using custom command (pyvenv) (#25241)
* Fix proposal for bug 25151

* Fix proposal for bug 25151 - pip module, pyvenv validation

* Graceful fail when virtualenv_python is defined and virtualenv_command uses the venv module

* Making sure that venv is being used as a modue "-m venv"

* Updating syntax in validations

* Updating syntax in validations - fixing stupid typo "[)"

* Raising an error if virtualenv_command is pyvenv or venv and virtualenv_python is used

* trailing whitespace gone, pyvenv, venv validation and docs update

* cleaning whitespaces from blank lines
2017-06-05 17:03:15 -07:00
Peter Oliver d0d33262cb pkg5 with `latest` shouldn't ignore absent packages (#23006)
When the state is set to `latest` we should install absent packages, not just upgrade already-instaled packages.

This should fix #22823.
2017-06-02 01:10:24 +02:00
Peter Oliver ea56d18c99 Support check mode in pkg5 module. (#23008) 2017-06-01 23:59:07 +02:00
Abhijeet Kasurde 07be5f2b67 spelling fixes (non-trivial, changing messages) (#25094)
Multiple spell fixes in single commit.
Taking over existing PR as per comment -
https://github.com/ansible/ansible/pull/23645#issuecomment-304312275

Original Author: klemens <ka7@github.com>

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-06-01 10:45:19 +01:00
Evgeni Golov 1f78715848 apt: include arch in check for installed packages on multi-arch systems (#24846)
* apt: include arch in check for installed packages on multi-arch systems

Thanks: Stefan Löwen <stefan.loewen@gmail.com>

Fixes: #24673

* add an integration test for apt's multi-arch handling
2017-05-30 16:09:43 -04:00
Brendan Almonte 2af5556901 Added autoclean/autoremove for the apt module
- Removed alias autoclean from autoremove.
- Added independent execution of apt-get autoclean/autoremove
- Continued to support --auto-remove as a flag to install/remove

Fixes #22222 #24718
2017-05-25 14:18:20 -07:00
Robin Roth 8fca263560 Refactor zypper version parsing and handling (#24056)
Fixes #23516
2017-05-25 17:05:25 -04:00
Brendan Almonte b820d024fc Add alternative syntax for upgrading all installed packages via apt (#25007)
syntax: 'apt: name=* state=latest'

feature #24189
2017-05-24 16:04:38 -07:00
tdtrask 0d761e4568 Add apk available and repository (#24146)
* apk: Allow update and upgrade in same task

* apk: Add repository option

* apk: Add available option

* apk: Add stdout and stderr output where possible

* apk: Add packages return with list of changed packages
2017-05-24 12:28:41 -04:00
kgottholm 5240e5a230 Vertica schema fix (#24915)
* replace deprecated cmp() with custom conditional
cmp is not present in Python3 but several modules use it
Reference 24756
2017-05-23 10:49:54 -07:00
Dylan Silva bba4549b43 Downgraded more modules from Curated to Community (#24751) 2017-05-18 08:28:41 -07:00
Kevin Howell 65f0668475 Add pool_ids option to redhat_subscription (#23266) 2017-05-12 14:10:41 -04:00
Dylan Silva fc3cc73b73 Downgrading module from core to community (#24463) 2017-05-11 08:05:49 -07:00
Martin Kopta c4ad0f86c7 fixed yum.parse_check_update regex (#24331)
Output of `yum check-update` can contain lines with long package names and long
repository label names, which will be broken into multiple lines, which need to
be sanitized. The solution to this has been fixed and refactored in 2.3 in form
of parse_check_update(), but it still contains subtle bug, which makes such
multi-lines invisible to later logic (such packages aren't included in
parse_check_update()) output. The problem is caused by using '\1' in re.sub(),
instead of proper r'\1', which literally puts unicode symbol \1 into resulting
output.
2017-05-05 17:01:30 -04:00
Alberto Murillo Silva 136a6eec9e dnf: Add autoremove option
This allow users to write better playbooks by replacing

- shell: dnf autoremove -y
with
- dnf: autoremove=yes

Fixes #18815

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2017-05-04 13:52:16 -07:00
Ritesh Khadgaray fb6e9e8fbe rhn+register: do not pass username/passwd for registration if none is specified. (#24244) 2017-05-03 12:12:16 -04:00
Kevin Howell a93aa6dc04 Fix typo in rhsm.configure (system -> server) (#24179)
This fix makes it so that the module works as expected when
`server_hostname` is provided. It was being silently ignored
previously. I suppose this may also fix similar behavior with
`server_insecure`, but I did not check that explicitly.
2017-05-03 11:08:58 -04:00
Thomas Bilk ن 77e550192c Added Composer Command global (#24158)
* Added Composer Command global

Added a parameter to run composer commands globally. The `working_dir`
parameter is only required if `global_command` is `False`.

Fixes #24052

* Added Composer Command global

Added a parameter to run composer commands globally. The `working_dir`
parameter is only required if `global_command` is `False`.

Fixes #24052
2017-05-01 21:11:34 +02:00
Abhijeet Kasurde 8ba069315e Pylint fixes for packaging (#23553)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-01 10:25:39 -05:00
Abhijeet Kasurde 86a63cfcd7 Handle fetch_url error gracefully (#23821)
Fix adds http response code check for fetch_url.
Also, method in fetch_url call.

Fixes https://github.com/ansible/ansible/issues/23800

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-04-26 10:35:40 -05:00
Andrea Tartaglia d1517f997a fixed RETURN docs for modules (#24011)
* fixed RETURN docs for remaining modules

* updated proxymysql_mysql_users 'sample' to yaml dict

* fixed whitespace errors
2017-04-26 15:56:13 +01:00
Abhijeet Kasurde d16fe5bef3 Minor typo and PEP8 fixes for dnf module (#23845)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-04-26 12:57:49 +01:00
Indrajit Raychaudhuri 45252b79be pacman: Fail fast when 'rc != 0'
We fail-fast and display 'stderr' in case 'pacman' returns with 'rc != 0'.
There is no point computing 'module._diff' in such case anyway.

Fixes #23910

(cherry picked from commit 8c6a2a848cf6a6d6522c8f5be56decf8df1ed6ab)
2017-04-24 21:12:20 -04:00
Kevin Brebanov 5775bb2a4e apk: Fix regex search patterns
Regex patterns were not being escaped properly so package names
containing characters that could be interpreted as regex symbols
were causing failures.

Fixes: #19714
2017-04-18 15:07:55 +02:00
Abhijeet Kasurde ba3295dd3f Pylint fixes for yum module
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-04-11 16:31:35 -07:00
Toshio Kuratomi b4f976e9b9 When apt errors, include it's exit code
We invoke /usr/bin/apt inside of the ansible module.  When that command
exits, it doesn't always include a helpful error message.  Include the
exit code so that user's have all the information we can gice them as to
why apt failed.

Addresses #19128
2017-04-10 11:41:09 -04:00
Indrajit Raychaudhuri 971187e54c pacman: Fix package matching pattern in upgraded package list (#23433)
(cherry picked from commit 9a850db605a2db3c4f7f1cbc5bf88a8852ea17c4)
2017-04-09 11:39:40 +02:00
Lucas Alvares Gomes cee8cc2a52 rpm_key: Decode bytes to string to work with Python 3 (Fixes #20326) (#20385)
* rpm_key: Decode bytes to string to work with Python 3 (#20326)

The read() method will return bytes we need to then decode() those bytes
to a string before trying to match() it using the re module.

* Make the rpm_key pgp regex more robust on both py2 and py3
2017-04-07 16:22:39 -07:00
Tim Rupp e27b4c2ae4 Removes expanduser in favor of type path
Removes the usage of expanduser in favor of the type 'path' for
module options. Related to #12263
2017-03-31 00:24:38 -04:00
Dr Josef Karthauser 0752906ae5 Add --jail support to pkgng. (#22958)
* Add --jail support to pkgng.

* Bump the version number for the --jail argument.
2017-03-28 17:38:47 -04:00
Toshio Kuratomi d0712b1ec7 Make yum's state=list obey disablerepo and enablerepo
Fixes #22876
2017-03-23 12:10:59 -07:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
John R Barker e5b990a55a Fix invalid fields in module DOCUMENATION (#22297)
* fix module doc fields

* More module docs corrections

* More module docs corrections

* More module docs corrections

* More module docs corrections

* correct aliases

* Review comments

* Must quote ':'

* More authors

* Use suboptions:

* restore type: bool

* type should be in the same place

* More tidyups

* authors

* Use suboptions

* revert

* remove duplicate author

* More issues post rebase
2017-03-09 16:20:25 +00:00
Alex Chvatal f1d8d7ba13 include upgraded packages in pacman upgrade action (#20713)
* include upgraded packages in pacman upgrade action

* display upgraded packages as diff output for pacman upgrade

* document the packages return key

* add --diff support for installing, removing and checking packages

* include package versions in pacman diff output
2017-03-08 10:32:02 -05:00
René Moser e0d38fb137 composer: fix escape working_dir (#22363)
* composer: fix escaping of path working_dir

* composer: fix pep8
2017-03-07 20:51:04 +01:00
Kamil Cholewiński ec9582fd83 Fix invocations of module.fail_json with no msg=
Bonus: add missing % in cs_nic.py
2017-03-07 10:17:14 -05:00
Clemens Weiß 7018aa3316 Update expired keys (#21539)
If a key has expired it will not be added by this module, so check for "expired" in the list of keys.
Example output with expired key:

pub   1024D/5072E1F5 2003-02-03 [expired: 2017-02-16]
uid                  MySQL Release Engineering <mysql-build@oss.oracle.com>
2017-03-03 20:53:21 +01:00
Brian Coca 7966beb6c9 minor fixes to apt
fixes #22124
2017-03-02 13:56:58 -05:00
William L. Thomson Jr b7229b0467 Adds latest to portage module (#21918) 2017-02-27 10:19:26 -05:00
Adrian Likins ae1a610482 Rhsm pool not name 3898 (#21911)
* Subscibe to pools matched by id before name matches.

If the pools regex matches any pool ids, then subscribe only to those pools.
If there are no pool id matches, then attempt to match the regexp and pool names.
If there are pool name matches, subscribe to those pools.

Fixes #19466, https://github.com/ansible/ansible-modules-core/issues/3898 (partially)

* Add pool id/name matches to 'to keep' list

use subscribe() to use the pools-first logic on update
2017-02-27 10:04:44 -05:00
Matt Martz 305c88700d PEP8 E712 fixes (#21916) 2017-02-24 16:49:43 -06:00
Pavel Malyshev 7063db64c2 redhat_subcription module accepts id in the pool argument [#3898] 2017-02-24 10:38:46 -05:00
Matt Clay 4554e8d769 Remove unnecessary shebangs and execute bits. 2017-02-22 18:13:46 -08:00
James Cooke 8ec28a2ba4 Download remote apt deb file in bytes mode in Python 2 and 3
Fixes #19710
2017-02-21 14:26:58 -08:00
Veaceslav Mindru cdcdc1d81b #19587 add yum skip-broken (#21475)
* #19587: refactor to PEP8

* Issue: #19587: add skip_broken option to yum module
PNTSYSOPS-1901 - internal reference

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>

* Issue: #19587: fix line break, attempt to make readble

        things at line 646 look ugly ..
        trying to make them look a bit more human readble
        though the entire approach should be rewriten

PNTSYSOPS-1901 - internal reference

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>

* #19587: fixing typo, skip-broken has to be passed as list

* PR: #21475: peer review changes
            relates to: revert comment deletion https://github.com/ansible/ansible/pull/21475#discussion_r101574146
            relates to: remove irelevant var https://github.com/ansible/ansible/pull/21475#discussion_r101573388
            relates to: reformat https://github.com/ansible/ansible/pull/21475#discussion_r101572840

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>

* PR: #21475: peer review changes
            relates to: https://github.com/ansible/ansible/pull/21475#discussion_r101573736

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>

* Issue: #21475: fixing typo in the Man section

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>

* PR: #21475 - Peer review: revert variable a
        Relates to: https://github.com/ansible/ansible/pull/21475#pullrequestreview-22404868

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>

* Issue: 19587 - small correction

Signed-off-by: Veaceslav Mindru <vmindru@redhat.com> <mindruv@gmail.com>
2017-02-21 07:59:07 -08:00
Matt Martz 78a000502e YAML fixes for examples in additional modules 2017-02-15 13:01:43 -08:00
Matt Martz 7c00346714 Validate EXAMPLES as YAML 2017-02-15 13:01:43 -08:00
Adrián López e1761d7724 yum: improve disk usage when update_cache used (#21098)
* Marks metadata files as outdated

Eliminates time records of the metadata and mirrorlists download
for each repository. This forces yum to revalidate the cache for
each repository the next time it is used.

* Command arguments in two separate strings to be compatible if run_command implementation changes. Doc explains a little better what is that parameter doing
2017-02-14 18:53:14 +01:00
Tim Rupp b49d39c5db Removes usage of expanduser because of type path
The usage of type 'path' for the path option makes the use
of expanduser redundant. This patch removes the expanduser
call because the path type is already used for the path
option
2017-02-13 15:02:05 -05:00
Robin Roth 82eaa9735c Add try/except around xml parsing in zypper
Zypper sometimes produces invalid XML. Catch that in a nicer way.

Potential future improvement: Work around broken XML by removing some
sections.
2017-02-13 12:28:22 -05:00
Dag Wieers f824b2ce8d Avoid having module documentation links to itself (#21329)
* Avoid having module documentation links to itself

A lot of modules use M(own_module) in their documentation causing a link
in the documentation to itself.

* Make note more clear now
2017-02-13 14:02:34 +00:00
Brian Coca 74e8aa22af no log passwords (#21229)
* no log passwords

* removed unneeded no_log
2017-02-10 15:13:59 -05:00
Alberto Murillo aba2b38b07 Add swupd plugin (#20834)
* Add swupd plugin

Add support for ClearLinux update manager (swupd)

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>

* swupd: Document RETURN values

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>

* swupd: Add a meaningful description for failures

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>

* swupd: Clarify documentation

Provide more information about the options supported by the module
since some concepts are new for people not used to clearlinux/swupd

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2017-02-10 13:55:27 -05:00
Adrian Likins e511326222 Fix 'yum skips updates' bug (#21113)
* Fix 'yum skips updates' bug

When the 'yum check-update' output is parsed, the regex used
to stitch wrapped lines together would fail on the first package.

It would fail because there is an empty line before the first
package, and this triggered the regex. To avoid a more complicated
regex, preprocess the check-update output to strip out any
empty lines.

The regex is also updated to include a group on the non whitespace
match to be used in the sub.

Add test cases based on info provided in the bug reports.

Fixes #20608
2017-02-08 16:07:43 -05:00
Marius Gedminas 577d0e43ba apt_repository: check for enabled repositories correctly
Fixes #20754.

Details: UbuntuSourcesList.add_source() had a quick check for PPAs being
already present in the source lists.  The check was looking for the PPAs
URL to be present in self.repo_urls, which should contain all valid and
enabled repositories.

The enabled check in repo_urls was incorrect.  It was checking the tuple's
2nd item (which means "valid") and ignoring the 3rd item (which means
"enabled").

self.files contains tuples (line_number, valid, enabled, source_line,
comment_text).  Ideally it would be using named tuples instead of
indexing, to avoid bugs like that, but Python 2.4 didn't have named
tuples, so we can't do that (yet).
2017-02-07 18:42:57 -08:00
Adrian Likins 7278308ca2 Redhat subscription (#20729)
* Make unused redhat_subscriptions do something

rhsm_baseurl/server_insecure were module params that were
never used previously. Hook them up for register options.

* pep8/style cleanups
* Set a module scope SUBMAN_CMD before we ref it as a global
* move ansible imports to top, remove '*' imports
* remove redhat_subscriptions from pep8 legacy
2017-02-07 12:07:01 -05:00
Evgeni Golov 827723db90 use require_if to check for username or AK instead of custom code (#20937)
the logical or parameter to require_if was introduced in #20220
2017-02-06 13:53:12 -05:00
Daniel Andrei Mincă 62434d9955 update vague description of only_upgrade (#21050)
* the `only_update` param description was kinda vague:
  * either install if not installed
  * or upgrade if installed
  * or both!?
    * as a result, remove the "install" statement from this sentence

Resolves:
Related:
Signed-off-by: Daniel Andrei Minca <mandrei17@gmail.com>
2017-02-06 09:50:43 +00:00
Toshio Kuratomi f75ffe46db Make configparser imports python3 ready
the ConfigParser module was renamed to configparser in Python3.  Use
six.moves to import it so that the modules will function on Python3.
2017-02-03 21:15:34 -08:00
Matt Martz 829c0b8f62 Update validate-modules (#20932)
* Update validate-modules

* Validates ANSIBLE_METADATA
* Ensures imports happen after documentation vars
* Some pep8 cleanup

* Clean up some left over unneeded code

* Update modules for new module guidelines and validate-modules checks

* Update imports for ec2_vpc_route_table and ec2_vpc_nat_gateway
2017-02-02 11:45:22 -08:00
Adrian Likins b3b598c835 Rhn register misc fixes (#20724)
* Remove monkeypatching of rhn config in rhn_register

rhn_register.Rhn() was doing some complicated monkeypatching of
the up2date_client.config.Config() class to add a default config
value. Since that was only used in one place, remove the monkeypatch
and handle the single default case.

That case was 'server_url' option, so replace it with a Rhn.server_url
property. Also handle the error case when no server url is provided.

* refactoring
* flatten some indention levels
* add 'enable_eus' to module doc
* set enable_eus var and use it directly
* style/pep8/etc cleanups
* some import cleanups

types was unused, os/re were from module_utils * import

* remove * import from module_utils.redhat
* remove * imports from module_utils.base
* remove unused Rhn._subscribe method
* cleanup pep8 style stuff
* remove a unused default mutable arg from Rhn.subscribe

Rhn.subscribe() only gets called in one place, and thats
with channels from module_params which default to [] and
are typed as a list.
2017-01-31 15:23:27 -05:00
Matt Clay cb76200c7d PEP 8 E111 & E114 cleanup. (#20838) 2017-01-30 15:01:47 -08:00
Brian Coca 8030f6fd45 removed module merged by mistake with facts change
should be it's own PR
2017-01-30 15:11:15 -05:00
Toshio Kuratomi 1434d5f11f Fix for swupd documentation 2017-01-30 11:58:53 -08:00
Alberto Murillo Silva 108b5fc502 Add support for ClearLinux
* Set ansible_os_family to 'ClearLinux'
* Set ansible_distribution to 'ClearLinux'
* Add swupd.py plugin

Fixes #20824

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2017-01-30 14:12:20 -05:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay d0d1158c5e PEP 8 cleanup. (#20789)
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Matt Clay 95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Matt Clay 63b1e0c277 Fix infrequent PEP 8 issues. 2017-01-27 14:06:21 -08:00
Kamil Boratyński 9d8c1923ab [redhat_subscription]: fixed force option. (#20667)
`force` option is not unique for non-activationkey registrations and it should
be parsed separately; it is possible to register host with activation key and
force such process.
2017-01-26 13:28:24 -05:00
Evgeni Golov 47892a0034 redhat_subscription: Document & enforce org_id (#20548)
* redhat_subscription: enforce the need for org_id when AK is used

also update the documentation to reflect that

Fixes: #20542

* redhat_subscription: check for existence of subscription-manager
2017-01-26 13:22:30 -05:00
Jonathan Mainguy 39608128c5 Fixup documentation for the list option in yum module (#20605) 2017-01-25 11:35:28 +00:00
ABond cef0adfba0 Issue #20179 Fix doc string handler notify call (#20499) 2017-01-20 08:00:26 -05:00
Vladimir Rutsky 18c86bc814 pip: fix example with egg specification (#20371)
pip: fix example with egg specification
2017-01-18 12:40:51 +00:00
William Shallum 1e2bd3d483 maven_artifact: Make default repository_url work again (#19194) 2017-01-11 18:59:00 -05:00
Robin Roth 4976429e42 Zypper: Fix update_cache in checkmode (#20143)
Fixes #20139

Refresh does not support dry-run, so don't run it in check mode.
Also add a test for this case.
2017-01-11 18:47:16 +00:00
Robin Roth e4bfc2b84c Add ZYPP_LOCK_TIMEOUT environment example (#20130)
Retries to require lock for zypper operation.
2017-01-11 18:30:18 +00:00
Gaëtan Duchaussois f5c61650a7 Add information about lookup file constraint. 2017-01-10 13:20:00 -05:00
Romain Richard e341135431 Duplicated line in the documentation of the apt_repository module
Removing that extra line.
2017-01-10 12:28:37 -05:00
Toshio Kuratomi 08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
Toshio Kuratomi 95df8977b6 Fix yum install root (#19925)
* Reenable yum install root tests

No need for sos to test installroot.  Something with less deps works
just as well.

* Fix yum installroot.

Fix module import to use fail_json when the modules aren't installed.

Remove wildcard imports

* Lsat task is supposed to remove sos so make that happen
2017-01-05 10:42:43 -08:00
Dag Wieers e1fe403075 Inform user that the yum metadata cache remains (#19753)
This PR improves the documentation so that it is clear that this module does
not clean the repository metadata cache on removal, and add an example
notification handler to the removal example as an extra reminder.

This fixes #19730
2017-01-05 10:30:37 -08:00
Toshio Kuratomi cd2516bf8d Revert "Revert "Add --installroot to YUM and DNF modules, issue #11310""
This reverts commit b73ddd5212.
2017-01-05 00:24:20 -08:00
Matt Clay b73ddd5212 Revert "Add --installroot to YUM and DNF modules, issue #11310" 2017-01-05 00:14:33 -08:00
berenddeschouwer 1fdcda0996 Add --installroot to YUM and DNF modules, issue #11310 (#19861)
* Add --installroot to YUM and DNF modules, issue #11310

This continues ansible-modules-core#1558, and
ansible-modules-core#1669

Allow specifying installroot for the yum and dnf modules
to install and remove packages in a location other than /.

* Remove empty aliases

* Simpler installroot set default logic
2017-01-04 19:20:00 -08:00
Patrik Lundin ee5364f983 openbsd_pkg: make "name" take a list.
This commit also adds the module to DEFAULT_SQUASH_ACTIONS which is
possible with this change.

The module still calls the pkg_* tools once per name internally, so the only
difference is less invocations of the module itself when using with_items.
2017-01-04 18:45:31 -08:00
Toshio Kuratomi a33e34894b Move some modules into proper categories 2017-01-04 18:09:45 -08:00
Toshio Kuratomi 8469ea93d9 Remove unnecessary use of iteritems so that this compiles under python3 2017-01-04 17:39:34 -08:00
THEBAULT Julien ee1dee08b6 Check the command result status in easy_install plugin (#16519) 2017-01-04 17:17:30 -08:00
Joe Adams 337ea4d65c Add pulp_repo module for interacting with repositories on a pulp server. 2017-01-04 17:12:49 -08:00
Martin Bektchiev 1c13ddf7c8 Add @ to valid package name characters (#18862)
NodeJS formulae are now named node@<major_version>

E.g. https://github.com/Homebrew/homebrew-core/blob/master/Formula/node@6.rb
2017-01-03 21:05:37 +01:00
Jasper Lievisse Adriaanse 2eb8f4cc70 Add new 'clean' and 'quick' parameters, correspondig to -c and -q in pkg tools (#19680) 2016-12-26 20:57:37 +01:00
Matthew Gamble 8292cadc7f Tell pacman not to display progress bars
Displaying progress bars is not recommended for any scripted usage of
pacman, such as the ansible pacman module.
2016-12-20 09:47:25 -05:00
Matthew Gamble f24ab68f04 Improve and optimise pacman package installation
Previously, packages were installed one at a time in a loop. This caused
a couple of problems.

First, it was a performance issue - pacman would have to perform all of
its checks once per package. This is unnecessarily costly, especially
when you're trying to install several related packages at the same time.

Second, if a package you're trying to install depends on a virtual
package that is provided by several different packages (such as the
"libgl" package on Arch) and you aren't also installing something that
provides that virtual package at the same time, pacman will produce an
interactive prompt to allow the user to select a relevant package. This
is obviously incompatible with how ansible operates. Yes, this problem
could be avoided by installing packages in a different order, but the
order of installation shouldn't matter, and there may be situations
where it is not possible to control the order of installation.

With this refactoring, all of the above problems are avoided. The code
will now work out all of the packages that need to be installed from any
configured repositories and any packages that need to be installed from
local files, and then install all the repository packages in one go and
then all of the local file packages in one go.
2016-12-19 21:09:25 -05:00
Matthew c58461596a Support pacman packages using different types of compression (#19503)
It's possible to compress packages using several different compression
methods, or not compressed at all. Previously, the pacman module only
supported files compressed using xz. This update ensures that all
compression types currently supported by pacman are supported by the
ansible pacman module.

The list of supported compression methods at the time of writing can be
found here:
https://git.archlinux.org/pacman.git/tree/scripts/makepkg.sh.in#n747
2016-12-19 12:08:45 +00:00
Brian Coca 5d82fe545f minor docs and option fixes 2016-12-16 16:17:52 -05:00
Fabio Alessandro Locati f1b5dde4cb Improve YAML examples - packaging/kibana_plugin.py (#19409) 2016-12-16 09:08:38 +00:00
Carlos E. Garcia 0b8011436d minor spelling changes 2016-12-13 13:51:13 -05:00
Andrea Tartaglia ef391a11ec Removed dict.iteritems() in modules. (#18859)
This is for py3 compatibility, addressed in #18506
2016-12-12 15:16:23 -08:00
Vlad Glagolev 4b27d08643 dropped 'BOOLEANS' choices, converted env vars to str 2016-12-12 14:25:19 -08:00
Vlad Glagolev 45b2f4b479 Source Mage GNU/Linux package manager support (#19072)
* added alpha version of the 'sorcery' module

* fully conforming YAML

* use bundled check for executables

* - codex_list(): use commands instead of checksums to get sorcery version and verify codex equality - renamed: - manage_depends() -> match_depends() - tocast -> cast_queue, todispel -> dispel_queue, needs_recast -> depends_ok - SORCERY_LOG -> SORCERY_LOG_DIR, SORCERY_STATE -> SORCERY_STATE_DIR - removed: - SORCERY_VERSION_FILE - CODEX - added commentary to match_depends() and manage_spells() - fixed bug about dropped dependency line for previously existed dependency - fixed bug about not fixing depends for the 'latest' state - simplified several code constructions

* cleaned up some docs

* do not use separate message for Codex update, rely on the 'changed' status instead

* use built-in list conversion (_check_type_list()) for spells

* corrected spell name extraction from list in match_depends()

* avoid non-matching dependencies line duplication in depends file

* added more complex playbook example

* tiny stylistic fix for docs

* replaced ternary construction with a regular statement

* replaced yet another ternary construction with a regular statement

* enable Python 2.4 compatibility by splitting try-finally block

* enable Python 2.4 compatibility by replacing 'with' statement with try-except+try-finally blocks

* unify spells' assign

* replaced one regex with startswith()

* go Ansible 2.1

* added dummy RETURN template

* go Ansible 2.2

* better clarify permissions' requirements

* - updated copyright years - fixed rebuild command bug - re-used run_command_environ_update dict for env var management

* handle Python 3.5

* Revert "handle Python 3.5"

This reverts commit 33a5a0eb64c1193318298e111f063cdd5f93b73a.

* handle Python 3.5 (2nd try)

* go Ansible 2.3

* clarity++
2016-12-10 16:38:15 -05:00
Matt Clay c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
James Cammarata 011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00
James Cammarata 8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati 5edbbabe0b Call main in conditional way - packaging (#5826) 2016-12-08 11:25:35 -05:00
Fabio Alessandro Locati 8ae7d2dcc4 Unquote urls in YAML - packaging (#5793) 2016-12-08 11:25:34 -05:00
Toshio Kuratomi 52698596bc Clarify the comment 2016-12-08 11:25:31 -05:00
Toshio Kuratomi 91d98bb1a6 Older versions of rhn-client-tools don't understand containment tests. 2016-12-08 11:25:31 -05:00
Dag Wieers 54fdff16db Performance improvement using in-operator on dicts
Just a small cleanup for the existing occurrences.

Using the in-operator for hash lookups is faster than using .keys()
http://stackoverflow.com/questions/29314269/why-do-key-in-dict-and-key-in-dict-keys-have-the-same-output
2016-12-08 11:25:31 -05:00
Dag Wieers c843eeabc2 Performance improvement using in-operator for hash lookups
Just a small cleanup for the existing occurrences.

Using the in-operator for hash lookups is faster than using .has_key()
http://stackoverflow.com/questions/1323410/has-key-or-in
2016-12-08 11:25:31 -05:00
Sam Doran 2bb5ab9776 Change example syntax on pip module 2016-12-08 11:25:30 -05:00
Sam Doran d42f73f5e9 Change example syntax on gem module 2016-12-08 11:25:30 -05:00
Sam Doran 8a1bd4178a Change example syntax on easy_install module 2016-12-08 11:25:30 -05:00
Sam Doran 4c93d3edf0 Change example syntax on yum module 2016-12-08 11:25:30 -05:00
Sam Doran ea3c8ee406 Change example syntax on rpm_key module 2016-12-08 11:25:30 -05:00
Sam Doran 66c92d5623 Change example syntax on rhn_register module 2016-12-08 11:25:30 -05:00
Sam Doran 25af0652b9 Change example syntax on rhn_subscription module 2016-12-08 11:25:30 -05:00
Sam Doran 3208cf5abf Change example syntax on redhat_subscription module 2016-12-08 11:25:30 -05:00
Sam Doran 6c16ab6ca8 Change example syntax on package module 2016-12-08 11:25:30 -05:00
Sam Doran ca12f5acac Change example syntax on apt_rpm module 2016-12-08 11:25:30 -05:00
Sam Doran e4978ea98d Change example syntax on apt_repository module 2016-12-08 11:25:30 -05:00
Sam Doran b2ffded3a7 Change example syntax on apt_key module 2016-12-08 11:25:30 -05:00
Sam Doran f8ce66cbde Change example syntax on apt module 2016-12-08 11:25:30 -05:00
jctanner 019acfa9b0 Correct the handling of state=latest for yum groups. (#4141)
* Correct the handling up state=latest for yum groups.
* Use yum-deprecated when available

Fixes #4119
2016-12-08 11:25:27 -05:00
René Moser 447842c524 apt: fix changed when cache updated but not pkg (#5487) 2016-12-08 11:25:26 -05:00
Matt Martz 08ce50c2b3 If fetch_url failed to download the URL fail early with a proper error message. Fixes #5474 (#5476) 2016-12-08 11:25:26 -05:00
Matt Robinson df70a58d72 apt_repository: Relax PPA checks and add basename (#5432)
Allow installation of PPA repositories on non-Ubuntu Debian derived
distribution targets (e.g. neon, Mint, Debian itself) by removing the
specific check for UbuntuDistribution before allowing PPA: format
sources. This fixes the addition of PPA repositories under KDE neon (as
the codenames match the base Ubuntu distribution).

To make the functionality also useful under Mint and Debian which have
different codenames to their Ubuntu upstream / downstream releases, add
a 'codename' option to override the default used in the PPA source
entry.
2016-12-08 11:25:26 -05:00
Chris Becker fabb63c43f Add more specific language to module description and examples
* Add 'on the remote server' to `file` parameter description
* Add example showing how to use the `file` parameter, with specific
  language about the file's location being on the 'remote server'
2016-12-08 11:25:25 -05:00
jctanner 60dd2f1fff apt: update cache until corrupt package lists are fixed (#5448)
* apt: If the cache object fails to lost due to a corrupt file, try to update the cache until it is fixed.
* Append -q to the update parameters
* Remove unused variable
* Use a string that doesn't rely on internationalization
* Use py24 exception style
* Use get_exception

Fixes #2951
2016-12-08 11:25:25 -05:00
Toshio Kuratomi 0d74ae3368 Need to locate a pip inside a venv when venv is specified
Alternative to #5359

Fixes #5347
2016-12-08 11:25:24 -05:00
Evgenii Terechkov da71acf1bf Replace dangerous shell calls with module.run_command 2016-12-08 11:25:23 -05:00
Evgenii Terechkov 8fd4785062 Ensure that we use shell
to run apt-get -y install ... >/dev/null

this commit must fix #2839
2016-12-08 11:25:23 -05:00
Toshio Kuratomi e2fce828f6 Order of return values was reversed 2016-12-08 11:25:23 -05:00
Toshio Kuratomi 9aac87e08c Fix builddep when a source package exists without a binary package
builddep only requires a source package to be in the repos but our code
was checking for a binary package before running buiddep.  Reversing the
order makes it work correctly.

Fixes #4519
2016-12-08 11:25:23 -05:00
Toshio Kuratomi b8279e7447 Only change to short IDs for delete (#5353)
* Only change to short IDs for delete

If the user specifies long IDs, use them for all commands except for
deleting a key.  Need to use short IDs there because of an upstream
apt_key bug.  Fixed in apt_key 1.10 (fix is present in Ubuntu 16.04 but
not Ubuntu 14.0 or some Debians).

Fixes #5237

* Check that apt-key really erased the key

When erasing a key, apt-key does not understand how to process subkeys.
This update explicitly checks that the key_id is no longer present and
throws an error if it is.  It also hints at subkeys being a possible
problem in the error message and the documentation.

Fixes #5119

* Fix apt_key check mode with long ids

apt-key can be given a key id longer than 16 chars to more accurately
define what key to download.  However, we can use a maximum of 16
chars to verify whether a key is installed or not.  So we need to use
different lengths for the id depending on what we're doing with it.

Fixes #2622

Also:

* Some style cleanups
* Use get_bin_path to find the path to apt-key and then use that when
  invoking apt-key
* Return a nice user error message if the key was not found on the
  keyserver
* Make file and keyring parameters type='path' so envars and tilde are
  expanded
2016-12-08 11:25:23 -05:00
Toshio Kuratomi ff6bac126e On Ubuntu16, virtualenv always tries to use python2 even when python2 is not installed.
Workaround that by mimicing the upstream virtualenv behaviour in code
(use the python version that was used to invoke virtualenv/the ansible
module)
2016-12-08 11:25:22 -05:00
Filip Hubík 9a2d8337f2 Fix incorrect line wrapping in output from yum check-updates
https://github.com/ansible/ansible-modules-core/issues/4318#issuecomment-251416661
2016-12-08 11:25:22 -05:00
Dag Wieers 858d02ac4c Ensure yum failures in with-loop result into a failed task
The implementation is fairly simple, we force the rc= parameter to not be zero so that the check in _executor/task_result.py_ correctly determines that it failed. Without this change Ansible would report the task to be ok (despite failed=True and msg=Some_error_message) although Ansible stops and the summary output reports a failed task.

This fixes #4214, #4384 and also relates to ansible/ansible#12070, ansible/ansible#16006, ansible/ansible##16597, ansible/ansible#17208 and ansible/ansible#17252
2016-12-08 11:25:21 -05:00
Michael Scherer 9e3058c323 Make pip module use pip3 on python 3 2016-12-08 11:25:21 -05:00
Alfredo Solano 88d7f0c692 apt: doc: use yaml syntax in examples (#5070) 2016-12-08 11:25:20 -05:00
John R Barker 25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
John Barker bca8bbe7c2 Correct functional typos 2016-12-08 11:25:19 -05:00
Kevin Carter e2e7f20e34 apt: fix cache time handling (#1517)
This change is in response to issue #1497 where the apt module would not properly updating the apt cache in some situations and never returned a state change on cache update when the module was used without or without an item to be installed or upgraded.

The change simply allows the apt module to update the cache when update_cache option is used without or without a set cache_valid_time.
If cache_valid_time is set and the on disk mtime for apt cache is ">" the provided amount of seconds, which now has a default of 0, the apt cache will be updated. Additionally if no upgrade, package, or deb is installed or changed but the apt cache is updated the module will return a changed state which will help users to know that the state of the environment has changed due to a task operation, even if it was only an apt cache update.

fixes #1497

Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-12-08 11:25:14 -05:00
Toshio Kuratomi 77975c232b Fix pip freeze workaround with virtualenv (#4951) 2016-12-08 11:25:12 -05:00
Toshio Kuratomi a8fbdcd80d pip list isn't available on pip less than 1.3 so make a fallback (#4947) 2016-12-08 11:25:12 -05:00
Toshio Kuratomi e2963c0e25 Fix parsing of pip output 2016-12-08 11:25:12 -05:00
Rob Cutmore 15b41d2718 Pip: use 'pip list' when available for package list (#4644)
* Pip: handle parsing different pip commands

* Pip: use 'pip list' when available

* Pip: explicitly check which command is used

* Pip: add error checking when fetching packages
2016-12-08 11:25:11 -05:00
Will Thames 10af591da2 Check whether yum file or URL install is an upgrade (#4547)
Rather than just checking whether a package with the right
name is installed, use `local_nvra` to check whether the
version/release/arch differs too.

Remove `local_name` as it is a shortcut too far.

Fixes #3807
Fixes #4529
2016-12-08 11:25:11 -05:00
Matt Clay 49692e98eb Fix python 3 issues with apt* modules. (#4848)
- Use range instead of xrange.
- Use python3-apt package for python 3.
- Eliminate unsupported for/else/raise usage.
- Use list on dict.items when modifying dict.
- Update requirements documentation.

Also made non-intrustive style fixes (adding blank lines).
2016-12-08 11:25:05 -05:00
Matt Clay e8f70f25df Python 3 fixes for apt_* modules. (#4754) 2016-12-08 11:25:03 -05:00
Toshio Kuratomi 5bd9cdad5a We've decided that pythn 3.5 is the minimum python3 version (#4572) 2016-12-08 11:24:57 -05:00
Guillaume Delpierre 90bf5434d0 gem: add support for --env-shebang (#4377)
* gem: add support for --env-shebang

* fix version added
2016-12-08 11:24:55 -05:00
Alexey Sheplyakov 8d4fe2a767 apt_key: fix spurious failure to import a subkey (#4366)
Importing a (sign only) subkey with apt_key module always fails,
however the actual keyring gets created and contains the correct keys.
Apparently the all_keys function skips the subkeys, hence the problem.

Fixes #4365
2016-12-08 11:24:50 -05:00
Evan 7b66bdc1c4 pip: Fix uninitialized variable during check_mode (#4379)
During check_mode (`--check`), the variable change could be
used uninitialized, yielding this error:

`UnboundLocalError: local variable 'changed' referenced before assignment`

This changeset simply initializes it to False.
2016-12-08 11:24:49 -05:00
Jan Hutař 5eb4e0dd0d Add way to specify environment (#3453) 2016-12-08 11:24:43 -05:00
Brian Coca ad996f162b name was the issue, not pkg 2016-12-08 11:24:41 -05:00
Brian Coca d8e91f01b0 protect another portion against None name 2016-12-08 11:24:41 -05:00
Brian Coca 506e6ff2e2 another fix for None in name 2016-12-08 11:24:41 -05:00
Brian Coca c871f488eb avoid traceback when name is None 2016-12-08 11:24:41 -05:00
Brian Coca f874c29dff allow pip to take a list of names (#4056)
also simplified argspec by removing defaults
2016-12-08 11:24:41 -05:00
Adrian Likins e2bd4a87d8 Update docs and internal naming s/RHN/RHSM (#3977) 2016-12-08 11:24:41 -05:00
Adrian Likins 09b34c764a Add 'force_register' to redhat_subscriptions (#3976)
Fixes #2448
2016-12-08 11:24:41 -05:00
Adrian Likins 127b854d2c Fix default perm for apt_repo files. (#4072)
Change the file mode arg to 'raw' ala file args

Following the file_common_args model, change the
type of the 'mode' arg here to type='raw' with no
default arg value.

The default mode for file creation is the module
constant DEFAULT_SOURCES_PER, and is used if no
mode os specified.

A default mode of 0644 (and not specified as int or str)
would get converted to an octal 420, resulting in the
sources file being created with mode '0420' instead of '0644'

Fixes #16370
2016-12-08 11:24:41 -05:00
Brian Coca f9cb5ecc3c removed extra space
as pointed out by @lloydbenson
2016-12-08 11:24:40 -05:00
jctanner 4480b8d37f Cleanup unused variable in yum.py (#4009) 2016-12-08 11:24:40 -05:00
Erik Nadel 4619513d9e apt remove now recognizes the force parameter (#3756) 2016-12-08 11:24:39 -05:00
mattymo 5692d28f93 Add retries to apt_key with keyserver, fixes #3986 (#3987)
Public SKS gpg servers frequently are unavailable, but a retry
can mitigate frequent failures.
2016-12-08 11:24:39 -05:00
jctanner 17ebf51bd4 Add local and url support to yum state=latest (#4003)
Fixes #3807
2016-12-08 11:24:39 -05:00
René Moser b7265d7b28 apt: fix deb=file with --diff does not show diff on upgrades (#3826) 2016-12-08 11:24:33 -05:00
René Moser a85d9930c5 apt: fix KeyError for deb=file (#3816)
Fix KeyError: 'prepared' while installing dependencies using deb=<file>.deb
This error shows up when --diff was not passed by and the deb files has dependencies not yet installed.
Closes #3752.
2016-12-08 11:24:33 -05:00
james-prior 68b9c2ffa7 Make explicit that virtualenv is created if needed for pip module. (#3731)
packaging/language/pip.py:
    virtualenv option:
        Mention that virtualenv is created if it does not exist.
            (Explicit is better than implicit.)
        Mention other relevant options.
    notes:
        initialized -> created
    Wrap long lines.
2016-12-08 11:24:31 -05:00
Michael Scherer b8175f70ce Convert packaging/* to py3/py2.4 syntax (#3702) 2016-12-08 11:24:30 -05:00
Matt Martz a2d94c85e9 2 Module fixes (#3611)
* Fix syntax error in azure_rm_virtualmachine.py

* Allow rhn_register to fail gracefully when rhn-client-tools is not installed
2016-12-08 11:24:30 -05:00
René Moser 326f7166c0 apt: fix always changed when using deb file on Debian 8 (#3541)
Extends d74e82a3f1e3293ffb70c172e5bb2b6e1ff6dbcc with also support
downgrade.
2016-12-08 11:24:26 -05:00
Pomin Wu d997c79487 Fixed #3577 (#3578)
Initialize `upgradable` before use.
2016-12-08 11:24:26 -05:00
Toshio Kuratomi 5f0dc2b90f Some beginning python3 porting for modules which have unittests 2016-12-08 11:24:24 -05:00
Michael Scherer ce0be575e2 Change gem_source and executable to 'path'
Both of them are file location, so they should be
marked as 'path'.
2016-12-08 11:24:24 -05:00
Adrian Likins 4141cc5548 improve redhat_subscription documentation (#3348)
* add subscription-manager's --type, --consumerid, --name option support

* redhat_subscription: More docs on consumerid
2016-12-08 11:24:19 -05:00
Michael Scherer 69f2b3d727 Fix error reporting for fetch_key (#2662)
Since fetch_url already take care of the exception, the try/except
clause is no longer working, so replace it with proper status
checking, thus permitting to remove urlib2 from the import list.
2016-12-08 11:24:19 -05:00
Jan Hutař d91f803897 Add support for Satellite/Spacewalk which have slightly different API to Hosted (#3289) 2016-12-08 11:24:19 -05:00
Toshio Kuratomi 9e9b6a24f4 Fix apt module needing another format character 2016-12-08 11:24:19 -05:00
NielsH 1b94aa2d43 Resolve idempotency issue with virtual apt package (#3449)
Virtual packages were always marked as upgradable which caused the changed-state even though nothing changed.
2016-12-08 11:24:18 -05:00
Tobias Wolf fb5a91d9d1 Add diff to apt.py (#2944)
for install, remove, deb_install, and upgrade.

Since apt has very commonly familiar output, just use the normal output
from apt-get or aptitude -- trimmed to the interesting parts -- to show
to the user if she specified --diff on the CLI.

Uses the recent support for the `diff['prepared]` key.

Fixes ansible/ansible#10239
2016-12-08 11:24:18 -05:00
Oleg Senin 7ceaafbbd2 Correct misspell (#3454) 2016-12-08 11:24:18 -05:00
John Barker b3bc4bc97f Add copyright notice for James Laska 2016-12-08 11:24:17 -05:00
Adrian Likins 2a7324a385 Update redhat_subscriptions 'server_insecure' docs (#3373)
'server_insecure' maps to the subscription-manager config
(/etc/rhsm/rhsm.conf) value for 'insecure' key in the
'server' stanza. The 'insecure' configures if the https connection
to 'server_hostname' is verified as having been issued by
a CA in 'ca_cert_dir' trust store.

Previous documentation indicating it disables https and
enables http was inaccurate. Connection to server_hostname
always uses https.
2016-12-08 11:24:17 -05:00
Jan Hutar 45076bddb9 Add missing parameters so these options are usable 2016-12-08 11:24:15 -05:00
Michael Scherer 65243dfb91 Fix type of the rhn_register module
Password and activationkey should be tagged as no_log, as they
are supposed to be secret.
sslcacert is a path, so should be tagged as such.
2016-12-08 11:24:15 -05:00
Hugh Saunders 92ebeffd6c Retry apt cache updates 2016-12-08 11:24:14 -05:00
Strahinja Kustudić db45268b75 Yum module always downloads remote rpms. fixes #1452 2016-12-08 11:24:14 -05:00
Rene Moser 775521e5cb apt: doc: fix missing version_added
see #2023
2016-12-08 11:24:13 -05:00
Chris Lamb c012358d57 os/apt.py: Add support for passing --allow-unauthenticated
This is useful for packages that bootstrap their own apt-key setup - only
the initial installation will require overriding. Notable examples are the
Dropbox and Google Chrome packages.

(Setting force=yes is far too strong: I only want to bypass
authentication!)

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2016-12-08 11:24:13 -05:00
Toshio Kuratomi b70d691832 Fix indent in documentation 2016-12-08 11:24:13 -05:00
Raphaël Dubigny 71c50aed24 typo in pip module 2016-12-08 11:24:13 -05:00
Roland Sommer 0c1cf5ee1c honour 'only_upgrade' flag for 'build_dep' case in 'apt' module 2016-12-08 11:24:13 -05:00
toshihisa 7fee8a78c9 One more bug yum non English locales
d7fac82f97
2016-12-08 11:24:12 -05:00
Roland Sommer c96d5245f5 add 'only_upgrade' switch to apt module 2016-12-08 11:24:11 -05:00
Matt Martz ad9c487391 Set version_added to 2.1 for autoremove. Fixes #3200 2016-12-08 11:24:10 -05:00
Matt Martz b4bab770f6 pip module should call exit_json for absent as well (indentation error) 2016-12-08 11:24:10 -05:00
Tobias Wolf 3a00d2bb38 Add diff support to apt_repository module
The returned list of diffs aims to simulate how a file system diff would
look before and after writing the sources list files.

![screenshot](http://i.imgur.com/dH6QXtY.png)

n.b. Ternary conditional  is due to failing integration test for
python 2.4
2016-12-08 11:24:10 -05:00
Stefano Mazzucco 04e9677ae0 'executable' and 'virtualenv' mutually exclusive
fixes https://github.com/ansible/ansible/issues/14415
2016-12-08 11:24:09 -05:00
callipeo 4331fcae34 Add support for both keyserver and keyring in apt_key
Fixes Issue #2996
2016-12-08 11:24:09 -05:00
Matt Clay 53b0fd65ee Split shell command to avoid use_unsafe_shell.
This mirrors a nearly identical change made to apt_repository.py.

Also removes the use of apt-get --force-yes as it can be dangerous
and should not be necessary (apt_repository.py does not use it).

Repeating the explanation from the apt_respository change below:

Since use_unsafe_shell is suspicious from a security point
of view (or it wouldn't be unsafe), the less we have, the less
code we have to thoroughly inspect for a security audit.

In this case, the '&&' can be replaced by doing 2 calls to run_command.
2016-12-08 11:24:09 -05:00
Jonathan Mainguy 44bde46097 Add ability to download deb from url
if :// in deb, will try to download from url.
2016-12-08 11:24:09 -05:00
Brian Coca 2ed38b79cb expanded info on fail on check + missing apt-python
it now explains that apt module will auto install
2016-12-08 11:24:05 -05:00
Matt Clay 4288150270 Do not install python-apt in check mode. 2016-12-08 11:24:04 -05:00
Toshio Kuratomi 03fc2c0c79 use new method of setting locale and other environment variables
The old method left settings in the environment.  The new method takes
care of clearing them after use.  In this module, the old method was
also setting the environment too late to affect all the command line
tools which lead to a bug.

Fixes https://github.com/ansible/ansible/issues/14264
2016-12-08 11:24:03 -05:00
Charles Paul 3e841c04d2 adding autoremove to apt 2016-12-08 11:24:03 -05:00
Joel Thompson d8d8d7da64 Add umask option to pip module
On systems with restrictive umasks, the pip module won't allow you to
install pip packages that are usable by everyone on the system. This
commit adds a umask option to optionally override the umask on a
per-package basis.
2016-12-08 11:24:02 -05:00
Matt Clay b02eb232b0 Show error if python-apt is absent in check mode.
Previously this would fail with an exception which
did not clearly explain the reason for the failure.
2016-12-08 11:24:01 -05:00
Michael Scherer 63490709e6 Do not use a shell construct for rhnreg_ks
Since there is no shell escape of the password parameter, a password with
a single quote (or even worst, a single quote and a pipe) could have
unattended consequences. Also, the less we use use_unsafe_shell=True, the
better.
2016-12-08 11:24:01 -05:00
Toshio Kuratomi f4c9c4596f Fix for yum's use of rpm with non English locales
Depends upon https://github.com/ansible/ansible/pull/14025

Fixes https://github.com/ansible/ansible/issues/13996
Fixes https://github.com/ansible/ansible/issues/13975
2016-12-08 11:24:00 -05:00
Evgeny Vereshchagin 8f23e54a80 apt-key: convert ids to the 'short' format
Fixes:
$ ansible all -m apt_key -a 'state=present id=7A82B743B9B8E46F12C733FA4759FA960E27C0A6 keyserver=hkp://keyserver.ubuntu.com:80' --sudo
127.0.0.1 | SUCCESS => {
    "changed": true
}

$ ansible all -m apt_key -a 'state=absent id=7A82B743B9B8E46F12C733FA4759FA960E27C0A6' --sudo
127.0.0.1 | SUCCESS => {
    "changed": false
}

$ apt-key export 7A82B743B9B8E46F12C733FA4759FA960E27C0A6
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
...

See https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1481871
2016-12-08 11:24:00 -05:00
Michael Scherer 519e699b98 Split a shell snippet in 2 to avoid using use_unsafe_shell=True
Since use_unsafe_shell is suspicious from a security point
of view (or it wouldn't be unsafe), the less we have, the less
code we have to toroughly inspect for a security audit.

In this case, the '&&' can be replaced by doing 2 calls to run_command.
2016-12-08 11:24:00 -05:00
Albert Mikaelyan a61095b0b1 Update yum.py 2016-12-08 11:23:59 -05:00
Matt Clay d861329d5e Added filename option to apt_repository module. 2016-12-08 11:23:58 -05:00
Brian Coca e2062c44d9 made note about choice availability in ansible ver 2016-12-08 11:23:57 -05:00
Arata Notsu a9f23ac54f apt: export env vars before run dpkg
Without this change, some trouble may occur when "deb" parameter
is used as env vars controlling dpkg are not set. For example,
installing a package that requires user input will never end since
DEBIAN_FRONTEND=noninteractive is not set.

So export env vars in APT_ENV_VARS before run dpkg, like in cases
using apt-get/aptitude.
2016-12-08 11:23:56 -05:00
Barnaby Court 73d47ec7a4 add no_log to the password parameter 2016-12-08 11:23:55 -05:00
Michael Scherer d321670b38 Add more precise documentation on the requirements parameter
Fix #427
2016-12-08 11:23:55 -05:00
Martin Matuska 4cce825ae9 rhn_register: add sslcacert and systemorgid options 2016-12-08 11:23:55 -05:00
stephane 40e7ed9518 Add support for pip force-reinstall
The pip command allows a user to force reinstallation,
but the module doesn't currently support it. Add
"force-reinstall" as a possible state.
2016-12-08 11:23:54 -05:00
Toshio Kuratomi 687257bd62 Use rpm instead of repoquery for is_installed()
* This keeps us from hitting bugs in repoquery/yum plugins in certain
  instances (#2559).

* The previous is also a small performance boost

* Also in is_installed(), when using the yum API, return if we detect
  a package name has been installed.  We don't need to also check
  virtual provides in that case.  This is another small performance
  boost.

* Sort the list of packages returned by the list parameter.
2016-12-08 11:23:52 -05:00
Veaceslav Mindru fa98f55c44 fix typo s/defaults/default 2016-12-08 11:23:52 -05:00
Daniele Varrazzo a057431a78 Detect unchanged pip runs when using a vcs url in name
Should fix bug #1645
2016-12-08 11:23:51 -05:00
Daniele Varrazzo 53e1310a7f Use 'pip freeze' output to detect changes with requirement specified
If the requirements contains a repos url it will always report 'Successfully
installed'; there is no difference in the output to tell apart if
anything new was pulled. Use freeze to detect if the environment changed
in any way.

Should fix ansible/ansible#1705
2016-12-08 11:23:51 -05:00
Daniel Kimsey a8f7fda210 Fix yum module failing to initalize yum plugins 2016-12-08 11:23:51 -05:00
Veaceslav Mindru 0f456d7e61 adding validate_certs for YUM. #2582 2016-12-08 11:23:50 -05:00
Charles Ferguson ac1e4bf6e0 Update the documentation of the 'apt' action for the 'name'.
The package name has two aliases, 'package' and 'pkg'. Add them to the
documentation.
2016-12-08 11:23:49 -05:00
Charles Ferguson 3969bba771 Update documentation of the 'pkg' and 'state' parameters in yum.
The yum module allows the 'name' parameter to be given as 'pkg', in
a similar way to some of the other package managers. This change
documents this alias.

The module's 'state' parameter has two other aliases, in line with
the 'apt' action; the 'state' parameter can take 'installed' as an
alias for 'present', and 'removed' as an alias for 'absent'. These
aliases are documented.
2016-12-08 11:23:49 -05:00
Felix Engelmann abca0327b9 re-implements #226
in optional (editable) way
with backward compatibility
2016-12-08 11:23:46 -05:00
Toshio Kuratomi 7ae4bdadfc Fixes for bcoca's review of #1916 2016-12-08 11:23:46 -05:00
Harlan Lieberman-Berg a32e5932e9 Give include_recommends a useless default to make the parser happy. 2016-12-08 11:23:45 -05:00
Harlan Lieberman-Berg f9c435ebd5 Add missing brace. 2016-12-08 11:23:45 -05:00
Harlan Lieberman-Berg 1ff12b66fb Change install_recommended in apt to a trinary.
Conditions are now "yes", "no", and "default", with the latter falling
back to the OS default.
2016-12-08 11:23:45 -05:00
Harlan Lieberman-Berg 8ef4715cf6 Change behavior of apt.py around installing recommended packages.
Closes #1189.

This will cause the settings in Ansible to override the system settings.
That will have no effect except on systems that have an out-of-Ansible
configuration that disables automatic installation of recommended
packages.  Previously, ansible would use the OS default whenever
install_recommends wasn't part of the playbook.  This change will cause
the Ansible default configuration setting of installing recommended
packages to override the configuration files set on the OS for things
installed through ansible, even when there is no install_recommends
specified in the playbook.  Because the OS default matches the Ansible
default, this shouldn't have wide impact.
2016-12-08 11:23:45 -05:00
Toshio Kuratomi 5425f3e757 Correct typo in yum module docs 2016-12-08 11:23:44 -05:00
Patrick Galbraith 223c689ec0 Fix to issue 12912. Supply 'force' to install of python-apt. 2016-12-08 11:23:44 -05:00
Toshio Kuratomi 5f87f9deda Note the difference between yum package groups and environment groups.
Fixes https://github.com/ansible/ansible/issues/12873
2016-12-08 11:23:44 -05:00
Toshio Kuratomi 2c378cc78a Fix for state=latest with wildcard or virtual provide package names 2016-12-08 11:23:40 -05:00
Brian Coca 2d7b1bd1c4 added comment explaining chdir defaults 2016-12-08 11:23:39 -05:00
Brian Coca d34f89a6fe default chdir to tmpdir to avoid virtualenv issues 2016-12-08 11:23:39 -05:00
Brian Coca 68e7945767 make chdir a path so it resolves shell aliases also removed this_dir logic as it is not needed, chdir is None by default and run_command can handle that. 2016-12-08 11:23:39 -05:00
Brian Coca d55ba3ab7c removed syslog in favor of common module logging functions 2016-12-08 11:23:38 -05:00
Greg DeKoenigsberg c2cc7f17a3 Change author field for os_redhat_subscription.py 2016-12-08 11:23:37 -05:00
Marius Gedminas 270c2e8bbd apt: check for "0 upgraded" to be at the beginning of the line
Fixes #1678.
2016-12-08 11:23:33 -05:00
Toshio Kuratomi 1102afed43 Fix for the case where plugins aren't loaded on old RHEL systems 2016-12-08 11:23:32 -05:00
Toshio Kuratomi 77457feda6 Return change results in a dictionary listing the package names.
Fix a parsing problem when package names contain a dot.
2016-12-08 11:23:32 -05:00
Brian Coca 9ad712018c deal with more failures when apt module fails to instantiate pkg fixes #1499 2016-12-08 11:23:32 -05:00
Jason DeTiberus 3619630972 python 2.4 syntax fix 2016-12-08 11:23:31 -05:00
Jason DeTiberus 8bc90c6a62 Add example for changing consumed subscriptions 2016-12-08 11:23:31 -05:00
Brian Coca c341df2231 updated docs for package 2016-12-08 11:23:30 -05:00
Brian Coca a8b24699be added gpg2 as fallback fixes #1796 2016-12-08 11:23:30 -05:00
queridiculo 92615669c0 yum: improved check_mode handling and package update flow. 2016-12-08 11:23:29 -05:00
Austin Brown 9ffde6c048 Adding version detection 2016-12-08 11:23:29 -05:00
Jason DeTiberus c2bc5a20fa bugfixes for redhat_subscription
- correctly return pool ids for newer versions of subscription-manager
- allow for managing subscriptions after initial registration.
2016-12-08 11:23:28 -05:00
Pierre-Louis Bonicoli fd88e8af53 fix error occurring with Debian
Error was: AttributeError: 'SourcesList' object has no attribute 'repos_urls'
2016-12-08 11:23:27 -05:00
Abhijit Menon-Sen 9b496818cf Simplify distribution test
If it's Ubuntu, use UbuntuSourcesList; if it's any other apt-friendly
distribution, use SourcesList; otherwise, fail.
2016-12-08 11:23:27 -05:00
Abhijit Menon-Sen ca50b5c5e0 Make SourcesList __init__ method also set self.module
This was originally required to allow other methods in SourcesList to
fail, but subsequent changes rendered that unnecessary, and it's just
a cleanup now, and avoids passing in module separately to save().
2016-12-08 11:23:27 -05:00
Abhijit Menon-Sen 46c015375d Clarify HAVE_PYTHON_APT/install_python_apt handling in apt_repository
1. Don't test check_mode in both the caller and in the callee.
2. Don't test HAVE_PYTHON_APT inside an if that tests HAVE_PYTHON_APT
3. Don't be irritatingly vague about why the module fails ("You may be
   seeing this because…").

Note that if «apt-get -y install python-apt» succeeds with rc==0, but
for some reason python_apt is not usable afterwards, this will break
because the imports in install_python_apt aren't wrapped inside a
try/except.

In other words, we assume that install_python_apt either succeeds or
fails with a traceback. This commit doesn't affect that behaviour.
2016-12-08 11:23:27 -05:00
Abhijit Menon-Sen 7643d3aecf Fix call to _expand_ppa 2016-12-08 11:23:27 -05:00
Yuhui Huang 621b396bd9 Checking pip uninstall output in both stdout and stderr 2016-12-08 11:23:24 -05:00
Brian Coca 723a48ca73 added versionadded to new option in pip module 2016-12-08 11:23:23 -05:00
Wouter Bolsterlee 3d7e3e3c3d Add a virtualenv_python argument to the pip module
This allows specifying the Python version to use when creating the
virtualenv. See issue #586.
2016-12-08 11:23:23 -05:00
Wouter Bolsterlee 5a0157a4f2 A few coding style cleanups 2016-12-08 11:23:22 -05:00
Wouter Bolsterlee e8a0b8b8ae Fix typo in `version_added` field. 2016-12-08 11:23:22 -05:00
Brian Coca 6980503357 updated to add missing 'use' option 2016-12-08 11:23:22 -05:00
Toshio Kuratomi 05be82183f Add notes about loop squashing and 1.9.2 change to install packages in one yum transaction 2016-12-08 11:23:19 -05:00
Brian Coca e7dc05df11 updated upgrade to a more sensible default as the previous was prone to confusion fixes #1667 2016-12-08 11:23:17 -05:00
Matt Martz a0f5ae8726 Replaced tabbed indentation with spaces for apt module 2016-12-08 11:23:16 -05:00
Toshio Kuratomi 432764b703 Add version that the profilename param was added 2016-12-08 11:23:16 -05:00
verm666 9b3aa0a9d4 This change is in response to issue #133.
The original problem is: apt_repository.py connect to launchpad on
every playbook run. In this patch apt_repository.py checks if required
repository already exists or not. If no - paa will be added, if yes -
just skip actions.
2016-12-08 11:23:14 -05:00
Toshio Kuratomi 9ecd06fb47 Fix apt_repository so that it does not modify the mode of existing repositories 2016-12-08 11:23:12 -05:00
Sebastian Gerhards a979417a4a rhn_register: add support for profilename 2016-12-08 11:23:12 -05:00
Jim Patterson 4185ffc43e Correct check mode for pip in virtualenv.
Fix #412.  Check mode was always returning changed=True for pip
when the target was in a virtualenv.  The code now uses the normal
tests for determining if change status.
2016-12-08 11:23:11 -05:00
Pierre-Louis Bonicoli c366e7acb2 apt_repository: fix file mode
'set_mode_if_different' method should be called on dest filename and after
'atomic_move' method
2016-12-08 11:23:11 -05:00
Toshio Kuratomi bd87c11c2a Read the url in in chunks so that we don't use as much memory for large packages 2016-12-08 11:23:11 -05:00
Toshio Kuratomi 2e7dcf3317 Small cleanups. * Import url(lib|parse|lib2) if needed by the module rather than relying on module_utils.urls to do so. * Remove stdlib modules from requirements * Use the if __name__ conditional for invoking main() 2016-12-08 11:23:11 -05:00
Toshio Kuratomi 88ae201b20 Fix bugs found by @kustodian 2016-12-08 11:23:09 -05:00
Toshio Kuratomi f0f1dc985f Fix incorrect line breaking 2016-12-08 11:23:09 -05:00
Toshio Kuratomi 9f043d9ba8 Further optimizations pointed out by @kustodian in #1516
* Only install yum-utils if needed (b/c we're going to use repoquery)
* Add a warning message explaining that why slower repoquery was used
  rather than yum API.
2016-12-08 11:23:08 -05:00
Toshio Kuratomi ba566501a8 Yum API is faster than calling out to repoquery. Looking through the commit logs it looks like we weren't previously doing that because of commit 14479e6adc
The message there is that Yum API prints an error message if the
rhn-plugin is in use and no rhn-certificate is available.  So instead of
using repoquery in preference always here we use repoquery in preference
if the rhn-plugin is enabled.
2016-12-08 11:23:08 -05:00
az7arul 5ffb677b00 add `include_doc` option 2016-12-08 11:23:08 -05:00
Toshio Kuratomi ada424078b Restore setting cachedir when non-root but don't take a useless cachedir parameter to the function
* Revert "Remove unused code"
  This reverts commit bcfba0c05098696b6e770335870a9c22792fec38.
* Re-add the changes to remove cachedir as a parameter
2016-12-08 11:23:08 -05:00
Greg DeKoenigsberg eb881d7d5d Proper author info for all remaining modules 2016-12-08 11:23:07 -05:00
Edward Torbett 3a4d8f22a6 Renamed previous pkgs variable to installed_pkgs as spotted by @strahinja 2016-12-08 11:23:06 -05:00
Edward Torbett dad26d70fa Corrected pkg to pkgs as noted by @abadger 2016-12-08 11:23:06 -05:00
Edward Torbett 9707a5a95e Added multi package operation to remove as suggested by @abadger. Adding to latest is a little more complex due to '*' support. 2016-12-08 11:23:06 -05:00
Edward Torbett 32180c3c0e Comments by @abadger 2016-12-08 11:23:06 -05:00