Commit Graph

954 Commits (a956a59bfba84f94c88a0fc981e7a724fe93e2f7)

Author SHA1 Message Date
Stephen Fromm b1ec6e8163 Fix git module to update branch to latest when using version=<branch>
The git module would not pull in updates to a branch when
version=<branch>.  This updates that block to checkout the branch
and then do a git reset --hard <remote>/<branch>.  This
should now track updates to a branch.
12 years ago
Piotr Kweclich 9c20eb089b added support for scheduling downtime for all services on host 12 years ago
Stephen Fromm 5b7c8fcc38 Further tweak how to find pip in virtualenv on centos/redhat/fedora
In a virtualenv, pip is called just pip.  This fixes the pip module to
search for the virtualenv pip first before trying the pip-python and
python-pip variants.  Without this, pip module would not install to the
virtualenv when that parameter is provided.
12 years ago
Stephen Fromm e33e02950d Make use of mirrors in pip module configurable with use_mirrors option
Older versions of pip (anything less than 1.0?) do not support
--use-mirrors flag.  This makes it configurable.  Default is yes.
12 years ago
Daniel Hokka Zakrisson d5a456fbcf Merge pull request #1697 from bcoca/mint
Implements multiple interpreter overrides
12 years ago
Stephen Fromm d277953a53 Fix pip module to check if requirements already installed
This updates _is_package_installed() to accept a requirements file
as an argument.  This is used later in main() to check if python libs
specified in a requirements file are already installed.  I updated
main() to consolidate the handling of install/uninstall in a single
block.  This should help if someone wants to remove packages specified
by a requirements file.
12 years ago
Igor Galić 1ba5c5ae97 : doesn't work in this documentation. 12 years ago
Igor Galić e031054934 Fix subversion module's documentation
Let our users determine what they want to do with a given module.
Particularily when the mdoule doesn't pose any such restrictions.
12 years ago
Brian Coca 8ef2807305 removed env as per project policy
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
12 years ago
Jan-Piet Mens 910f1c042e ini_file: prohibit section name 'default'
allow update of default section
add blurb re template to create base file
12 years ago
Patrik Lundin d4af9e4c5c Use shlex for rc.conf parsing.
This makes the line parsing a lot more robust (and easier to read).
Code supplied by @dhozac, thanks!

Remove re import because this is not used anywhere.
12 years ago
Patrik Lundin fde00327b0 Rework "enabled" implementation for FreeBSD.
When trying to perform enabled=yes followed by enabled=no
against FreeBSD the module would die with the following error:
TypeError: sub() takes at most 4 arguments (5 given)

The target FreeBSD client (8.2) is running python 2.6.6. It seems the
extra 'flags' argument was added to re.sub() in 2.7.

In fixing this issue I have attempted to create a general atomic method
for modifying a rc.conf file. Hopefully this will make it easier to add
other rc based platorms. The strip/split magic was inspired by the user
module.
12 years ago
Daniel Hokka Zakrisson 4679d8d6e5 Remove references to non-existant variable rc 12 years ago
Daniel Hokka Zakrisson 1ec2a59073 Merge pull request #1676 from dagwieers/service-action-fix
The vars stop/start were intended as strings
12 years ago
Dag Wieers 18b797f096 The vars stop/start were intended as strings
This is a typo that was reported on IRC, because of this people got: "NameError: global name 'stop' is not defined".
12 years ago
Ton Kersten 7bba04b176 Corrected for fallthrough 12 years ago
Ton Kersten ee4fe9ff55 Added pip-python to the search for CentOS 6 compatibility 12 years ago
afterburn 4192516582 fixed 12 years ago
Michael DeHaan ac09b47ec4 Merge pull request #1668 from eest/refactor_service_module
Repost: Refactor service module to use subclasses like user module.
12 years ago
Patrik Lundin 5b7aa494b2 Refactor module to use subclasses like user module.
* Basically the moving parts from the original service module arranged in
  subclasses.
