No description
Find a file
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
bin Merge pull request #576 from davehatton/adjust_playbook_output_formating 2012-07-11 17:42:39 -07:00
docs/man Release bump to start development on 0.6 2012-07-04 18:07:19 -04:00
examples Squashed commit of the following: 2012-07-15 14:34:24 -04:00
hacking Common module code upgrades 2012-07-17 23:09:57 -04:00
lib/ansible Common module code upgrades 2012-07-17 23:09:57 -04:00
library Update setup module for facts derived from classes 2012-07-19 23:50:12 -07:00
packaging bump rpm spec to 0.6 2012-07-05 07:18:43 +01:00
test update test utils code 2012-07-16 20:28:32 -04:00
.gitignore clean exec bits from lib/ansible/*.py, ignore Eclipse/PyDev files 2012-04-14 21:35:51 +02:00
CHANGELOG.md Plays and tasks now yell when they see parameters they do not understand, so that typos like 'var' for 'vars' 2012-07-17 19:09:36 -04:00
COPYING license file should be in source tree 2012-03-15 20:24:22 -04:00
Makefile debian packaging 2012-04-23 19:17:01 -04:00
MANIFEST.in Include license file in MANIFEST.in. Fixes #284 2012-05-01 10:34:36 -04:00
README.md update versions mentioned in README.md 2012-07-04 18:07:19 -04:00
setup.py Split connection code into submodules. 2012-05-30 20:16:31 -04:00
VERSION Release bump to start development on 0.6 2012-07-04 18:07:19 -04:00

Ansible

Ansible is a radically simple configuration-management, deployment, task-execution, and multinode orchestration framework.

Read all about at it at (http://ansible.github.com)

Design Principles

  • Dead simple setup
  • Super fast & parallel by default
  • No server or client daemons; use existing SSHd
  • No additional software required on client boxes
  • Modules can be written in ANY language
  • Awesome API for creating very powerful distributed scripts
  • Be usable as non-root
  • The easiest config management system to use, ever.

Get Involved

Branch Info

  • Releases are named after Van Halen songs.
  • The master branch corresponds to release 0.5 "Amsterdam".
  • The devel branch corresponds to release 0.6 "Cabo".
  • All feature work happens on the development branch.
  • Major bug fixes will be made to the master branch, but not minor ones.
  • See CHANGELOG.md for release notes to track each release.

Patch Instructions

Contributions to the core and modules are greatly welcome.

  • Required Process:
    • Submit github pull requests to the "ansible/devel" branch for features
    • Fixes for bugs may be submitted to "ansible/master"
    • Make sure "make tests" passes before submitting any requests.
  • Bonus points:
    • Joining the mailing list
    • Fixing bugs instead of sending bug reports.
    • Using squash merges
    • Updating the "rst/*" files in the docs project and "docs/" manpage content
    • Adding more unit tests
  • Avoid:
    • Sending patches to the mailing list directly.
    • Sending feature pull requests to the 'master' branch instead of the devel branch
    • Sending pull requests to mpdehaan's personal ansible fork.

Author

Michael DeHaan -- michael.dehaan@gmail.com

http://michaeldehaan.net