Commit graph

3585 commits

Author SHA1 Message Date
ron1 7d67ecfb2d Update examples/ansible.cfg with sudo_exe 2013-01-23 00:58:16 -05:00
ron1 280660b8a7 Support sudo alternatives that offer sudo-compatible interfaces 2013-01-19 08:40:32 -05:00
Michael DeHaan e7223760c4 Merge pull request #1810 from davixx/sysctl
new module: sysctl to handle sysctl entry
2013-01-18 15:20:45 -08:00
Michael DeHaan c66d3200f8 Merge pull request #1670 from Afterburn/devel
Pacman module
2013-01-18 15:19:47 -08:00
Michael DeHaan c8fc353bc3 Merge pull request #1811 from fdavis/devel
add when_{failed,changed}, and extended when_{set,unset}
2013-01-18 15:18:00 -08:00
Michael DeHaan 1721357a49 Merge pull request #1824 from jvantuyl/apt-key-module
add apt_key module
2013-01-18 15:16:32 -08:00
Michael DeHaan fa953ba6b3 Merge pull request #1867 from c0rner/devel
get_service_status() is now using self.service_control() to check status
2013-01-18 15:15:07 -08:00
Michael DeHaan bf03b0ee9a Merge pull request #1874 from fdavis/cfg
add filter_plugins to example ansible.cfg
2013-01-18 15:10:14 -08:00
Michael DeHaan bcdbb19549 Merge pull request #1872 from runekaagaard/devel
Service mod.: Proper(?) handling of return code 69
2013-01-18 15:09:58 -08:00
Michael DeHaan 224b503b78 Merge pull request #1878 from leucos/patch-1
Fix sudo user env
2013-01-18 15:08:39 -08:00
Michel Blanc 87f6739e20 Update lib/ansible/utils/__init__.py
Adds -i to  make_sudo_cmd so target user's environment gets loaded when configurationslike this are used :


    - hosts: ubuntu 
      name: Install ruby for the configured ruby user 
      sudo: True 
      sudo_user: rubyuser 
      # should be ${ruby_user}, but can't for now because of #1665 
      tasks: 
      - name: Gets current ruby version 
        action: shell rbenv version 
        register: ruby_current_version
2013-01-18 16:03:50 +01:00
fdavis a278a60c34 add filter_plugins to example ansible.cfg 2013-01-17 13:13:02 -08:00
Rune Kaagaard 27ab2e55d3 Service mod.: Proper(?) handling of return code 69
This adds "69" to the return codes from the status command that should be
considered as not running. At least "django-celery" uses this return code,
maybe others::

    /venv/bin/python /code/project/manage.py celeryctl status
    echo $? # 69 when not running.

A bit of googling let me to http://tldp.org/LDP/abs/html/exitcodes.html and
on a Ubuntu Server 12.10 I get::

    ~# cat /usr/include/sysexits.h | grep 69
    #define EX_UNAVAILABLE	69	/* service unavailable */

I'm not sure if the content of sysexits.h is the same on other OS'es.
2013-01-17 10:13:05 +01:00
Jayson Vantuyl ad6373430b add apt_key module
Pretty straightforward.  Give it a URL with an exported GPG key for signing an
Apt repository.  It downloads it and will install it using apt-key.  It's even
smart enough to tell if it's already there (i.e. actually tells you if it
changed or not).
2013-01-15 17:34:38 -08:00
root 471ee0c90d get_service_status() is now using self.service_control() to check status
Fixes a bug where init-scripts were not used
2013-01-14 12:37:55 +01:00
Stephen Fromm f86974fdae Merge pull request #1866 from sfromm/issue1738-a
Various cleanup to run_command
2013-01-13 11:41:37 -08:00
Stephen Fromm 4eaee3df0a Various cleanup to run_command
* Rename fail_on_rc_non_zero to check_rc, much more succinct.
* Simplify method defintion
* Fix command module and drop shell=shell option; whether to use
  shell is determined by if args is a list.
