Commit Graph

204 Commits (f7558164b5e4b289efda6ea5673f3e113698b525)

Author SHA1 Message Date
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.
9 years ago
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.
9 years ago
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.
9 years ago
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
9 years ago
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
9 years ago
Brian Coca 61379184d4 Merge pull request #2794 from evverx/fix-apt-key-del-long-id
apt-key: convert ids to the 'short' format
9 years ago
Matt Davis 51056bac9d Merge pull request #2696 from mattclay/apt-repository-filename
Added filename option to apt_repository module.
9 years ago
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
9 years ago
Brian Coca 2fbfc0740f corrected version added 9 years ago
Brian Coca dc517ecea6 Merge pull request #2457 from axelspringer/rhn_register-sslcacert-systemorgid
rhn_register: add sslcacert and systemorgid options
9 years ago
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.
9 years ago
Barnaby Court d4c5360380 add no_log to the password parameter 9 years ago
Martin Matuska d3740505ac rhn_register: add sslcacert and systemorgid options 9 years ago
Matt Clay 9f622015f1 Added filename option to apt_repository module. 9 years ago
Chrrrles Paul 3c685d7468 Merge pull request #2680 from ansible/yum-use-rpm
Use rpm instead of repoquery for is_installed()
9 years ago
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.
9 years ago
Brian Coca 74609ce42c Merge pull request #2636 from vmindru/yum_fix_typo
fix typo s/defaults/default
9 years ago
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.
9 years ago
Daniel Kimsey a54d1fe09c Fix yum module failing to initalize yum plugins 9 years ago
Veaceslav Mindru 0d5380258e fix typo s/defaults/default 9 years ago
Jonathan Mainguy b0db35a369 Add ability to download deb from url
if :// in deb, will try to download from url.
9 years ago
Veaceslav Mindru dc697bf533 adding validate_certs for YUM. #2582 9 years ago
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.
9 years ago
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.
9 years ago
Toshio Kuratomi 5cacef8617 Fixes for bcoca's review of #1916 9 years ago
Harlan Lieberman-Berg a53cf5434b Give include_recommends a useless default to make the parser happy. 9 years ago
Harlan Lieberman-Berg 06a4efa1cf Add missing brace. 9 years ago
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.
9 years ago
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.
9 years ago
Toshio Kuratomi eeaeeb5a1f Correct typo in yum module docs 9 years ago
Patrick Galbraith 2a93f21821 Fix to issue 12912. Supply 'force' to install of python-apt. 9 years ago
Toshio Kuratomi 06f301b05b Note the difference between yum package groups and environment groups.
Fixes https://github.com/ansible/ansible/issues/12873
9 years ago
Toshio Kuratomi 01dcee98d2 Fix for state=latest with wildcard or virtual provide package names 9 years ago
Brian Coca f6bbd2ac5b removed syslog in favor of common module logging functions 9 years ago
Greg DeKoenigsberg 0813c5fb40 Change author field for os_redhat_subscription.py 9 years ago
Marius Gedminas eb17b6a36c apt: check for "0 upgraded" to be at the beginning of the line
Fixes #1678.
9 years ago
Toshio Kuratomi b29276df34 Merge pull request #1204 from detiber/test_rhsm
bugfixes for redhat_subscription
9 years ago
Toshio Kuratomi 4721d6d8b5 Fix for the case where plugins aren't loaded on old RHEL systems 9 years ago
Toshio Kuratomi c228739f2d Merge pull request #1946 from ansible/pr/1657
Update check-mode results to be a dictionary (finishes pr 1657)
9 years ago
Toshio Kuratomi 9d4694122d Return change results in a dictionary listing the package names.
Fix a parsing problem when package names contain a dot.
9 years ago
Brian Coca 5913f5e5e1 deal with more failures when apt module fails to instantiate pkg
fixes #1499
9 years ago
Brian Coca 8ff80c2c91 updated docs for package 9 years ago
Brian Coca d139825169 fixed typo 9 years ago
Brian Coca afb9b8e2f3 added gpg2 as fallback
fixes #1796
9 years ago
Pierre-Louis Bonicoli 2fdb197245 fix error occurring with Debian
Error was: AttributeError: 'SourcesList' object has no attribute 'repos_urls'
9 years ago
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.
9 years ago
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().
9 years ago
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.
9 years ago
Abhijit Menon-Sen 653fd34ed7 Fix call to _expand_ppa 9 years ago
Jason DeTiberus c458b5e96c python 2.4 syntax fix 9 years ago
Jason DeTiberus 0802102634 Add example for changing consumed subscriptions 9 years ago
Jason DeTiberus 520a125693 bugfixes for redhat_subscription
- correctly return pool ids for newer versions of subscription-manager
- allow for managing subscriptions after initial registration.
9 years ago
queridiculo e5e0a70fc1 yum: improved check_mode handling and package update flow. 9 years ago
Brian Coca 963eb242f1 updated to add missing 'use' option 9 years ago
Toshio Kuratomi d46c036b75 Add notes about loop squashing and 1.9.2 change to install packages in one yum transaction 9 years ago
Brian Coca 93754b903f updated upgrade to a more sensible default as the previous was prone to confusion
fixes #1667
9 years ago
Matt Martz 9eb4219f79 Replaced tabbed indentation with spaces for apt module 10 years ago
Toshio Kuratomi 4ef5a45347 Add version that the profilename param was added 10 years ago
Toshio Kuratomi 6b8e6c0a0a Merge pull request #425 from gerhardsam/devel
rhn_register: add support for profilename
10 years ago
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.
10 years ago
Toshio Kuratomi 50912c9092 Fix apt_repository so that it does not modify the mode of existing repositories 10 years ago
Toshio Kuratomi 720632f568 Merge pull request #338 from pilou-/apt_repository_filemode
apt_repository: fix file mode
10 years ago
Toshio Kuratomi dba3bc7539 Read the url in in chunks so that we don't use as much memory for large packages 10 years ago
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()
10 years ago
Toshio Kuratomi 0950593d53 Merge pull request #1516 from ansible/use-yum-api
Yum API is faster than calling out to repoquery.
10 years ago
Toshio Kuratomi 86c30e68a1 Restore setting cachedir when non-root but don't take a useless cachedir parameter to the function
* Revert "Remove unused code"
  This reverts commit bcfba0c050.