* General structure and helper methods comes from the user module.
* Less forgiving to unsupported platforms: it requires a subclass per platform.
  (This makes it easier to work on one platform without having to think about.
  what other platform might be affected in unexpected ways).
* Now has basic OpenBSD support.
* Solaris support needs to be added.

Thanks to @dhozac for general advice and Linux testing.
Thanks to @bcoca for clearing up some FreeBSD questions.
12 years ago
Michael DeHaan ce487a8544 Merge pull request #1658 from jpmens/docs_2
module_formatter: re-instate code
12 years ago
Michael DeHaan 3981c72957 Streamline code 12 years ago
Michael DeHaan 17020d6a75 Merge pull request #1656 from dagwieers/setup-virtualization
Implemented more virtualization types
12 years ago
Jan-Piet Mens 3b83295581 DOCUMENTATION: yum (moved version to added) 12 years ago
Jan-Piet Mens 068ef0e979 module_formatter: re-instate code 12 years ago
Dag Wieers e528826dba Implemented more virtualization types
I added all known virtualization types from the virt-what project. However, the few virt types that rely on cpuid information have not been implemented lacking native python cpuid access. (hyperv)
12 years ago
Jan-Piet Mens caf003c813 DOCUMENTATION strings 12 years ago
Dag Wieers 118ccc68c9 Make the default an empty string
Seems a bit strange I have to set a default in two locations.
12 years ago
Michael DeHaan 663a8fef3f chmod -x for all module files in source checkout 12 years ago
Daniel Hokka Zakrisson b95bcf1b9d Use single-quotes to contain SSH keys as they may contain double-quotes
Fixes #1624.
12 years ago
Michael DeHaan 99a0ebcad0 Merge pull request #1642 from dagwieers/service-options
Allow adding additional arguments to service module
12 years ago
Dag Wieers 3852b9918a Allow adding additional arguments to service module
Some services allow additional arguments to be provided on the command line. This patch makes it possible.
12 years ago
Michael DeHaan bb2e5e12b8 Merge pull request #1638 from jpmens/ec2_userdata
Support for user_data in ec2 module
12 years ago
Michael DeHaan c9aef42ac4 Merge pull request #1636 from romeotheriault/add-sunos-subclass-to-group-mod
Add sunos subclass to group mod
12 years ago
Michael DeHaan e13d67bbf1 Merge pull request #1635 from romeotheriault/classify-group-module
convert group module to be platform sub-classable
12 years ago
Jan-Piet Mens e4606d500c Support for user_data in ec2 module
fix
12 years ago
Romeo Theriault bb976ddfe0 add solaris subclass to group module 12 years ago
Romeo Theriault a52faa841f convert group module to be platform sub-classable 12 years ago
Fabian Arrotin 269a0779b4 Added a requirement on euca2ools external package and ec2 url example 12 years ago
Michael DeHaan 0ab3bd0034 Fix for #1577 (python 2.4 compliance for mysql_user), tested only for syntax, please exercise MySQL fans! 12 years ago
Michael DeHaan 096607eea4 Allow fireball to transfer binary files, fixup fireball docs, make fetch work with fireball. 12 years ago
Michael DeHaan 613539810e Missing import 12 years ago
Romeo Theriault ae36fb1dc6 minor linux user module fixups 12 years ago
Michael DeHaan 001e2e564f Merge pull request #1590 from romeotheriault/minor-freebsd-user-module-fixes
minor freebsd user fixes
12 years ago
Michael DeHaan 80f196fdbc Merge pull request #1589 from romeotheriault/add-sunos-user-support
Add solaris support to user module
12 years ago
Romeo Theriault 6c6bcff4ee minor freebsd user fixes 12 years ago
Romeo Theriault 3bab27abdb Add solaris support to user module 12 years ago
Jan-Piet Mens e32f4a0564 Move get_docstring from module_formatter into ansible/utils 12 years ago
Yvan Cottyn e9a356bbde Fix exception catching for Python 2.4 12 years ago
Yvan Cottyn 37de471ab6 Fix exception catching for Python 2.4 12 years ago
Michael DeHaan 09cde86e83 Merge pull request #1571 from skvidal/ec2
add ec2 module
12 years ago
Seth Vidal e147ad4213 add add_host action plugin - add hosts to inventory during a playbook
run - lets act on those hosts in the next play
12 years ago
Seth Vidal 7e0cb4f052 add ec2 module 12 years ago
Dag Wieers 2fdb217be3 Documentation of svr4pkg module breaks 'make rpm'
Without this fix, generating documentation results in:

