Commit graph

1568 commits

Author SHA1 Message Date
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
Rodney Quillo
5f068913ee Suppress Ubuntu ssh -tt error ioctl error. 2012-07-20 13:23:14 +08: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
Michael DeHaan
ca21423c71 Merge pull request #628 from pas256/devel
Pass through error message when repo not found
2012-07-19 17:38:57 -07:00
Peter Sankauskas
5e35cd6466 Pass through error message when repo not found 2012-07-19 15:48:13 -07:00
Michael DeHaan
f1148fc26d Merge pull request #625 from jkleint/devel
Service module outputting extra data
2012-07-19 12:00:02 -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
2a281f69c2 Merge pull request #621 from pas256/patch-2
Adding missing colon... can't believe I missed that... sorry
2012-07-18 17:48:59 -07:00
Peter Sankauskas
4b66d98332 Adding missing colon... can't believe I missed that... sorry 2012-07-18 17:48:13 -07:00
Michael DeHaan
b38f8bfa80 Merge pull request #620 from pas256/patch-1
Conditional Imports should only import the first vars_file found in list
2012-07-18 16:31:45 -07:00
Peter Sankauskas
413fb15e0a Conditional Imports should only import the first file in the list, not all of them. This change stops looping through the vars_files list as soon as a file is found. 2012-07-18 15:31:04 -07:00
Michael DeHaan
4e74ab4856 Merge pull request #619 from skvidal/devel
when using -i"hostname," on the cli - don't complain about the host name...
2012-07-18 15:25:22 -07:00
Seth Vidal
5ad9bc8833 when using -i"hostname," on the cli - don't complain about the host named "" not being a host - just clip it from the list 2012-07-18 16:56:41 -04:00
Michael DeHaan
bfed0f14ec Merge pull request #613 from ludovicc/devel
Allow local plays to execute when --ask-sudo-pass is used on the command line
2012-07-18 10:27:51 -07:00
Ludovic Claude
26dc607c5c Revert "Change previous fix to a one line change relative to upstream"
This reverts commit 0d53b1b097.
2012-07-18 19:02:56 +02:00
Ludovic Claude
0d53b1b097 Change previous fix to a one line change relative to upstream 2012-07-18 17:52:51 +02:00
Michael DeHaan
2377152d4c Merge pull request #612 from jhoekx/fix-custom-facts
Fix typo while handling custom facts.
2012-07-18 04:33:01 -07:00
Ludovic Claude
c4303c8c04 Avoid spurious error when mixing a local play with remote plays depending on --ask-sudo-pass 2012-07-18 12:05:12 +02:00
Jeroen Hoekx
f1b1611956 Fix typo while handling custom facts.
This fixes #611.
2012-07-18 11:50:34 +02:00
Michael DeHaan
8bb8314d10 Inject vars need to pushed further up to make with_items work as desired. 2012-07-17 20:09:18 -04:00
Michael DeHaan
3c2cbae68e Plays and tasks now yell when they see parameters they do not understand, so that typos like 'var' for 'vars'
don't result in people having to ask questions about what is wrong with their playbook
2012-07-17 19:09:36 -04:00
Michael DeHaan
e4a546e8bb Make it possible to use variables from 'vars' in the paths to task level include statements. 2012-07-17 18:57:02 -04:00
Michael DeHaan
43b3a0be97 Merge pull request #603 from davehatton/meaningful_messages_if_remote_md5_fails
meaningful messages if the remote md5 fails
2012-07-17 06:57:06 -07:00
Dave Hatton
72ca9e58e7 meaningful messages if the remote md5 fails 2012-07-17 09:14:16 +01:00
Michael DeHaan
9e62fd42b5 update test utils code 2012-07-16 20:28:32 -04:00
Michael DeHaan
0edd0d4736 Fixing template calls 2012-07-16 20:26:39 -04:00
Michael DeHaan
01f2c85a3c update changelog 2012-07-16 20:19:52 -04:00
Michael DeHaan
1a88a3362f add noninteractive to debian module per #602 2012-07-16 20:18:58 -04:00
Michael DeHaan
994019a5c9 update changelog 2012-07-16 20:15:10 -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
Peter Sankauskas
3f17ad62cd Squashed commit of the following:
commit 5b9d29e08fba6402efccaa1ca56d834ff58f4b55
Merge: 7286f3a 111561f
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Sun Jul 15 14:34:10 2012 -0400

    Merge branch 'devel' of https://github.com/pas256/ansible into pasec2

commit 111561f782
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Mon Jul 16 16:13:48 2012 -0700

    Reading the config file from the same directory as the script, and
    fixing typo in security group name

commit e63659d04e
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Mon Jul 16 10:56:59 2012 -0700

    Adding list of variables to documentation

commit d0aecf025e
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Fri Jul 13 15:35:00 2012 -0700

    Finished EC2 external inventory script

commit 136b8a5082
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Thu Jul 12 18:01:44 2012 -0700

    Almost done, just a few more types to deal with

commit 09f92052ce
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Tue Jul 10 23:43:30 2012 -0700

    Adding region options to config, and getting host details happening, but
    need to figure out complex types

commit a940c9b8fb
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Tue Jul 10 18:06:05 2012 -0700

    Converting to a class, commenting methods, reading settings from a
    config file, and starting to work on the host variables

commit 43eb3214a6
Author: Peter Sankauskas <pas256@gmail.com>
Date:   Mon Jul 9 13:11:27 2012 -0700

    First pass of the Ansible EC2 inventory script
2012-07-15 14:34:24 -04:00
Michael DeHaan
5f69c557b9 Fix for the way host variables were being swallowed, plus some overall simplification. Deciding what
dictionary to use for templating now happens in exactly one place (executor_internal) and the "inject"
dictionary is passed to what needs it.
2012-07-15 14:19:11 -04:00
Michael DeHaan
9ef7168a49 Merge pull request #596 from davehatton/output_format_fixes
format fixes to output from fetch
2012-07-16 04:46:18 -07:00
Dave Hatton
c3205595b3 format fixes to make fetch more usable 2012-07-16 11:43:37 +01:00
Michael DeHaan
b542dd8466 Fix import in ssh connection 2012-07-15 13:12:11 -04:00
Michael DeHaan
80edea2934 with_items handling code should apply to all modules, was screwed up in refactoring to only apply to 'normal'
modules.
2012-07-15 12:51:56 -04:00
Michael DeHaan
1754de3335 Misc code cleanup, mostly whitespace preferences, removing unused imports, plus a few fixes here and there. 2012-07-15 12:29:53 -04:00
Michael DeHaan
4b73931351 misc code cleanup, don't pass parameters to the connection object we can already get from Runner 2012-07-15 11:54:39 -04:00
Michael DeHaan
6341e75e33 misc code cleanup 2012-07-15 11:20:59 -04:00
Michael DeHaan
031ba43d22 minor code cleanup 2012-07-15 11:09:15 -04:00
Michael DeHaan
1d8bb17785 misc code cleanup 2012-07-15 10:57:22 -04:00
Michael DeHaan
5a63a48e6b No need to feed variables into the setup module for preservation since the file is no longer saved to disk. 2012-07-15 10:24:38 -04:00
Michael DeHaan
227c500ad7 Misc cleanup/formatting 2012-07-15 10:22:15 -04:00