Commit graph

6295 commits

Author SHA1 Message Date
Michael DeHaan
4ac5fcf3a3 Save the transfer of the module file for new style modules, because we can inject the arguments into the modules.
Module consumers using the API don't have to know how this works.  base64 stuff is only there
because escaping a docstring inside a docstring was a bit of a challenge :)
2012-07-23 19:18:45 -04:00
Stephen Fromm
47cd5de2cc Update user module to use new shared module code 2012-07-23 11:29:59 -07:00
Mark Theunissen
b279f1aea2 Upgrading MySQL user module to new format 2012-07-22 12:11:39 -05:00
Michael DeHaan
2437ee5236 Tweaking daisychain internals to allow get_url to modify the path destination when downloading to a directory.
Minor module refactoring.
2012-07-22 11:08:16 -04:00
Michael DeHaan
d0f20668a2 Merge branch 'get_url3' of https://github.com/jpmens/ansible into devel 2012-07-22 10:08:27 -04:00
Stephen Fromm
aeed872aee Update group module to use new shared module code 2012-07-21 22:30:13 -07:00
Mark Theunissen
0bad1e7de2 Upgrading to new shared module code 2012-07-21 18:02:34 -05:00
Michael DeHaan
30d10bb485 imports not needed 2012-07-21 17:25:47 -04:00
Michael DeHaan
7b54388393 Port the copy module over to the new "common module" logic. 2012-07-21 17:07:42 -04:00
Jan-Piet Mens
b4d4811077 new module: get_url
get module (with new module-magic-code!)
	Usage: ansible -m get -a "url=http://xxxxxxx  dest=fileordirctory"
	all cleanups as per @mpdehaan's suggestions
	add daisychain
	added example playbook (get_url.yml) with URLencode example