```
Traceback (most recent call last):
  File "hacking/module_formatter.py", line 376, in <module>
    main()
  File "hacking/module_formatter.py", line 365, in main
    text = template.render(doc)
  File "/usr/lib64/python2.6/site-packages/jinja2/environment.py", line 669, in render
    return self.environment.handle_exception(exc_info, True)
  File "hacking/templates/man.j2", line 20, in top-level template code
    {% for desc in v.description %}@{ desc | jpfunc }@{% endfor %}
  File "hacking/module_formatter.py", line 94, in man_ify
    t = _ITALIC.sub(r'\\fI' + r"\1" + r"\\fR", text)
TypeError: expected string or buffer
```
12 years ago
Michael DeHaan 03591e0fc8 Merge pull request #1551 from dagwieers/local_action-fail
Turn 'fail' and 'debug' modules into action_plugins
12 years ago
Michael DeHaan f3cbcecf53 Merge pull request #1563 from lllama/devel
Add an "executable" option to the command and shell modules
12 years ago
Michael DeHaan 03f4b0f923 Merge pull request #1560 from dagwieers/module-output-consistency
Make module output more consistent wrt. changed/failed
12 years ago
Michael DeHaan cbff02139f Merge pull request #1557 from sfromm/issue1412
Updates to git module: use git-fetch and other changes
12 years ago
Michael DeHaan 42375d14b3 Merge pull request #1556 from sfromm/issue1099
Wrap getpwnam in try/except in authorized_key module
12 years ago
Boyd Adamson 528a457848 Add svr4pkg module for traditional Solaris packages 12 years ago
Felix Ingram e0f0e8c023 Add an "executable" option to the command and shell modules
The option will be passed to the Popen object created and will be used to
execute the command instead of the default shell.
12 years ago
Dag Wieers fe0c70fe9d Make module output more consistent wrt. changed/failed
- Make sure exit_json() always returns a changed= value
- Modify the yum module to not return failed=False
- Modify install() and latest() similar to remove() in yum module
- Changed exit_json(failed=True, **res) into a fail_json(**res)
- Make sure yum rc= value reflects loop (similar to how we fixed remove())
12 years ago
Stephen Fromm 3ec64d19a8 Wrap getpwnam in try/except in authorized_key module
This also adds module as an argument to keyfile().
12 years ago
Stephen Fromm 6aa51a7cf3 Rewrite switch_version() to detect branch
Rewrote switch_version() to read .git/HEAD to find branch associated
with HEAD.  If in a detached HEAD state, will read
.git/refs/remotes/<remote>/HEAD.
12 years ago
Dag Wieers d8459425a0 Turn 'fail' and 'debug' modules into action_plugins
This makes more sense as there is no purpose in running these remotely.
12 years ago
Michael DeHaan 612aed55bb Merge pull request #1546 from dagwieers/get_url-nonthirsty-fix
Don't require thirsty mode for directory destination
12 years ago
Stephen Fromm 49d41da152 Use supplied remote name when cloning git repository 12 years ago
Stephen Fromm 328951ef53 Checkout branch before rebase in switch_version 12 years ago
Stephen Fromm ccc04cf891 More work in git module
Rename pull() to fetch().  It does a git fetch and then a
git fetch --tags.
Add _run() method to handle all subprocess.Popen calls.  Change
all previous calls to subprocess.Popen to use _run().
12 years ago
Brian Coca 5ea260f44b fix case in which file is created and backup is requested but fails, not it just doesn't attempt to backup the missing file
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Dag Wieers 82ec405b05 Don't require thirsty mode for directory destination
There is no need to require thirsty mode when the destination is a directory. We add the basename of the url to the destination directory and proceed with that. If that file exists in non-thirsty mode continue as expected.

