Commit graph

114 commits

Author SHA1 Message Date
Michel Blanc
981add2561 Optimizes using fnmatch only if needed
Skips fnmatch'ing if there is only a '*' in filter.
2013-02-22 17:41:18 +01:00
Michel Blanc
d80e78a9ae Moved key filtering
Key filtering moved before returning results
2013-02-21 01:10:25 +01:00
Michel Blanc
e7ff689fda Fixes unused var and avoid reassigning keys
Changed code so key doesn't get reassigned in loop
Made use of filtr variable
2013-02-20 19:12:01 +01:00
Michel Blanc
d7385263e3 Added more examples for the filter option in setup
Added examples covering all available globs
Added a use case of filtering only facts returned by facter
2013-02-20 18:13:05 +01:00
Michel Blanc
c5e618ed93 Adds example for filter option in setup module
Added an example on how to filter keys returned by the module.
2013-02-20 17:57:59 +01:00
Michel Blanc
f79f201b1d Adds filter option to setup module
Adds facts filtering using fnmatch, via the 'filter' option.

Usage:
ansible -m setup -a 'filter=ansible_*_mb'
2013-02-20 17:53:14 +01:00
Michael DeHaan
65b826a8a8 'make pep8' is now clean 2013-02-17 19:48:02 -05:00
Michael DeHaan
455f4b3ba6 Merge branch 'aix-fixes' of git://github.com/dagwieers/ansible into devel
Conflicts:
	library/setup

Tweak formatting.
2013-02-16 13:35:37 -05:00
James Martin
b99beba5e7 Using "OtherLinux" in module_commons, cleander detection in setup. 2013-02-16 13:32:48 -05:00
James Martin
458c50e7a3 Support for amazon linux distribution facts. 2013-02-16 13:32:48 -05:00
Mark Maas
f3c619784e Added support for AIX 5.3 and 6.1
A collegue of mine has added basix AIX support to the setup, user and group modules.

We have tested this on AIX 5.3 and 6.1 and it works "as advertised"
2013-02-14 12:45:08 +01:00
Daniel Hokka Zakrisson
2402bae9ea Clean up device fact gathering
Remove lots of re use that really shouldn't have been re in the first
place. Initialize pcidata even if lspci is unavailable, and check for
its usability before trying to use it.

Fixes #2060.
2013-02-12 18:48:14 +01:00
Kavin Kankeshwar
4f0f946211 Fixing logical error in detecting virtual device.
So In my Centos 5.9 machine, if there is RAID mount ansible will crash, as it cannot find scheduler file. The reason being, this should be a virtual device as there is no "device" folder under e.g. /sys/block/md0/

Here is the crash:

[kk@u1 ansible]$ ansible q3 -m setup -k -u root --tree=/tmp/facts
SSH password:
q3 | FAILED => failed to parse: /sys/block/md0
Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1797, in ?
    main()
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1050, in main
    data = run_setup(module)
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 1000, in run_setup
    facts = ansible_facts()
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 990, in ansible_facts
    facts.update(Hardware().populate())
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 312, in populate
    self.get_device_facts()
  File "/root/.ansible/tmp/ansible-1360629441.14-171498703486275/setup", line 439, in get_device_facts
    m = re.match(".*?(\[(.*)\])", scheduler)
  File "/usr/lib64/python2.4/sre.py", line 129, in match
    return _compile(pattern, flags).match(string)
