Squashed commit of the following:
commit48069adf0f
Author: Gregory Duchatelet <skygreg@gmail.com> Date: Tue Nov 27 10:13:08 2012 +0100 Removing this plugin from this branch. commit15400fffe6
Author: Gregory Duchatelet <skygreg@gmail.com> Date: Tue Nov 27 09:53:16 2012 +0100 Enhance _match function in inventory with regex. --limit ~regex could be used to filter hosts or group with a regex. Tested on cli and ansible-playbook. commit63c1b2e17e
Author: Gregory Duchatelet <skygreg@gmail.com> Date: Tue Nov 27 09:03:41 2012 +0100 Revert pull request #1684 commit7c2c6fee3a
Merge:f023a2f
dd5a847
Author: Gregory Duchatelet <skygreg@gmail.com> Date: Tue Nov 27 08:52:53 2012 +0100 Merge remote branch 'upstream/devel' into devel commitf023a2f3df
Author: Gregory Duchatelet <skygreg@gmail.com> Date: Mon Nov 26 20:52:27 2012 +0100 Add an inventory plugin to fetch groups and host from our CMDB. commitc64193b4c6
Author: Gregory Duchatelet <skygreg@gmail.com> Date: Mon Nov 26 20:43:30 2012 +0100 Added possibility to filter hosts from a group, with a regex, separating groupname and regex with a ~ Usage in group pattern: group~filterpattern Samples: ansible group~server-0[1236] -m ping ansible web~proxy -m ping ansible web~(proxy|frontend) -m ping
This commit is contained in:
parent
24dadb3c27
commit
dde01dabc3
1 changed files with 6 additions and 2 deletions
|
@ -19,6 +19,7 @@
|
|||
|
||||
import fnmatch
|
||||
import os
|
||||
import re
|
||||
|
||||
import subprocess
|
||||
import ansible.constants as C
|
||||
|
@ -92,7 +93,10 @@ class Inventory(object):
|
|||
raise errors.AnsibleError("YAML inventory support is deprecated in 0.6 and removed in 0.7, see the migration script in examples/scripts in the git checkout")
|
||||
|
||||
def _match(self, str, pattern_str):
|
||||
return fnmatch.fnmatch(str, pattern_str)
|
||||
if pattern_str.startswith('~'):
|
||||
return re.search(pattern_str[1:], str)
|
||||
else:
|
||||
return fnmatch.fnmatch(str, pattern_str)
|
||||
|
||||
def get_hosts(self, pattern="all"):
|
||||
"""
|
||||
|
@ -164,7 +168,7 @@ class Inventory(object):
|
|||
a tuple of (start, stop) or None
|
||||
"""
|
||||
|
||||
if not "[" in pattern:
|
||||
if not "[" in pattern or pattern.startswith('~'):
|
||||
return (pattern, None)
|
||||
(first, rest) = pattern.split("[")
|
||||
rest = rest.replace("]","")
|
||||
|
|
Loading…
Reference in a new issue