I also cleaned up some of the logic that is no longer necessary if we simply rewrite the destination from the very start the way it is expected.
12 years ago
Fabian Arrotin 29882f97e6 Fixed the way dom0/domU xen role is defined in the setup module 12 years ago
Stephen Fromm 2fab846f17 Fix to user module to use self when calling group_exists 12 years ago
Daniel Hokka Zakrisson cf290a0064 Keep fireball from spreading its socket around 12 years ago
Nigel Metheringham f905e751ac FreeBSD user mod only fires when there are changes
Also fix missing -G on groups change
12 years ago
Nigel Metheringham 1ab1c8d374 Take SHADOWFILE from existing user object rather than class 12 years ago
Nigel Metheringham 75a2b2ba2d Use the existing framework when running ssh_keygen 12 years ago
Nigel Metheringham 19402a47cd Ensure user owns their ssh key directory on creation
Lost section from commit 8049777
12 years ago
Michael DeHaan 6f938c9f4c Merge branch 'playbook_ssh_ask_pass' of git://github.com/clatour/ansible into devel
Conflicts:
	examples/ansible.cfg

+ doc tweak
12 years ago
Michael DeHaan d639844923 Merge branch 'service_bsd' of git://github.com/bcoca/ansible into devel 12 years ago
Michael DeHaan 970d06e03b Fix user example 12 years ago
Michael DeHaan 626203a7c9 Module documentation should have options sorted 12 years ago
Michael DeHaan c96f2c968e Merge branch 'nigelm_freebsd' of git://github.com/nigelm/ansible into merge-service
Make things more reusable, correct some errors along the SSH key path

Conflicts:
	library/user
12 years ago
Nigel Metheringham cdfa81d905 Added some documentation to the classes 12 years ago
Daniel Hokka Zakrisson 20775c0b73 Fix service module for varnish initscript in EPEL
It outputs 'dead but pid file exists'.
12 years ago
Brian Coca 13f75e5a8e Now can handle rc.conf and init.d/rc.d based systems
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
12 years ago
Dag Wieers 9268aa0289 Use return codes > 255 for Ansible-specific errors.
I had made and pushed this change after you already pulled the request.

@dhozac indicated that it would probably be better to use return codes > 255 for anything related to Ansible itself. Which makes sens :)
12 years ago
Michael DeHaan c0747b7baa pep8 fixes 12 years ago
Michael DeHaan 27e518a0b1 Rename 'domainname' to 'domain' 12 years ago
Michael DeHaan 9251709941 Merge pull request #1490 from sfromm/issue1484
Make sure ownership is set correctly for user's new ssh keys
12 years ago
Michael DeHaan 768d293949 Merge pull request #1488 from dagwieers/lineinfile-create
Add option create= to lineinfile module
12 years ago
Michael DeHaan 91cf257e9c Merge pull request #1487 from skvidal/devel
fix up remove and fix fixme checking to see if pkg was removed
12 years ago
Michael DeHaan 0853ece810 Merge pull request #1474 from jhoekx/group-by-plugin-template
Add a group_by action plugin.
12 years ago
Serge van Ginderachter 1db563e064 Add domainname to ansible facts 12 years ago
Serge van Ginderachter 47d882f374 Fix typo 12 years ago
Dag Wieers 1e3dcfce4b Add option create= to lineinfile module
We use the lineinfile module to modify configuration files of a proprietary application. This application reads configuration options from files, but does not require those files to exist (if the default options are fine). However this application may modify the configuration file at will, so we cannot copy or template those files. And after a silent install the configuration may not exist (depending on the response file).

Whatever the case, during deployment we need to make sure some configuration options are set after the installation.

