Commit graph

517 commits

Author SHA1 Message Date
Pepe Barbe
af5d67c496 Query for all active privileges instead
Use a different method to query for current 
privileges at the table and database level. 
This method is more robust if newer privileges 
are added in future versions and also supports the 
ALL wildcard.
2012-08-22 10:04:58 -05:00
Pepe Barbe
95169b75c4 Add fail_on_user option
fail_on_user option can be used to ignore silently
if the user cannot be removed because of remaining
privilege dependencies to other objects in the 
database. By default it will fail, so that this new 
behavior won't surprise unsuspecting users.
2012-08-22 10:04:58 -05:00
Pepe Barbe
4e833cf506 Initial commit of change of semantics for module
The postgresql_user module has several drawbacks:
* No granularity for privileges
* PostgreSQL semantics force working on one
  database at time, at least for Tables. Which
  means that a single call can't remove all the 
  privileges for a user, and a user can't be
  removed until all the privileges are removed, 
  forcing a module failure with no way to 
  work around the issue.

Changes:
* Added the ability to specify granular privileges
  for database and tables within the database
* Report if user was removed, and add an option to 
  disable failing if user is not removed.
2012-08-22 10:04:57 -05:00
Dane Summers
24c8c22e75 removed logger, removed superfluous mkdir 2012-08-21 16:10:17 -04:00
Dane Summers
157fa3868a added TODO for test scenarios to add 2012-08-21 13:59:39 -04:00
Dag Wieërs
9d4f70f0ad Handle special files just like normal files
As discussed in #923
2012-08-21 23:48:18 +02:00
Michael DeHaan
1ae018ce94 Adds a thirsty=yes|no to the get_url module, such that if downloading a large file from the internet you can decide
whether to download it every time or not -- will replace only on change, or decide to not download.  The default
is thirsty=no which will not download every time by default.
2012-08-20 18:39:37 -04:00
Tim Bielawa
3d3c8a004e Fix setup module explosion when a route is empty. Closes #909 2012-08-19 21:19:07 -04:00
Michael DeHaan
14c2e8de0c Fix invalid usage or fail_json in apt module 2012-08-18 19:43:45 -04:00
Michael DeHaan
798c35d83e Apt module should accept 'absent', and 'present' like the yum module does. 2012-08-18 18:38:10 -04:00
Michael DeHaan
8eda23f856 tweak service module pattern= logic so ./hacking/test-module does not give false positives 2012-08-17 20:26:22 -04:00
Michael DeHaan
bc571ccb55 Merge pull request #902 from sfromm/issue719
Add pattern option to service module
2012-08-17 17:17:32 -07:00
Michael DeHaan
2b51cf04c7 Merge pull request #901 from dhozac/setup-ip
Work with tun and p2p interfaces
2012-08-17 17:10:59 -07:00
Michael DeHaan
705057b9a6 Merge pull request #900 from lorin/pip-venv-bug
Retrieve pip path after creating virtualenv
2012-08-17 17:10:35 -07:00
Michael DeHaan
229ab1582a Merge pull request #898 from elventear/postgresql_user_py24
Fixes for postgresql_user to make it work with postgresql defaults and under Python 2.4
2012-08-17 17:09:35 -07:00
Stephen Fromm
18f0302de8 Add pattern option to service module
Adds ability to check service status based on pattern.  The pattern
is a simple string.  If a pattern is provided, the output of ps is
checked first.
2012-08-17 14:00:01 -07:00
Daniel Hokka Zakrisson
121341833a Work with tun and p2p interfaces 2012-08-17 22:08:04 +02:00
Lorin Hochstein
8223d3ee3f Retrieve pip path after creating virtualenv
Retrieve the pip path after creating a non-existent virtualenv.
Prevents the problem of using the wrong pip if virtualenv doesn't
exist yet.
2012-08-17 14:38:49 -04:00
Pepe Barbe
3dd2c0700f Syntax change to make module compatible with Python 2.4 2012-08-17 10:37:02 -05:00
Lorin Hochstein
8af3403f65 Return both stdout and stderr on pip failures.
pip failure message sometimes (always?) go to standard out. Return
both standard out and standard error when there's a failure.
2012-08-17 11:32:47 -04:00
Michael DeHaan
c93df29249 Make a more logical error when the command/shell module is used with no arguments. 2012-08-16 21:40:52 -04:00
Sundar Raman
3aff9396e8 (Re #882) Handle errors in get_interfaces
If there is an error in how interfaces are configured (or only one set, like IPv6),
the setup command should not error out.
2012-08-15 19:22:05 -04:00
Dane Summers
19686d549c support for subversion repositories 2012-08-15 09:04:17 -04:00
Jeremy Penner
09d5812cbb Make easy_install module actually work.
mpdehaan requested in ansible/ansible#795 that globals be removed.
The response was to remove the lines with the word 'global', but not
the actual use of global variables.  Which makes the module break silently.
Updated to use local variables.
2012-08-14 23:31:13 -04:00
Michael DeHaan
ded0c61750 meaningless whitespace changes 2012-08-14 19:33:11 -04:00
Michael DeHaan
de4b8dc53a Can use fail JSON here, remove debug statement 2012-08-14 19:29:09 -04:00
Michael DeHaan
58c975d621 Fix aliases, package not found is not an error 2012-08-14 19:27:02 -04:00
Michael DeHaan
07fd96acc9 Merge branch 'devel' of https://github.com/skvidal/ansible into devel 2012-08-14 19:20:09 -04:00
Michael DeHaan
731adc0eaf Merge pull request #866 from akhayyat/devel
setup: add type and default_ipv{4,6} to linux network facts
2012-08-14 16:19:14 -07:00
Michael DeHaan
a2a8cfe099 Merge pull request #876 from elventear/postgresql_fix
Changes to postgresql to support defaults settings and older psycopg2
2012-08-14 16:17:37 -07:00
Pepe Barbe
7dcd1bd223 Autocommit support for psycopg2 < 2.4.2 2012-08-14 17:12:09 -05:00
Pepe Barbe
95fc5dd4a8 Fix using postgres default values
When initalizing a connection to psycopg2, in order to use the default
values, the keywords must be missing. So we use a dictionary as a kwarg
and include only the keywords that do not have an empty value on the
module parameters.
2012-08-14 17:11:53 -05:00
Seth Vidal
3175eacfc4 fixes to yum module
include local_nvra
change the remove behavior to pretty much NEVEr error out if the pkg is not there (or anywhere)
2012-08-14 16:23:40 -04:00
Seth Vidal
14479e6adc cover all of the edge cases with and without yum-utils installed.
it is possible those folks w/o yum-utils installed but with rhn-plugin
installed but w/o any rhn-certificates will still see an error msg.
they have 3 options:
1. remove rhn-plugin
2. enable some channels w/rhn certs
3. install yum-utils
2012-08-14 13:23:49 -04:00
Seth Vidal
2e3926d13f subprocess is already imported in module_common - no need for it here 2012-08-14 13:23:49 -04:00
Daniel Hokka Zakrisson
ae964b97c4 Fix spelling of architecture for non-x86 2012-08-14 15:57:54 +02:00
Ahmad Khayyat
c96c51a534 setup: add type and default_ipv{4,6} to linux network facts 2012-08-14 01:37:14 -04:00
Michael DeHaan
7ab0d60b1a update config code 2012-08-13 20:17:07 -04:00
Michael DeHaan
3b259ef5f6 Merge pull request #859 from zecrazytux/bugfix/apt_repository
Bugfix/apt repository
2012-08-13 15:30:21 -07:00
Michael DeHaan
e29ee9db2b Merge pull request #860 from goozbach/broken_mount
fixed missing module argument for mount module
2012-08-13 15:29:43 -07:00
Pepe Barbe
bce1d4da53 Use Python 2.4 compatible syntax 2012-08-13 16:02:16 -05:00
Derek Carter
556593bb18 fixed missing module argument for mount module 2012-08-13 15:20:36 -04:00
Sebastien Bocahu
d95eddceb1 Quote the repository string when appending it to the command line in the apt_repository module. 2012-08-13 19:36:08 +02:00
Sebastien Bocahu
3e9bcd351d Add support for Debian in apt_repository 2012-08-13 19:23:53 +02:00
Sebastien Bocahu
df269c72c1 Fixed scoping issue in apt_repository module. 2012-08-13 19:06:53 +02:00
Stephen Fromm
c4ce5f9497 Try to find ip command in either /sbin or /usr/sbin
If ip is not found in either /sbin or /usr/sbin, this will return
an empty result.  It seems extremely unlikely that a linux system will
not have iproute2 installed
2012-08-11 23:54:22 -07:00
Stephen Fromm
84028c2339 Tweak invocation of ip in LinuxNetwork
Specify full path to ip and add third argument 'show' to be explicit
about requested action.  This goes from 'ip addr' to
'/sbin/ip addr show'.
2012-08-11 23:54:22 -07:00
Michael DeHaan
75bbd73173 Fix indentation 2012-08-11 18:39:09 -04:00
Michael DeHaan
67301c1015 rename variable 'pkg' in yum module such that the auto-handled error messages use the same key. 2012-08-11 18:16:10 -04:00
Michael DeHaan
1e4d45af1e Add module common code to allow it to be easier to indicate whether arguments are mutually exclusive, required in conjunction, or whether one of a list of arguments is required. This simplifies writing Python modules. 2012-08-11 18:13:29 -04:00
Michael DeHaan
e9c9d8f523 tweak config mode check to just have a default 2012-08-11 12:38:05 -04:00
Michael DeHaan
477ca2ed1a Make pep8 tests run against the library directory as well, and associated tweaks (mostly to indentation) in the library
directory.
2012-08-11 12:35:58 -04:00
Michael DeHaan
e0765be1ea Merge pull request #850 from akhayyat/virt-facts
Add openvz detection to virtualization facts, and some cleanup
2012-08-11 09:11:01 -07:00
Michael DeHaan
32922e404b Don't include local addresses in the all_ipv4/6 list 2012-08-11 12:08:55 -04:00
Ahmad Khayyat
916fcdb93b Add openvz detection to virtualization facts, and some cleanup 2012-08-11 08:33:43 -04:00
Ahmad Khayyat
f0a8e13628 Update doc string and minor cleanup 2012-08-11 06:39:22 -04:00
Ahmad Khayyat
7950dd01e5 Recognize interface aliases in network facts, and add IP facts 2012-08-11 06:20:32 -04:00
Michael DeHaan
36527ca9d5 Merge pull request #838 from sfromm/issue825
Update file module to not recurse when setting ownership
2012-08-10 17:02:23 -07:00
Sébastien Bocahu
487d07a845 Fix variable scope 2012-08-10 21:58:58 +02:00
Stephen Fromm
94696fb88e Update file module to not recurse when setting ownership
This updates set_owner_if_different() and set_group_if_different()
to not implicitly recurse when setting ownership (whether user or
group).  It drops the os.system() call and replaces it with os.chown().
Resolves issue #825.

The recursion should be explicit.  A recurse=yes|no option should be
added to the file module.
2012-08-09 22:59:39 -07:00
Michael DeHaan
9e934acfca Relative symlinks don't really work (module bug) and would be confusing anyway, better to be explicit. 2012-08-09 21:46:03 -04:00
Michael DeHaan
ef18f9d953 Fix a scoping issue that was fixing some non-repoquery-installed cases 2012-08-09 21:35:21 -04:00
Michael DeHaan
63641da225 Merge branch 'yum-wo-repoquery' of https://github.com/dhozac/ansible into devel
Conflicts:
	library/yum
2012-08-09 21:29:59 -04:00
Michael DeHaan
8e12440db4 Merge pull request #830 from cybertoast/feature/pip_module_py2.4
Feature/pip module py2.4
2012-08-09 17:24:27 -07:00
Michael DeHaan
f311d685cb Merge pull request #828 from skvidal/devel
add backup= option to copy. makes a backup of the file on the target
2012-08-09 17:23:52 -07:00
Sundar Raman
66a6231922 Further syntax fix work on Python2.4
The `val if something else something-else` syntax does not work prior to 2.5.
2012-08-09 18:09:18 -04:00
Sundar Raman
9ad91d7369 Fix syntax to work on Python2.4
The `val if something else something-else` syntax does not work prior to 2.5
2012-08-09 17:54:29 -04:00
Seth Vidal
588b129018 fix case where destination does not yet exist - no backup can be made 2012-08-09 15:33:05 -04:00
Seth Vidal
28e9b1128f add backup= option to copy. makes a backup of the file on the target
in a file named: $filename.YYYY-MM-DD@HH:MM~

backup=False is default
2012-08-09 14:24:21 -04:00
Seth Vidal
5c458b9761 make yum module work with list=pkgspec 2012-08-09 13:22:51 -04:00
Daniel Hokka Zakrisson
5a7d271759 Allow using the yum module without repoquery
It is still required to use list=..., but the typical install and remove
won't need it.
2012-08-09 17:22:09 +02:00
Michael DeHaan
c82f06258c Only run yum,apt through the with_items loop if there is a list of items. Just a cosmetic fix on return values
for the most part.
2012-08-08 20:43:01 -04:00
Michael DeHaan
d451cc6463 Merge pull request #794 from mattupstate/apt_repository
add apt_repository module
2012-08-08 16:14:38 -07:00
Michael DeHaan
b378a94b7b Merge pull request #796 from mattupstate/pip
add pip module
2012-08-08 16:13:32 -07:00
Michael DeHaan
82dfb11fb9 Merge pull request #807 from mattupstate/supervisorctl
Add supervisorctl module
2012-08-08 16:13:16 -07:00
Michael DeHaan
67205eb816 Merge pull request #795 from mattupstate/easy_install
Add easy_install module
2012-08-08 16:12:30 -07:00
Michael DeHaan
311d7c46ca Merge pull request #806 from skvidal/devel
fix up yum state=latest with pkg groups
2012-08-08 16:11:41 -07:00
Michael DeHaan
fe65648ea5 Merge pull request #808 from sfromm/issue800
Make exception more specific (OSError) in setup module for selinux call
2012-08-08 16:11:04 -07:00
Seth Vidal
61e02d508c add show-duplicates to reqpoquery to keep people who
want to install an old package happy.
2012-08-08 14:02:38 -04:00
Stephen Fromm
0cc73c930b Make exception more specific (OSError) in setup module for selinux call 2012-08-08 08:56:12 -07:00
Matt Wright
34e0faaf4b Add supervisorctl module 2012-08-08 10:59:46 -04:00
Matt Wright
15e9f1e15a Update per ansible/ansible#794 2012-08-08 10:46:23 -04:00
Seth Vidal
ca63173bf0 missed the quotes 2012-08-08 10:43:45 -04:00
Matt Wright
2a68f5d0af Updates per ansible/ansible#795 2012-08-08 10:38:27 -04:00
Seth Vidal
70eea69e79 fix up yum state=latest with pkg groups 2012-08-08 10:35:43 -04:00
Matt Wright
0116e53e48 Updates per ansible/ansible#796 2012-08-08 10:35:07 -04:00
Michael DeHaan
f757d659cc Merge pull request #804 from sfromm/issue789
Abstract how to look up user password to be more flexible
2012-08-08 04:46:28 -07:00
Michael DeHaan
ae7e1928df Merge pull request #790 from sfromm/fixgit
Fix error handling when switching versions
2012-08-08 04:44:43 -07:00
Stephen Fromm
49f3ab6757 Abstract how to look up user password to be more flexible
This adds user_password() to abstract how the user's password is looked
up.  If spwd is not available, this will read the shadow file for the
user's shadow entry.  This will then facilitate idempotent password
changes on hosts without spwd.
2012-08-07 23:57:17 -07:00
Stephen Fromm
3fb3eae7b6 Protect all selinux calls with try/except 2012-08-07 22:57:44 -07:00
Matt Wright
62297b608f Add easy_install module 2012-08-07 16:41:34 -04:00
Matt Wright
bef4c1b955 add apt_repository module 2012-08-07 16:39:31 -04:00
Matt Wright
4de0e5de54 add pip module 2012-08-07 16:38:04 -04:00
Stephen Fromm
6265be3aee Fix error handling when switching versions
git module used to check stderr for the string 'error' after calling
switch_version().  This changes that to just look at the return code to
determine whether the command failed.  If the rc is not zero, the git
module will call fail_json().

The problem is that git checkout will summarize the commit message,
such as:

    HEAD is now at ea38409... removing artificial error

When the string 'error' is the commit message, this check will
erroneously think the command failed.

This also removes the method switchLocalBranch() since it is no longer
used.
2012-08-07 11:20:14 -07:00
Michael DeHaan
092f83e6f8 Merge pull request #781 from gottwald/devel-mysql-socketOption
login_unix_socket option for mysql modules
2012-08-06 18:45:36 -07:00
Michael DeHaan
faed4b5a33 whitespace + remove deprecated YAML parser (migration script lives in examples/scripts and warning was added
in 0.6 release)
2012-08-06 20:07:02 -04:00
Michael DeHaan
08c1f96e4b Fix some subtle behavior of how the get_url module chains into the file module, plus blend the results of daisy chain
operations in the correct order, so the file module results overlay the original module results, not the other way
around (which keeps any failure msg's intact)
2012-08-03 07:02:31 -04:00
Ingo Gottwald
891415e616 Added login_unix_socket option to mysql_user module 2012-08-03 12:35:18 +02:00
Ingo Gottwald
a2aa30f4e5 Added login_unix_socket option to mysql_db module 2012-08-03 12:34:55 +02:00
Michael DeHaan
7e9e29011e Add encoding lines to python modules such that they can take unicode options if they are fed them, since the
AnsibleModule stuff no longer base64 encodes for simplicity and speed reasons.
2012-08-02 21:29:10 -04:00