2012-07-21 13:34:42 +02:00
Stephen Fromm
2d6babbd63 Skip get_ipv6_facts if socket.has_ipv6 is false 2012-07-20 17:19:26 -07:00
Stephen Fromm
566f115a4f Fix for issue 604
Do not switch to master branch in pull()
Add --track to git checkout, when checking out a remote branch to track.
2012-07-20 10:43:26 -07:00
Michael DeHaan
fc6ee63fba Merge pull request #637 from goozbach/git-mkdir
git mkdir causes problems with older git (can't c/o to existing directory)
2012-07-20 06:54:20 -07:00
Derek Carter
69ef933a1e git mkdir causes problems with older git (can't checkout to existing directory) 2012-07-20 09:48:18 -04:00
Michael DeHaan
51160d96f1 Merge pull request #631 from sfromm/facts
Update setup module for facts derived from classes - take 2
2012-07-20 03:58:42 -07:00
Michael DeHaan
853d1179e0 By defining a main function here, and including it ahead of the boilerplate insertion symbol, tracebacks are
now accurate with respect to the main function, but may include lines not in the original file.  A lot better
than before, where they were offset.
2012-07-20 06:37:46 -04:00
Stephen Fromm
9f063f1d3d Update LinuxNetwork to not use fcntl and ioctls
get_interfaces() updated to read /proc/net/dev.  This means it no
longer provides only interfaces that are up.

get_iface_hwaddr() updated to read from /sys/class/net/<iface>/address.

Added get_interface_facts() to pull in mac address and interface mtu.
Can be used later for additional interface-facts.

Added get_ipv6_facts(), which reads from /proc/net/if_inet6.

get_network_facts() renamed to get_ipv4_facts().  It still calls
ifconfig to determine ipv4 facts.
2012-07-19 23:50:13 -07:00
Stephen Fromm
cf9b078619 Check if CPU is QEMU via different mechanism
The processor fact doesn't exist in LinuxVirtual.  Read /proc/cpuinfo
and check if it is QEMU.
2012-07-19 23:50:12 -07:00
Stephen Fromm
6e4e39f285 Add back erroneously deleted get_file_content() 2012-07-19 23:50:12 -07:00
Stephen Fromm
f7cf2b5301 Adjustments to behavior of Facts and subclass behavior
The Facts class and subclasses no longer take a dict argument for
instantiation.  populate() now returns self.facts.
Other changes:
- Facts.__init__() takes over most of the work from populate() so that
  subclasses can benefit from its knowledge.
- Drop setting unknown facts to 'NA' in __init__() in various
  subclasses.
- Check for presence of facts in get_virtual_facts()
- Update ansible_facts() to use facts.update(<classname>().populate())
2012-07-19 23:50:12 -07:00
Stephen Fromm
582d31cde6 Update setup module for facts derived from classes
This changes and organizes facts into a base class Facts and several
sub classes that implement the necessary functionality.  The classes
are:
- Facts: base class.  Implements basic facts that should be common to a
  number of platforms.  It is also where SSH keys and SELinux facts are
  set.
- Hardware: A subclass of Facts that should be further
  subclassed per platform for CPU, memory, and related facts.
  - LinuxHardware: subclass of Hardware for Linux platforms
  - SunOSHardware: subclass of Hardware for SunOS platforms
  - FreeBSDHardware: subclass of Hardware for FreeBSD
- Network: A subclass of Facts that that should be further
  subclassed per platform for IP, both IPv4 and IPv6, information.
  - LinuxNetwork: Currently only implementation for determining network
    facts.
- Virtual: A subclass of Facts that that should be further
  subclassed per platform to determine virtual environment facts.
  - LinuxVirtual: Currently only implementation for determining virtual
    facts.

If facts are needed for additional platforms, one of the above classes
(eg Network) can be further subclassed and implement the necessary
functionality.

In addition, it fixes get_network_facts() to work on Fedora17.  That
broke due to changes to ifconfig output.
2012-07-19 23:50:12 -07:00
Michael DeHaan
830821bf2c Common module code upgrades 2012-07-17 23:09:57 -04:00
Michael DeHaan
73d9fbfc9e Added code to allow insertion of boilerplate into modules to make them able to share lots of code, the result
should be a huge reduction of total ansible source, at a slight cost of difficulty in original module development.

We need to apply this now to all modules, but may need to have some exemptions to things like command, which should
subclass this module.
2012-07-17 22:34:52 -04:00
Peter Sankauskas
cb6acfc1dc Pass through error message when repo not found 2012-07-19 15:48:13 -07:00
John Kleint
7933c3faed Service module outputting extra data.
The service module was printing stuff to stderr, returning two
JSON dicts, not using consistent 'failed' values, had dead code
and unused variables.  Added detection for the case when service
status returns 'xxx is dead and pid file exists' and made the
code a bit easier to read.
2012-07-19 13:15:09 -04:00
Michael DeHaan
72aefdb609 add noninteractive to debian module per #602 2012-07-16 20:18:58 -04:00
Seth Vidal
5916bb97bc Squashed commit of the following:
commit ea14bbfb52587bf5b97b5577c0439b01cb0b4836
Merge: 82819a9 285aaf8
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Sun Jul 15 14:38:28 2012 -0400

    Merge branch 'devel' of https://github.com/skvidal/ansible into skvidal_mount

commit 285aaf836c
Merge: 634c117 32b6879
Author: Seth Vidal <skvidal@fedoraproject.org>
Date:   Mon Jul 16 12:42:21 2012 -0400

    Merge remote-tracking branch 'upstream/devel' into devel

    * upstream/devel: (52 commits)
      format fixes to make fetch more usable
      ...

commit 634c11748e
Author: Seth Vidal <skvidal@fedoraproject.org>
Date:   Thu Jul 12 01:16:00 2012 -0400

    fix a bunch of small bugs in mount module - test with bind and local mounts

commit fcfd73de71
Author: Seth Vidal <skvidal@fedoraproject.org>
Date:   Wed Jul 11 20:46:14 2012 -0400

    fix some obvious bugs pointed out by #ansible

commit 13c3080383
Author: Seth Vidal <skvidal@fedoraproject.org>
Date:   Wed Jul 11 19:35:34 2012 -0400

    mount/fstab editor
2012-07-15 14:38:40 -04:00
Michael DeHaan
3d4efc0504 Change the way we do with_items to make them happen next to each other in runner, which eliminates the problem of with_items and vars_files sometimes not playing nice with each other.
(Also a fix for the user module error handling when the user
is not present at the time of the return.  This can only really be caused by multiple ansible executions).
2012-07-14 19:18:33 -04:00
Michael DeHaan
31d9111857 Setup module no longer saves to disk, as templates are mostly useful in playbooks and this allows lots of simplifications
around file pathing and removes occasional permissions conflicts depending on how things are used.
2012-07-14 11:59:12 -04:00
Mark Theunissen
887d3993c4 The MySQL modules 2012-07-13 17:07:23 -05:00
Jeremy Smitherman
5107b8354a Removed unused recurse option in file module. 2012-07-12 02:04:51 -04:00
Michael DeHaan
ddca634fed Merge pull request #578 from jeremysmitherman/boolean_parameters
Removed boolean parameter setting from user module.
2012-07-11 10:58:09 -07:00
Michael DeHaan
3b035b9fe1 Merge pull request #572 from goozbach/devel
fixes #569 apt module problems on old versions of apt-python
2012-07-11 10:53:29 -07:00
Jeremy Smitherman
53459e5609 Added yes/no to user options instead of False comparison for force and remove options for user module 2012-07-11 12:16:40 -04:00
Michael DeHaan
4a8a60b656 Merge pull request #575 from jeremysmitherman/apt-force
Added cmd modifications to use a force-yes option for apt module
2012-07-11 07:16:40 -07:00
Michael DeHaan
d3765c891a Merge pull request #571 from sfromm/group
Group module fixes
2012-07-11 05:27:56 -07:00
Jeremy Smitherman
501fb5a423 Added cmd modifications to use a force-yes option for apt module 2012-07-10 22:22:52 -04:00
Derek Carter
9a6bcb9481 added filter for future warning 2012-07-10 19:50:08 -04:00
Stephen Fromm
50039260e2 Minor fix to user module to further streamline setting 'changed' flag 2012-07-10 16:37:07 -07:00
Derek Carter
f4414c0511 fixes #569 apt module problems on old versions of apt-python (namely debian 5.0) 2012-07-10 19:28:14 -04:00
Stephen Fromm
2f6c086227 Fixes to group module for better error handling
Takes a lot of the fixes to the user module and applies them to the
group module: provide stdout/stderr in result if available and call
fail_json() if the attempted action fails.
2012-07-10 16:18:53 -07:00
Michael DeHaan
a1f93baa68 Merge pull request #568 from sfromm/user
User modules fixes
2012-07-10 16:04:17 -07:00
Michael DeHaan
3097065b4d Merge pull request #566 from jeremysmitherman/service-no-pid
Added additional output to service status checker
2012-07-10 16:03:51 -07:00
Stephen Fromm
5adbe2453c Fixes to user module for better error handling
The user module now returns the output, both stdout and stderr, from
useradd, usermod, and userdel.  This should help debug cases why one of
those commands fail.  In addition, the user module will now call
fail_json() when the attempted command failed so as to properly
communicate a failure in a playbook.
2012-07-10 15:55:39 -07:00
Seth Vidal
bbd42fcf36 modify user module so that password is NEVER logged before the command runs 2012-07-10 17:13:51 -04:00
Jeremy Smitherman
290cc1c006 Added additional output to service status checker 2012-07-10 16:13:39 -04:00
John Kleint
b11f23750f Use iterative MD5 hashing. 2012-07-09 13:27:47 -04:00
Michael DeHaan
b1b0e45413 Merge branch 'change_to_using_hashlib_or_md5' of https://github.com/davehatton/ansible into devel
Conflicts:
	lib/ansible/utils.py
2012-07-07 11:51:30 -04:00
Dave Hatton
7293cce498 switch to hashlib.md5 or md5 instead of OS md5 commands 2012-07-09 08:52:00 +01:00
Michael DeHaan
2449381da9 Revert "switch to using hashlib.md5 or md5 (if python 2.4) instead of a os call"
This reverts commit 865796c368.

(Superseeded by next commit)
2012-07-07 11:48:32 -04:00