So the cleanest way to handle this situation is to allow the lineinfile module to create the file if it is missing (and this is the expected behavior). When I proposed this behavior, @sergevanginderachter needed the same functionality and was now working around it as well.
12 years ago
Stephen Fromm 4619e99443 Make sure ownership is set correctly for user's new ssh keys 12 years ago
Michael DeHaan f0000a89b0 Merge pull request #1480 from dagwieers/command-fix2
Use return codes > 255 for Ansible-specific errors.
12 years ago
Michael DeHaan 730031ec1f Merge pull request #1479 from wzzrd/selinux
More useful error message for if not HAVE_SELINUX
12 years ago
Dag Wieers 8d4f9febd8 Use return codes > 255 for Ansible-specific errors.
I had made and pushed this change after you already pulled the request.

@dhozac indicated that it would probably be better to use return codes > 255 for anything related to Ansible itself. Which makes sens :)
12 years ago
Seth Vidal 49dce05cdd fix up remove and fix fixme checking to see if pkg was removed 12 years ago
Nigel Metheringham 9a2545957f Turn off some of the additional debug syslogging 12 years ago
Nigel Metheringham 3e0e572cce Rework of user module to support portability
Split module into a main calling function, and a generic
(Linux useradd/usermod/userdel) User class.
Added a __new__ function that selects most appropriate superclass
Added a FreeBSD User class
Tested against FreeBSD 9.0
12 years ago
Seth Vidal 7c1e0de141 fix removal case where first pkg in a list is not installed at all
and the next one gets ignored despite being installed.

also clean up unnecessary second check.
12 years ago
Maxim Burgerhout 82cc382c6a More useful error message for if not HAVE_SELINUX 12 years ago
Jeroen Hoekx b336d40101 Add a group_by action plugin. 12 years ago
Dag Wieers 63fa33b0b7 Make sure we always return 'rc' from the command module
If this is not a certainty, playbooks will fail without an 'rc' and checking both if there is an rc, and whether the 'rc' is (not) 0 is very complicated. (especially because ${something.rc} will not be substituted and all that)
12 years ago
Daniel Hokka Zakrisson 7a8009f979 When atomically replacing files, copy attributes 12 years ago
Michael DeHaan 523f2bf327 Merge pull request #1455 from bleader/devel
user module: fix typo in documentation
12 years ago
Michael DeHaan cbcc133cdd Merge pull request #1453 from sfromm/issue1211
Use shutil.copyfile so as to preserve file ownership in authorized_keys
12 years ago
Michael DeHaan 5b36e374d7 Merge pull request #1451 from dhozac/command-strip-newlines
Only strip trailing newlines from output, preserving other space
12 years ago
Michael DeHaan 06fa3e820d Merge pull request #1448 from jpmens/user_user1
User is alias for name in 'user' module
12 years ago
bleader 5a5751d1d0 user module: fix typo in documentation
tyep -> type

Signed-off-by: bleader <bleader@ratonland.org>
12 years ago
Stephen Fromm a033ad4d74 Use shutil.copyfile so as to preserve file ownership in authorized_keys 12 years ago
Daniel Hokka Zakrisson 73cd3ef617 Only strip trailing newlines from output, preserving other space 12 years ago
Jan-Piet Mens 89f28a98dd User is alias for name in 'user' module 12 years ago
Michael DeHaan 895715b65b Merge pull request #1445 from sfromm/issue1439
Skip check of primary group when checking other group membership
12 years ago
Stephen Fromm 544dc76704 Create temp file in directory where ssh key lives 12 years ago
Stephen Fromm b2e94e53fc Write keys file to temp location to avoid potential corruption 12 years ago
Stephen Fromm e97916cfc1 Skip check of primary group when checking other group membership 12 years ago
Michael DeHaan f2a7ca9a36 Merge pull request #1435 from stijnopheide/mysql-grant
Mysql grant, take 2
12 years ago
Michael DeHaan 3e491513a9 Merge pull request #1432 from skvidal/devel
yum enablerepo/disablerepo option complete
12 years ago
Dag Wieers f4c4537327 Resolve traceback when python-selinux is not installed 12 years ago
Seth Vidal 0a153c6798 add comments that enablerepo/disablerepo are new in 0.9 12 years ago
Stijn Opheide 733693ffdc - removed space escapes from MySQL SHOW GRANTS regex
- proper checking for with grant option (if this is not the only option the user has)
- added revoking of grant option
12 years ago
Stijn Opheide 6b92b69fe6 added the GRANT privilege for a mysql user (WITH GRANT OPTION) 12 years ago
Jan-Piet Mens 82955606c4 fix DOCUMENTATION for user 12 years ago
Seth Vidal d8337dab06 tested and verified yum enable/disablerepo option for yum module 12 years ago
Seth Vidal d89d07550f first cut at yum module with enable/disable repo 12 years ago
Michael DeHaan 9626111d5b Merge pull request #1427 from bleader/devel
mount: update example with mandatory option
12 years ago
Stephen Fromm 5d8c130a7f Document ssh_key options are in version 0.9 12 years ago
bleader e16e3fb4ca mount: update example with mandatory option
- 'state' is required, but wasn't in example

