Commit graph

779 commits

Author SHA1 Message Date
Matt Martz
d112599fd5 Set version_added to 2.1 for autoremove. Fixes #3200 2016-03-08 07:31:22 -06:00
Matt Davis
7d2fd4e944 Merge pull request #2926 from mattclay/apt-unsafe
Split shell command to avoid use_unsafe_shell.
2016-03-08 04:56:51 +00:00
Matt Martz
45745424f7 pip module should call exit_json for absent as well (indentation error) 2016-03-07 16:11:01 -06:00
Tobias Wolf
c5be97ca5c 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-03-04 12:37:28 +01:00
Brian Coca
e4c4f02472 Merge pull request #3074 from stefano-m/devel
Make 'executable' and 'virtualenv' mutually exclusive
2016-03-03 18:36:52 -05:00
Brian Coca
2a03fc2b99 Merge pull request #2997 from callipeo/issue/2996
Add support for both keyserver and keyring in apt_key
2016-03-03 18:34:03 -05:00
Brian Coca
e9130cd4d1 Merge pull request #2766 from joelthompson/feature/pip_umask
Add umask option to pip module
2016-02-29 23:53:04 -05:00
Stefano Mazzucco
24c6b269c9 'executable' and 'virtualenv' mutually exclusive
fixes https://github.com/ansible/ansible/issues/14415
2016-02-19 11:52:33 +00:00
Brian Coca
38d6c1cd36 expanded info on fail on check + missing apt-python
it now explains that apt module will auto install
2016-02-11 01:22:21 -05:00
Matt Clay
d33e033eba Do not install python-apt in check mode. 2016-02-10 20:39:52 -08:00
callipeo
27df98b6fb Add support for both keyserver and keyring in apt_key
Fixes Issue #2996
2016-02-09 19:51:16 +01:00
Toshio Kuratomi
1df8ebf0c3 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-02-07 14:17:36 -08:00
Charles Paul
d7a0a3b7e3 adding autoremove to apt 2016-02-05 12:42:25 -06:00
Toshio Kuratomi
63fda10853 Merge pull request #1458 from Tahvok/patch-1
Explain that state=present should be used with yum and url
2016-02-04 06:57:07 -08:00
Toshio Kuratomi
a5667e51ad Merge pull request #2660 from mscherer/fix_rhn_register
Do not use a shell construct for rhnreg_ks
2016-02-02 13:21:57 -08:00
Matt Clay
e56d668ade 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-01-31 02:22:59 -08:00
Matt Clay
7a82f2c86d 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-01-31 01:32:09 -08:00
Michael Scherer
c01cc5f6e4 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-01-26 12:24:13 +01:00
Brian Coca
9e5737d776 Merge pull request #2661 from mscherer/remove_unsafe_shell_apt_repos
Split a shell snippet in 2 to avoid using use_unsafe_shell=True
2016-01-25 23:45:02 -05:00
Toshio Kuratomi
d7fac82f97 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-01-20 12:09:32 -08:00
Brian Coca
61379184d4 Merge pull request #2794 from evverx/fix-apt-key-del-long-id
apt-key: convert ids to the 'short' format
2016-01-18 20:44:05 -05:00
Matt Davis
51056bac9d Merge pull request #2696 from mattclay/apt-repository-filename
Added filename option to apt_repository module.
2016-01-14 14:37:44 -08:00
Joel Thompson
4b46200477 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-01-13 00:30:29 -05:00
Evgeny Vereshchagin
d441cb176c 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-01-12 01:11:59 +00:00
Brian Coca
4d2cdfe324 made note about choice availability in ansible ver 2016-01-11 18:22:41 -05:00
Brian Coca
8e066cd124 Merge pull request #2600 from cinerama70/pip-force-reinstall
Add support for pip force-reinstall
2016-01-11 18:17:50 -05:00
Brian Coca
2fbfc0740f corrected version added 2016-01-11 18:11:01 -05:00
Brian Coca
dc517ecea6 Merge pull request #2457 from axelspringer/rhn_register-sslcacert-systemorgid
rhn_register: add sslcacert and systemorgid options
2016-01-11 18:06:15 -05:00
Arata Notsu
14950824c3 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-01-06 12:11:53 +09:00
Brian Coca
c557f2ae5b Merge pull request #2723 from mscherer/fix_427
Add more precise documentation on the requirements parameter
2016-01-04 09:56:26 -05:00
Barnaby Court
d4c5360380 add no_log to the password parameter 2015-12-22 22:26:51 -05:00
Martin Matuska
d3740505ac rhn_register: add sslcacert and systemorgid options 2015-12-22 23:51:34 +01:00
Michael Scherer
860635d38c Add more precise documentation on the requirements parameter
Fix #427
2015-12-22 16:20:37 +01:00
Toshio Kuratomi
c75c000369 Merge pull request #2403 from dvarrazzo/pip-vcs-changed
Fix status after pip installations with VCS urls
2015-12-17 10:16:16 -08:00
Matt Clay
9f622015f1 Added filename option to apt_repository module. 2015-12-15 23:48:33 -08:00
Chrrrles Paul
3c685d7468 Merge pull request #2680 from ansible/yum-use-rpm
Use rpm instead of repoquery for is_installed()
2015-12-15 00:13:43 -06:00
Toshio Kuratomi
0125770d8d 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.
2015-12-13 09:16:28 -08:00
Brian Coca
74609ce42c Merge pull request #2636 from vmindru/yum_fix_typo
fix typo s/defaults/default
2015-12-11 15:53:41 -05:00
Michael Scherer
8c5e8f0425 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.
2015-12-10 00:20:13 +01:00
Daniel Kimsey
a54d1fe09c Fix yum module failing to initalize yum plugins 2015-12-09 12:06:48 -06:00
Veaceslav Mindru
0d5380258e fix typo s/defaults/default 2015-12-06 20:54:05 +01:00
Jonathan Mainguy
b0db35a369 Add ability to download deb from url
if :// in deb, will try to download from url.
2015-12-02 23:24:23 -05:00
stephane
8d986a62a9 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.
2015-12-01 12:03:54 -08:00
Veaceslav Mindru
dc697bf533 adding validate_certs for YUM. #2582 2015-11-29 20:59:03 +01:00
Charles Ferguson
fca36415d6 Update the documentation of the 'apt' action for the 'name'.
The package name has two aliases, 'package' and 'pkg'. Add them to the
documentation.
2015-11-24 15:55:31 +00:00
Charles Ferguson
490038b0e4 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.
2015-11-23 23:42:40 +00:00
Daniele Varrazzo
c860af29b2 Detect unchanged pip runs when using a vcs url in name
Should fix bug #1645
2015-11-03 14:51:23 +00:00
Daniele Varrazzo
a95fee4079 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
2015-11-03 14:49:38 +00:00
Felix Engelmann
2a97e9f299 re-implements #226
in optional (editable) way 
with backward compatibility
2015-11-03 12:45:00 +01:00
Toshio Kuratomi
5cacef8617 Fixes for bcoca's review of #1916 2015-11-02 13:04:12 -08:00
Harlan Lieberman-Berg
a53cf5434b Give include_recommends a useless default to make the parser happy. 2015-11-02 13:04:12 -08:00
Harlan Lieberman-Berg
06a4efa1cf Add missing brace. 2015-11-02 13:04:12 -08:00
Harlan Lieberman-Berg
a234e9b7b2 Change install_recommended in apt to a trinary.
Conditions are now "yes", "no", and "default", with the latter falling
back to the OS default.
2015-11-02 13:04:12 -08:00
Harlan Lieberman-Berg
baafcfc091 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.
2015-11-02 13:04:12 -08:00
Toshio Kuratomi
eeaeeb5a1f Correct typo in yum module docs 2015-10-27 12:51:48 -07:00
Patrick Galbraith
2a93f21821 Fix to issue 12912. Supply 'force' to install of python-apt. 2015-10-26 13:28:10 -04:00
Toshio Kuratomi
06f301b05b Note the difference between yum package groups and environment groups.
Fixes https://github.com/ansible/ansible/issues/12873
2015-10-26 08:37:03 -07:00
Toshio Kuratomi
01dcee98d2 Fix for state=latest with wildcard or virtual provide package names 2015-10-08 09:56:43 -07:00
Brian Coca
22bfb54d9d added comment explaining chdir defaults 2015-10-07 12:19:50 -04:00
Brian Coca
a639da7c44 default chdir to tmpdir to avoid virtualenv issues 2015-10-07 12:18:36 -04:00
Brian Coca
8c353d0516 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.
2015-10-07 10:38:47 -04:00
Brian Coca
f6bbd2ac5b removed syslog in favor of common module logging functions 2015-10-01 00:13:58 -04:00
Greg DeKoenigsberg
0813c5fb40 Change author field for os_redhat_subscription.py 2015-09-22 05:51:02 -04:00
Brian Coca
cf2be9607c Merge pull request #533 from thataustin/devel
Updating rubygems --no-document param
2015-09-11 11:21:27 -04:00
Marius Gedminas
eb17b6a36c apt: check for "0 upgraded" to be at the beginning of the line
Fixes #1678.
2015-08-25 19:15:33 +03:00
Toshio Kuratomi
b29276df34 Merge pull request #1204 from detiber/test_rhsm
bugfixes for redhat_subscription
2015-08-24 12:54:03 -07:00
Toshio Kuratomi
4721d6d8b5 Fix for the case where plugins aren't loaded on old RHEL systems 2015-08-20 15:34:57 -07:00
Toshio Kuratomi
c228739f2d Merge pull request #1946 from ansible/pr/1657
Update check-mode results to be a dictionary (finishes pr 1657)
2015-08-20 13:14:02 -07:00
Toshio Kuratomi
9d4694122d Return change results in a dictionary listing the package names.
Fix a parsing problem when package names contain a dot.
2015-08-20 13:02:29 -07:00
Brian Coca
5913f5e5e1 deal with more failures when apt module fails to instantiate pkg
fixes #1499
2015-08-18 14:59:35 -04:00
Brian Coca
8ff80c2c91 updated docs for package 2015-08-13 14:57:55 -04:00
Brian Coca
d139825169 fixed typo 2015-08-11 11:53:52 -04:00
Brian Coca
afb9b8e2f3 added gpg2 as fallback
fixes #1796
2015-08-11 11:53:52 -04:00
Pierre-Louis Bonicoli
2fdb197245 fix error occurring with Debian
Error was: AttributeError: 'SourcesList' object has no attribute 'repos_urls'
2015-07-30 13:16:56 +05:30
Abhijit Menon-Sen
74a27ffe52 Simplify distribution test
If it's Ubuntu, use UbuntuSourcesList; if it's any other apt-friendly
distribution, use SourcesList; otherwise, fail.
2015-07-30 13:16:56 +05:30
Abhijit Menon-Sen
44d16240a8 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().
2015-07-30 13:11:43 +05:30
Abhijit Menon-Sen
6afa1da910 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.
2015-07-30 13:03:10 +05:30
Abhijit Menon-Sen
653fd34ed7 Fix call to _expand_ppa 2015-07-30 09:02:18 +05:30
Jason DeTiberus
c458b5e96c python 2.4 syntax fix 2015-07-28 06:30:37 -04:00
Jason DeTiberus
0802102634 Add example for changing consumed subscriptions 2015-07-28 06:26:04 -04:00
Jason DeTiberus
520a125693 bugfixes for redhat_subscription
- correctly return pool ids for newer versions of subscription-manager
- allow for managing subscriptions after initial registration.
2015-07-28 06:26:04 -04:00
queridiculo
e5e0a70fc1 yum: improved check_mode handling and package update flow. 2015-07-22 18:07:57 -04:00
Yuhui Huang
51666c6def Checking pip uninstall output in both stdout and stderr 2015-07-21 16:07:25 -07:00
Brian Coca
1dafa427c3 added versionadded to new option in pip module 2015-07-20 20:53:33 -04:00
Brian Coca
5c17fd3f9a Merge pull request #629 from wbolster/issue-586-virtualenv-python-version
Add virtualenv_python arg to pip module
2015-07-20 20:46:30 -04:00
Brian Coca
963eb242f1 updated to add missing 'use' option 2015-07-16 16:53:17 -04:00
Toshio Kuratomi
d46c036b75 Add notes about loop squashing and 1.9.2 change to install packages in one yum transaction 2015-07-09 08:17:00 -07:00
Brian Coca
93754b903f updated upgrade to a more sensible default as the previous was prone to confusion
fixes #1667
2015-07-03 14:44:17 -04:00
Matt Martz
9eb4219f79 Replaced tabbed indentation with spaces for apt module 2015-07-01 09:39:18 -05:00
Toshio Kuratomi
4ef5a45347 Add version that the profilename param was added 2015-06-30 05:08:38 -07:00
Toshio Kuratomi
6b8e6c0a0a Merge pull request #425 from gerhardsam/devel
rhn_register: add support for profilename
2015-06-30 05:07:29 -07:00
Austin Brown
bb816f046c Adding version detection 2015-06-29 23:13:29 -07:00
Brian Coca
a0d663bc65 Merge pull request #413 from JimPatterson/412_pip_check_venv
Correct check mode for pip in virtualenv.
2015-06-29 18:17:59 -04:00
Austin Brown
3c72e87152 Merge branch 'devel' of github.com:ansible/ansible-modules-core into devel
Conflicts:
	packaging/language/gem.py
2015-06-26 11:21:43 -07:00
verm666
d435d5ce0a 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.
2015-06-25 10:56:29 -07:00
Toshio Kuratomi
50912c9092 Fix apt_repository so that it does not modify the mode of existing repositories 2015-06-24 16:32:47 -07:00
Toshio Kuratomi
720632f568 Merge pull request #338 from pilou-/apt_repository_filemode
apt_repository: fix file mode
2015-06-24 16:01:45 -07:00
Toshio Kuratomi
dba3bc7539 Read the url in in chunks so that we don't use as much memory for large packages 2015-06-24 08:12:49 -07:00
Toshio Kuratomi
4519dd5f4d 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()
2015-06-24 06:51:00 -07:00
Brian Coca
7a33832606 fixed typo 2015-06-19 15:29:43 -04:00