* Re-add the changes to remove cachedir as a parameter
10 years ago
Toshio Kuratomi 7c6c518003 Fix bugs found by @kustodian 10 years ago
Greg DeKoenigsberg 2a5f0bde87 Proper author info for all remaining modules 10 years ago
Toshio Kuratomi 08c17814fb Fix incorrect line breaking 10 years ago
Toshio Kuratomi ef7a75938a 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.
10 years ago
Toshio Kuratomi 9c88f91092 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.
10 years ago
Edward Torbett bcbf8c5556 Renamed previous pkgs variable to installed_pkgs as spotted by @strahinja 10 years ago
Edward Torbett 1fe79801f8 Corrected pkg to pkgs as noted by @abadger 10 years ago
Edward Torbett fc36506b9e Added multi package operation to remove as suggested by @abadger. Adding to latest is a little more complex due to '*' support. 10 years ago
Edward Torbett 471824b451 Comments by @abadger 10 years ago
Edward Torbett 48422fba85 Rather than executing yum once per package, execute yum once for all supplied packages. This is necessary when performing a yum upgrade involving multiple dependent packages installed from RPM, for example when upgrading from PostgreSQL 9.0.11 to 9.0.21 on a Red Hat server. 10 years ago
Brian Coca fd18aba076 updated package examples 10 years ago
Brian Coca 75c2bc54f5 corrected copyright ... does a copied the copyrightnotice require copyright? 10 years ago
Brian Coca d6ed6113a7 may root help us all 10 years ago
Albert Mikaelyan fef463f17c Update yum.py 10 years ago
Toshio Kuratomi f3277f0f1f Import ansible module_utils at bottom of file to not mess with line numbers in tracebacks 10 years ago
Toshio Kuratomi 00e54793a2 Merge pull request #1408 from Jmainguy/yum_http_el5
forces EL5 to fail if name=:// url style path to rpm
10 years ago
Jonathan Mainguy 7a5ad0c7f3 add :// url support for EL 5 10 years ago
Brian Coca 6d088169ef Merge pull request #1348 from devjatkin/issue_1230
fix apt to handle virtual packages correctly
10 years ago
Brian Coca 0d41af23c2 Merge pull request #909 from bcoca/apt_return_cacheinfo
added updated cache time to apt, also started documenting return values
10 years ago
Zoltan Kozma 364536a76e - Fixed annoying bug that disablerepo was essentially broken if a package needed updating by state latest.
- Replaced some unsafe practice with default parameters. However looking at the code this does not seem to matter much as the calling functions always seem to supply these parameters anyway.
10 years ago
Semyon Deviatkin adf34a6ccd Fix issue #1230
When virtual package providing only one package, look up status of target package
10 years ago
Matt Martz 7ca732830f Python2.4 fixes
* Ignore accelerate.py
* Don't use a lambda or a ternary
10 years ago
Toshio Kuratomi 7540cbb845 Explain why the apt module does not do implicit regex matches on package name since this is different than the apt-get command line tool.
Fixes #1258
10 years ago
Dominic Hargreaves d197f898a5 apt_key documentation: add a note explaining the benefit of including 'id' 10 years ago
Toshio Kuratomi 1fa3efd7b4 Fix documentation 10 years ago
Jonathan Mainguy 3e66e409d5 Adds the exclude= option to the yum module. Works the same way --exclude does when yum install or yum update 10 years ago
Toshio Kuratomi 3782ec0225 Allow yum module to take a yaml list of package names and also ", " separated string-list (in addition to comma separated string-list) 10 years ago
James Cammarata 74e69d1fd1 Merge branch 'nixpanic-rhsm/org_id' into devel 10 years ago
James Cammarata c9f0c87b59 Add version_added string to new org_id param in rhn_subscription 10 years ago
Brian Coca da59efbc4b Merge pull request #623 from mscherer/small_yum_cleanup
Remove unused option in yum's repoquery call
10 years ago
Brian Coca 5e970f79e3 Merge pull request #1012 from DavidWittman/yum-disable-enable-ordering
[yum] Set disabled repos before enabled repos
10 years ago
Toshio Kuratomi 509403a50d Merge pull request #1087 from bugchecker/devel
prevent using undefined variable
10 years ago
Brian Coca 788230c43e ifxed error message as code remove the repo r var 10 years ago
Niels de Vos 011d240abc redhat_subscription: add the `org_id` parameter
When subscribing a system with an activationkey, it seems (sometimes?)
required to pass the "--org <number>" parameter to subscription-manager.
Activation Keys can be created through the Red Hat Customer Portal, and
a subscription can be attached to those. This makes is easy to register
systems without passing username/passwords around.

The organisation ID can be retrieved by executing the following command
on a registered system (*not* the account number):

  # subscription-manager identity

URL: https://access.redhat.com/management/activation_keys
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
10 years ago