2013-01-13 11:24:21 -08:00
Stephen Fromm 4f110e4fc6 Merge pull request #1865 from sfromm/issue1738
Add run_command to module_common and update modules to use it.
2013-01-13 08:44:33 -08:00
Stephen Fromm 3fb21a5281 Update modules to use run_command in module_common.py
This updates apt, apt_repository, command, cron, easy_install, facter,
fireball, git, group, mount, ohai, pip, service, setup, subversion,
supervisorctl, svr4pkg, user, and yum to take advantage of run_command
in module_common.py.
2013-01-13 08:37:19 -08:00
Stephen Fromm 300531507b Add method run_command to module_common.py
This adds a helper method that modules can call to execute a command via
subproces.  It takes two arguments: the command to run and
keyword options that control how the process is executed.  Supported
options are: fail_on_rc_non_zero, close_fds, and executable.
fail_on_rc_non_zero will call fail_json if the command fails.  If
args is a list, the command will be run with shell=False; otherwise, if
a string, it will be run with shell=True.  Otherwise, run_command() returns
the returncode, stdout, and stderr.
2013-01-13 08:30:33 -08:00
Daniel Hokka Zakrisson 5d067497e3 Enable --list-hosts with a list of hosts 2013-01-13 15:29:32 +01:00
Daniel Hokka Zakrisson a19a13ffa7 Add check for multiple keys in one invocation 2013-01-13 15:16:13 +01:00
Daniel Hokka Zakrisson d11262af4d Fix raw (no executable) support on -c local 2013-01-13 15:16:13 +01:00
Daniel Hokka Zakrisson 5231be5d4b Add sudo password support for local 2013-01-13 15:16:13 +01:00
Daniel Hokka Zakrisson 7ecab22302 Move sudo command making to one common function 2013-01-13 15:16:13 +01:00
Daniel Hokka Zakrisson c339434e57 Merge pull request #1863 from blair/remove-unused-sys-import
hacking/env-setup: remove unused sys import.
2013-01-13 05:54:42 -08:00
Daniel Hokka Zakrisson 630a8055c1 Merge pull request #1864 from eval/git-module-prevent-permission-denied
Prevent permission denied when cloning
2013-01-13 05:52:52 -08:00
Gert Goet f4dcb33ccc Prevent permission denied when cloning
Without read permission to the current working directory, git-clone will
fail:
root@host:~$ sudo -u git -H git clone \
  git://github.com/ansible/ansible.git /home/git/ansible
fatal: Could not change back to '/root': Permission denied

This commit ensures that the working directory is changed to the
parent-folder of the destination before doing the clone.
2013-01-13 13:07:22 +01:00
Blair Zajac ec5f6ae246 hacking/env-setup: remove unused sys import. 2013-01-12 19:07:50 -08:00
Michael DeHaan b0ab81b237 Merge pull request #1862 from jpmens/doc-ex-ssh
typo in ssh private key name
2013-01-12 10:18:56 -08:00
Jan-Piet Mens fc3f50454d typo in ssh private key name 2013-01-12 15:54:21 +01:00
Michael DeHaan 1cbc9569b3 Merge pull request #1853 from jure/more_info_from_ec2
EC2 module should report back the public_dns_name too
2013-01-10 16:07:55 -08:00
Daniel Hokka Zakrisson 060266e291 Python 2.4 fixes for modules 2013-01-10 19:24:23 +01:00
Daniel Hokka Zakrisson 3bc6228b97 Handle unreadable /proc/xen/capabilities
Fixes #1854.
2013-01-10 18:22:01 +01:00
Jure Triglav 3f43ede70c Fix indentation 2013-01-10 16:21:18 +01:00
Jure Triglav 2ee05f0c96 EC2 module should report back the public_dns_name too. 2013-01-10 16:14:47 +01:00
Michael DeHaan b9442b2468 Merge pull request #1845 from leucos/patch-1
Updates Arch PKGBUILD to include other man pages
2013-01-10 05:06:59 -08:00
Michael DeHaan f095f7c8c5 Merge pull request #1851 from Pinkbyte/distribution_fix
Fix distribution detection - return string instead of functions
2013-01-10 05:03:17 -08:00
Sergey Popov e41f89d507 Fix distribution detection - return string instead of functions 2013-01-10 15:13:35 +04:00
Daniel Hokka Zakrisson 9649e4bf15 Merge pull request #1838 from jvantuyl/with_sequence
add with_sequence lookup plugin
2013-01-09 16:18:17 -08:00
Jayson Vantuyl 13ddd39db9 add with_sequence lookup plugin
Plugin allows you to do easy counts for items.
2013-01-09 15:30:24 -08:00
Daniel Hokka Zakrisson b57b1f4cbe Correct name is login_user
Fixes #1848.
2013-01-09 23:57:36 +01:00
Michel Blanc 0526d08b85 Updates Arch PKGBUILD to include other man pages
Man pages for ansible-pull and ansible-docs are now installed properly
2013-01-09 17:28:55 +01:00
Daniel Hokka Zakrisson a699685698 Merge pull request #1844 from dagwieers/import-fix
Revert the import of C in script
2013-01-09 07:03:26 -08:00
Dag Wieers fb802beee7 In PR #1804 the use of C in script was moved to _low_level_execute_command()
So we cannot get rid of this one now.
2013-01-09 15:54:10 +01:00
Daniel Hokka Zakrisson 7782923ea2 Revert #1818 but avoid double-dwim, fixing relative fileglob 2013-01-09 14:52:52 +01:00
Daniel Hokka Zakrisson 891b1e371a Default to not using an executable
For compatibility with older releases as well as avoiding things like
action: raw executable= show status
to communicate with devices that don't have sh.
2013-01-09 14:15:47 +01:00
Daniel Hokka Zakrisson 92ad206b84 Use re instead of shlex.split to find executable
shlex.split will strip quotes and it might not even be sh at this point.
2013-01-09 14:13:53 +01:00
Michael DeHaan 910667152c Merge pull request #1843 from dagwieers/import-cleanup
Clean up imports (taken from PR #1804)
2013-01-09 04:56:58 -08:00
Dag Wieers b781438480 Clean up imports (taken from PR #1804) 2013-01-09 13:51:27 +01:00