Commit graph

269 commits

Author SHA1 Message Date
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)
2012-07-20 06:54:20 -07:00
Derek Carter
f0f8eb3445 git mkdir causes problems with older git (can't checkout to existing directory) 2012-07-20 09:48:18 -04:00
Michael DeHaan
b114a6075f 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
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.
2012-07-20 06:37:46 -04:00
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.
2012-07-19 23:50:13 -07:00
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.
2012-07-19 23:50:12 -07:00
Stephen Fromm
e3dd25b1b2 Add back erroneously deleted get_file_content() 2012-07-19 23:50:12 -07:00
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())
2012-07-19 23:50:12 -07:00
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.
2012-07-19 23:50:12 -07:00
Michael DeHaan
a94ec130d2 Common module code upgrades 2012-07-17 23:09:57 -04:00
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.
2012-07-17 22:34:52 -04:00
Peter Sankauskas
5e35cd6466 Pass through error message when repo not found 2012-07-19 15:48:13 -07:00
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.
2012-07-19 13:15:09 -04:00
Michael DeHaan
1a88a3362f add noninteractive to debian module per #602 2012-07-16 20:18:58 -04:00
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
2012-07-15 14:38:40 -04:00
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).
2012-07-14 19:18:33 -04:00
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.
2012-07-14 11:59:12 -04:00
Mark Theunissen
f47cc1693d The MySQL modules 2012-07-13 17:07:23 -05:00
Jeremy Smitherman
e5a6627d10 Removed unused recurse option in file module. 2012-07-12 02:04:51 -04:00
Michael DeHaan
fd7e96d33e 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
626e4cb003 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
ecacb67d31 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
3f5c4772be 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
949f8b8fc5 Merge pull request #571 from sfromm/group
Group module fixes
2012-07-11 05:27:56 -07:00
Jeremy Smitherman
a35a0f885e Added cmd modifications to use a force-yes option for apt module 2012-07-10 22:22:52 -04:00
Derek Carter
f38b9d1ca7 added filter for future warning 2012-07-10 19:50:08 -04:00
Stephen Fromm
ac3341cc12 Minor fix to user module to further streamline setting 'changed' flag 2012-07-10 16:37:07 -07:00
Derek Carter
e261d49acc 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
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.
2012-07-10 16:18:53 -07:00
Michael DeHaan
3235da074e Merge pull request #568 from sfromm/user
User modules fixes
2012-07-10 16:04:17 -07:00
Michael DeHaan
8bb41bc627 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
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.
2012-07-10 15:55:39 -07:00
Seth Vidal
2f11350665 modify user module so that password is NEVER logged before the command runs 2012-07-10 17:13:51 -04:00
Jeremy Smitherman
7af3bdc89e Added additional output to service status checker 2012-07-10 16:13:39 -04:00
John Kleint
375a1eaf43 Use iterative MD5 hashing. 2012-07-09 13:27:47 -04:00
Dave Hatton
55694db7c3 switch to hashlib.md5 or md5 instead of OS md5 commands 2012-07-09 08:52:00 +01:00
Peter Sankauskas
fed1e9870c Assigning to boolean first 2012-07-06 18:05:15 -07:00
Peter Sankauskas
fced8cf6b0 Getting the apt module to accept and understand a 'install-recommends' parameter which allows running apt with --no-install-recommends 2012-07-06 12:12:04 -07:00
Dave Hatton
ecaa794f7f copy always returned change=true 2012-07-06 13:43:19 +01:00
Dave Hatton
9d85a55434 switch to shutil.copy rather than os.system(cp) 2012-07-04 12:26:25 +01:00
Dave Hatton
263fcab594 md5 allow copy if file is missing 2012-07-03 20:07:08 +01:00
Jeremy Smitherman
3003aa2d47 Added IndexError catch for copy module, IndexError is thrown if a destination file doesn't exist 2012-07-03 14:12:19 -04:00
Dave Hatton
d47de18b6c improve error trapping for md5 2012-07-03 12:44:37 +01:00
Brad Olson
be9ff7ff46 Fixes ansible/ansible#522, no longer creates comment in ~/.ssh/authorized_keys, does not create directory or file if state==absent. 2012-07-02 19:16:57 +00:00
Brad Olson
756df550f8 Fixes ansible/ansible#523. Removed 'with:' blocks so module works with Python 2.4 for CentOS 5 support, courtesy of mcodd/ansible@29af24b732. 2012-07-02 17:57:38 +00:00
Derek Carter
fc4ae3e270 remove UID/GID from output 2012-07-01 17:38:17 -04:00
Derek Carter
a548769792 removed print from debug code of file module 2012-06-29 21:38:31 -04:00
Derek Carter
82832021e8 file when UID or GID doesn't exist 2012-06-29 20:05:23 -04:00
Michael DeHaan
efac68b636 Remove the -D module debug flag, which no longer is functional due to sudo pty requirements, and replace with -v/--verbose.
This flag will show playbook output from non-failing commands.  -v is also added to /usr/bin/ansible, but not  yet used.

I also gutted some internals code dealing with 'invocations' which allowed the callback to know what module invoked
it.  This is not something 0.5 does or needed, so callbacks have been simplified.
2012-06-19 21:57:43 -04:00
Ludovic Claude
daf858648b Add basic support for Solaris 2012-06-26 19:49:26 +02:00