mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
[Fix] Correctly pass subset parameter to cmd_subset (#58601)
* Fix subset parameter * Support legacy parameter for now * Add tests+changelog for cmd_subset fix * Prevent passing 'sub' to cmd_cli
This commit is contained in:
parent
e443061612
commit
3dc25dc4ca
4 changed files with 29 additions and 3 deletions
1
changelog/58600.fixed
Normal file
1
changelog/58600.fixed
Normal file
|
@ -0,0 +1 @@
|
|||
Fix --subset command line option, and support old 'sub' parameter name in cmd_subset for backwards compatibility
|
|
@ -173,7 +173,7 @@ class SaltCMD(salt.utils.parsers.SaltCMDOptionParser):
|
|||
try:
|
||||
if self.options.subset:
|
||||
cmd_func = self.local_client.cmd_subset
|
||||
kwargs["sub"] = self.options.subset
|
||||
kwargs["subset"] = self.options.subset
|
||||
kwargs["cli"] = True
|
||||
else:
|
||||
cmd_func = self.local_client.cmd_cli
|
||||
|
|
|
@ -487,6 +487,10 @@ class LocalClient(object):
|
|||
>>> SLC.cmd_subset('*', 'test.ping', subset=1)
|
||||
{'jerry': True}
|
||||
"""
|
||||
|
||||
# Support legacy parameter name:
|
||||
subset = kwargs.pop("sub", subset)
|
||||
|
||||
minion_ret = self.cmd(tgt, "sys.list_functions", tgt_type=tgt_type, **kwargs)
|
||||
minions = list(minion_ret)
|
||||
random.shuffle(minions)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
:codeauthor: Mike Place <mp@saltstack.com>
|
||||
"""
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import salt.utils.platform
|
||||
from salt import client
|
||||
|
@ -98,6 +96,29 @@ class LocalClientTestCase(TestCase, SaltClientTestCaseMixin):
|
|||
):
|
||||
with patch("salt.client.LocalClient.cmd_cli") as cmd_cli_mock:
|
||||
self.client.cmd_subset("*", "first.func", subset=1, cli=True)
|
||||
try:
|
||||
cmd_cli_mock.assert_called_with(
|
||||
["minion2"],
|
||||
"first.func",
|
||||
(),
|
||||
progress=False,
|
||||
kwarg=None,
|
||||
tgt_type="list",
|
||||
full_return=False,
|
||||
ret="",
|
||||
)
|
||||
except AssertionError:
|
||||
cmd_cli_mock.assert_called_with(
|
||||
["minion1"],
|
||||
"first.func",
|
||||
(),
|
||||
progress=False,
|
||||
kwarg=None,
|
||||
tgt_type="list",
|
||||
full_return=False,
|
||||
ret="",
|
||||
)
|
||||
self.client.cmd_subset("*", "first.func", sub=1, cli=True)
|
||||
try:
|
||||
cmd_cli_mock.assert_called_with(
|
||||
["minion2"],
|
||||
|
|
Loading…
Add table
Reference in a new issue