Signed-off-by: bleader <bleader@ratonland.org>
12 years ago
Jan-Piet Mens feab57e270 Reformat code: examples consistently
- added terse syntax to modules.rst
 - added description of special variables to template module
12 years ago
Stephen Fromm 769bd9125a Help git module work when working in 'no branch' scenario
Detect when on a 'no branch' branch.  If so, checkout the HEAD branch
as reported by 'git remote show <remote>'.  That should put the repo
back on a branch such that git can then merge changes as necessary.
In addition, removed hard-coded references to origin and replaced
with remote var.
12 years ago
Michael DeHaan cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 12 years ago
Michael DeHaan 4104478abd Added 'script', a module that can push and insantly run a remote script. Replaces the need to copy+command.
This is a bit of a rough draft, some error handling still needs to be added.
12 years ago
Michael DeHaan 6b8448051f Merge pull request #1389 from sfromm/issue1214
Add ability to create SSH key for user in user module
12 years ago
Michael DeHaan 3c739b1a88 Merge pull request #1339 from inertialbit/add-basic-pg-role-attribute-support
add role_attr_flags parameter to postgresql_user
12 years ago
Stephen Fromm 87954f2110 Use os.path.join where appropriate 12 years ago
Stephen Fromm 63ba441163 Add ability to create SSH key for user in user module
This allows one to create a SSH key for user.  You may define:
ssh_key_type, ssh_key_bits, ssh_key_file, ssh_key_comment,
and ssh_key_passphrase.  If no passphrase is provided, the
key will be passphrase-less.  This will not overwrite an existing key.
In the JSON returned, it will provide the ssh_fingerprint and
ssh_key_file.
12 years ago
Michael DeHaan 68cf9a96fc Merge pull request #1388 from goozbach/selinux_bugs
make policy only be required if state is not disabled
12 years ago
Derek Carter 99180e7da3 make policy only be required if state is not disabled 12 years ago
Seth Vidal 326b160241 when a pkg is installed, but not from any repo, don't error out
that it is not installed.

Also when a pkg is both installed and in a repo do not look it up
more than once
12 years ago
Michael DeHaan d58bc4da4e Merge pull request #1361 from lantins/devel
Copy module can replace symlink with a real file.
12 years ago
Michael DeHaan 05866bba1e Merge pull request #1372 from jpmens/rst_template1
module_formatter: .rst now correctly handles code examples
12 years ago
Jonathan Palley 702469f7bf symlink fix 12 years ago
Jan-Piet Mens 575459465e module_formatter: .rst now correctly handles code examples
- fixed template (it was the template), adding indentation with Jinja2
 - added description of code examples to man-page template (was missing)
 - fixed fireball, cron, and debug module examples to confrom
12 years ago
Luke Antins 0dbd3aa821 Add examples to user module documentation. 12 years ago
Luke Antins 4f17aa9fa0 Fix indent of fail module example to prevent unwanted `<blockquote></pre></p> <br/></blockquote>` from showing up in docsite output. 12 years ago
Luke Antins 7d41045b2f Erroneous space in facter documentation. 12 years ago