Commit Graph

281 Commits (ec12cc4154fcf083591283b7eb1c0fef9891d2be)

Author SHA1 Message Date
Michael DeHaan ec12cc4154 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 :)
12 years ago
Stephen Fromm f068bedfa1 Update user module to use new shared module code 12 years ago
Mark Theunissen 12e23a1a6c Upgrading MySQL user module to new format 12 years ago
Michael DeHaan 0b891fc8fb Tweaking daisychain internals to allow get_url to modify the path destination when downloading to a directory.
Minor module refactoring.
12 years ago
Michael DeHaan 46650cfcec Merge branch 'get_url3' of https://github.com/jpmens/ansible into devel 12 years ago
Stephen Fromm 1a9c54b1e1 Update group module to use new shared module code 12 years ago
Mark Theunissen efb60776f4 Upgrading to new shared module code 12 years ago
Michael DeHaan 9f149c9f1a imports not needed 12 years ago
Michael DeHaan d0f4358730 Port the copy module over to the new "common module" logic. 12 years ago
Jan-Piet Mens b8d7b5041b 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
12 years ago
Stephen Fromm 2a0dfba838 Skip get_ipv6_facts if socket.has_ipv6 is false 12 years ago
Stephen Fromm fd059a3df2 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.
12 years ago
Michael DeHaan 70ef8e9ebb Merge pull request #637 from goozbach/git-mkdir
git mkdir causes problems with older git (can't c/o to existing directory)
12 years ago
Derek Carter f0f8eb3445 git mkdir causes problems with older git (can't checkout to existing directory) 12 years ago
Michael DeHaan b114a6075f Merge pull request #631 from sfromm/facts
Update setup module for facts derived from classes - take 2
12 years ago
Michael DeHaan d69e70db01 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.
12 years ago
Stephen Fromm 0efc0bec89 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.
12 years ago
Stephen Fromm 162b78ea5c 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.
12 years ago
Stephen Fromm e3dd25b1b2 Add back erroneously deleted get_file_content() 12 years ago
Stephen Fromm 97c64f3632 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())
12 years ago
Stephen Fromm ae1b2394ac 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.
12 years ago
Michael DeHaan a94ec130d2 Common module code upgrades 12 years ago
Michael DeHaan 9006d4557d 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.
12 years ago
Peter Sankauskas 5e35cd6466 Pass through error message when repo not found 12 years ago
John Kleint ae665c15b3 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.
12 years ago
Michael DeHaan 1a88a3362f add noninteractive to debian module per #602 12 years ago
Seth Vidal f6a09bc4c1 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
12 years ago
Michael DeHaan 64c51ade1e 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).
12 years ago
Michael DeHaan 931f9f1a61 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.
12 years ago
Mark Theunissen f47cc1693d The MySQL modules 12 years ago
Jeremy Smitherman e5a6627d10 Removed unused recurse option in file module. 12 years ago
Michael DeHaan fd7e96d33e Merge pull request #578 from jeremysmitherman/boolean_parameters
Removed boolean parameter setting from user module.
12 years ago
Michael DeHaan 626e4cb003 Merge pull request #572 from goozbach/devel
fixes #569 apt module problems on old versions of apt-python
12 years ago
Jeremy Smitherman ecacb67d31 Added yes/no to user options instead of False comparison for force and remove options for user module 12 years ago
Michael DeHaan 3f5c4772be Merge pull request #575 from jeremysmitherman/apt-force
Added cmd modifications to use a force-yes option for apt module
12 years ago
Michael DeHaan 949f8b8fc5 Merge pull request #571 from sfromm/group
Group module fixes
12 years ago
Jeremy Smitherman a35a0f885e Added cmd modifications to use a force-yes option for apt module 12 years ago
Derek Carter f38b9d1ca7 added filter for future warning 12 years ago
Stephen Fromm ac3341cc12 Minor fix to user module to further streamline setting 'changed' flag 12 years ago
Derek Carter e261d49acc fixes #569 apt module problems on old versions of apt-python (namely debian 5.0) 12 years ago
Stephen Fromm 3a5f2126a6 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.
12 years ago
Michael DeHaan 3235da074e Merge pull request #568 from sfromm/user
User modules fixes
12 years ago
Michael DeHaan 8bb41bc627 Merge pull request #566 from jeremysmitherman/service-no-pid
Added additional output to service status checker
12 years ago
Stephen Fromm 09f025b7a0 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.
12 years ago
Seth Vidal 2f11350665 modify user module so that password is NEVER logged before the command runs 12 years ago
Jeremy Smitherman 7af3bdc89e Added additional output to service status checker 12 years ago
John Kleint 375a1eaf43 Use iterative MD5 hashing. 12 years ago
Dave Hatton 55694db7c3 switch to hashlib.md5 or md5 instead of OS md5 commands 12 years ago
Peter Sankauskas fed1e9870c Assigning to boolean first 12 years ago
Peter Sankauskas fced8cf6b0 Getting the apt module to accept and understand a 'install-recommends' parameter which allows running apt with --no-install-recommends 12 years ago