Merge pull request #33825 from eyj/manage_target

Enable targeting of subsets in manage.up/down/status runner module
This commit is contained in:
Mike Place 2016-06-07 09:53:06 -07:00
commit bc0f902c7c

View File

@ -34,7 +34,7 @@ FINGERPRINT_REGEX = re.compile(r'^([a-f0-9]{2}:){15}([a-f0-9]{2})$')
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
def status(output=True): def status(output=True, tgt='*', expr_form='glob'):
''' '''
Print the status of all known salt minions Print the status of all known salt minions
@ -43,11 +43,13 @@ def status(output=True):
.. code-block:: bash .. code-block:: bash
salt-run manage.status salt-run manage.status
salt-run manage.status tgt="webservers" expr_form="nodegroup"
''' '''
ret = {} ret = {}
client = salt.client.get_local_client(__opts__['conf_file']) client = salt.client.get_local_client(__opts__['conf_file'])
try: try:
minions = client.cmd('*', 'test.ping', timeout=__opts__['timeout']) minions = client.cmd(tgt, 'test.ping', timeout=__opts__['timeout'],
expr_form=expr_form)
except SaltClientError as client_error: except SaltClientError as client_error:
print(client_error) print(client_error)
return ret return ret
@ -111,7 +113,7 @@ def key_regen():
return msg return msg
def down(removekeys=False): def down(removekeys=False, tgt='*', expr_form='glob'):
''' '''
Print a list of all the down or unresponsive salt minions Print a list of all the down or unresponsive salt minions
Optionally remove keys of down minions Optionally remove keys of down minions
@ -122,8 +124,10 @@ def down(removekeys=False):
salt-run manage.down salt-run manage.down
salt-run manage.down removekeys=True salt-run manage.down removekeys=True
salt-run manage.down tgt="webservers" expr_form="nodegroup"
''' '''
ret = status(output=False).get('down', []) ret = status(output=False, tgt=tgt, expr_form=expr_form).get('down', [])
for minion in ret: for minion in ret:
if removekeys: if removekeys:
wheel = salt.wheel.Wheel(__opts__) wheel = salt.wheel.Wheel(__opts__)
@ -131,7 +135,7 @@ def down(removekeys=False):
return ret return ret
def up(): # pylint: disable=C0103 def up(tgt='*', expr_form='glob'): # pylint: disable=C0103
''' '''
Print a list of all of the minions that are up Print a list of all of the minions that are up
@ -140,8 +144,9 @@ def up(): # pylint: disable=C0103
.. code-block:: bash .. code-block:: bash
salt-run manage.up salt-run manage.up
salt-run manage.up tgt="webservers" expr_form="nodegroup"
''' '''
ret = status(output=False).get('up', []) ret = status(output=False, tgt=tgt, expr_form=expr_form).get('up', [])
return ret return ret