TypeError: expected string or buffer
2013-02-11 18:23:58 -08:00
Daniel Hokka Zakrisson
e8279f0513 Fix setup when /sys/block is inaccessible 2013-02-11 23:24:47 +01:00
Daniel Hokka Zakrisson
75651da37c Fixes for Python 2.4 2013-02-11 23:23:14 +01:00
Brian Coca
775b8a9643 added block device info gathering, full for linux, partial for freebsd added prettyfing byte function Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
moved moutns out of devices Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-02-09 11:15:22 -05:00
Michael DeHaan
1bbe06f92e This implements a basic --check mode which for now is only implemented on template & copy operations. More detail will be shared with the list
shortly.
2013-02-03 20:34:13 -05:00
Shaun Zinck
6a879562b6 add pkgin to list of package managers in setup 2013-01-23 22:12:13 -06:00
John Gosset
a858d1a816 add pacman to list of package managers in setup module 2013-01-23 11:03:05 -05:00
Stephen Fromm
e4964f42e0 Update modules to use run_command in module_common.py
This updates apt, apt_repository, command, cron, easy_install, facter,
fireball, git, group, mount, ohai, pip, service, setup, subversion,
supervisorctl, svr4pkg, user, and yum to take advantage of run_command
in module_common.py.
2013-01-13 08:37:19 -08:00
Daniel Hokka Zakrisson
360701ea43 Handle unreadable /proc/xen/capabilities
Fixes #1854.
2013-01-10 18:22:01 +01:00
Michael DeHaan
4301a33b97 Streamline code 2012-11-23 10:58:17 -05:00
Michael DeHaan
d75681abdc Merge pull request #1656 from dagwieers/setup-virtualization
Implemented more virtualization types
2012-11-23 07:55:42 -08:00
Dag Wieers
f572824c5c Implemented more virtualization types
I added all known virtualization types from the virt-what project. However, the few virt types that rely on cpuid information have not been implemented lacking native python cpuid access. (hyperv)
2012-11-22 02:48:13 +01:00
Jan-Piet Mens
d184f72aa9 DOCUMENTATION strings 2012-11-21 18:49:30 +01:00
Michael DeHaan
6f6559670f chmod -x for all module files in source checkout 2012-11-19 13:47:40 -05:00
Fabian Arrotin
1151381ab1 Fixed the way dom0/domU xen role is defined in the setup module 2012-11-06 22:49:33 +01:00
Michael DeHaan
78669c57d5 Module documentation should have options sorted 2012-11-03 18:52:59 -04:00
Michael DeHaan
8d3f73d562 pep8 fixes 2012-10-30 20:42:07 -04:00
Michael DeHaan
958b2909f8 Rename 'domainname' to 'domain' 2012-10-30 20:07:36 -04:00
Serge van Ginderachter
4ebea7acba Add domainname to ansible facts 2012-10-30 19:47:31 -04:00
Brian Coca
9d1645cbe3 fixed but in pulling data from dmesg command, wrong function to use as file for for loop
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-10-16 18:44:09 -04:00
Brian Coca
7ba232479e small patch to fact gathering for when no dmesg.boot exists on freebsd, mainly happens in jails
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-10-12 17:37:30 -04:00
Michael DeHaan
3e560234bc Fix typo in autogenerated docs 2012-10-10 08:32:41 -04:00
Jan-Piet Mens
a790c399f4 Added attribution to all module DOCUMENTATION strings 2012-10-01 12:37:51 +02:00
Stephen Fromm
c0d2d76fe9 Add LSB facts, as derived from lsb_release -a
This gathers LSB facts via lsb_release.  This complements the
platform facts collected via the platform module.  This reoprts
release, id, description, release, and codename.  It also adds
'major_release', which is the major version number of a distribution.
2012-09-29 23:58:04 -07:00
Jan-Piet Mens
af1f925eea Tweak DOCUMENTATION YAML as per latest 991 2012-09-19 16:09:26 +02:00
Michael DeHaan
26f8b30653 Merge pull request #1054 from jpmens/geturl_doc1
First attempt at standardizing DOCUMENTATION string
2012-09-19 06:09:39 -07:00
Jan-Piet Mens
952a82cca0 First attempt at standardizing DOCUMENTATION string (new DICT) 2012-09-18 14:04:43 +02:00
Michael DeHaan
9f417e3502 Merge pull request #1052 from romeotheriault/add-SunOSVirtual-facts
Adding SunOSVirtual facts
2012-09-17 17:27:43 -07:00
Romeo Theriault
62f1347f69 Adding SunOSVirtual facts 2012-09-16 23:14:06 -10:00
Stephen Fromm
dc8c0ea467 Update package manager fact innards to a list of dicts 2012-09-16 21:42:55 -07:00
Stephen Fromm
6e7b94ad32 Add pkg_mgr fact to setup
This should help facilitate playbook decision making that are not
strictly distribution specific, but more package manager.
2012-09-16 21:42:54 -07:00
Matt Coddington
3102ca41a7 make this python24 compatible 2012-09-07 22:47:03 -04:00
Michael DeHaan
a3b67ec039 Merge pull request #1005 from dagwieers/cmdline
Add /proc/cmdline information to the default facts
2012-09-06 17:51:19 -07:00
Jan-Piet Mens
cbcd04b692 Add support for RSA/DSA SSH host key detection in setup module for OS/X
s/<8spaces>/<4spaces>/g
2012-09-06 20:40:21 +02:00
Dag Wieers
cabbb9fce7 Add /proc/cmdline information to the default facts
The use-case here is that based on information in the /proc/cmdline certain actions can be taken.

A practical example in our case is that we have a play at the end of the provisioning phase that reboots the system. Since we don't want to accidentally reboot a system (or restart the network) on a production machine, having a way to separate an Anaconda post-install (sshd in chroot) with a normal system is a good way to make that distinction.

    ---
    - name: reboot
      hosts: all
      tasks:
      - action: command init 6
        only_if: "not '${ansible_cmdline.BOOT_IMAGE}'.startswith('$')"

A practical problem here is the fact that we cannot simply check whether it is set or empty:

    ---
    - name: reboot
      hosts: all
      tasks:
      - action: command init 6
        only_if: "'${ansible_cmdline.BOOT_IMAGE}'"

If ansible_cmdline was a string, a simple only_if: "'${ansible_cmdline}'.find(' BOOT_IMAGE=')" was an option, but still not very "beautiful" :-/

This implementation uses shlex.split() and uses split(sep, maxsplit=1).
2012-09-06 09:35:33 +02:00
Michael DeHaan
08a3079166 Check for ipv6 2012-09-04 21:22:47 -04:00
Michael DeHaan
b0dc015a13 Always pipe stderr in the setup module to avoid JSON interference. 2012-09-02 12:34:28 -04:00
Stephen Fromm
f0da6b191a Migrate remaining modules to use get_bin_path in module_common.py
* Migraed easy_install, pip, service, setup, and user.
* Updated fail_json message in apt_repository
* Fixed easy_install to not hardcode location of virtualenv in
  /usr/local/bin/.
* Made handling of virtualenv more consistent between easy_install and
  pip.
2012-08-29 20:26:22 -07:00