mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge branch '2017.7' into jid_queue
This commit is contained in:
commit
4bdd5bbf6b
5 changed files with 34 additions and 9 deletions
|
@ -1164,7 +1164,7 @@ be able to execute a certain module. The ``sys`` module is built into the minion
|
|||
and cannot be disabled.
|
||||
|
||||
This setting can also tune the minion. Because all modules are loaded into system
|
||||
memory, disabling modules will lover the minion's memory footprint.
|
||||
memory, disabling modules will lower the minion's memory footprint.
|
||||
|
||||
Modules should be specified according to their file name on the system and not by
|
||||
their virtual name. For example, to disable ``cmd``, use the string ``cmdmod`` which
|
||||
|
|
|
@ -123,7 +123,7 @@ to the module being tests one should do:
|
|||
}
|
||||
|
||||
Consider this more extensive example from
|
||||
``tests/unit/modules/test_libcloud_dns.py``::
|
||||
``tests/unit/modules/test_libcloud_dns.py``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
@ -319,7 +319,7 @@ function into ``__salt__`` that's actually a MagicMock instance.
|
|||
|
||||
def show_patch(self):
|
||||
with patch.dict(my_module.__salt__,
|
||||
{'function.to_replace': MagicMock()}:
|
||||
{'function.to_replace': MagicMock()}):
|
||||
# From this scope, carry on with testing, with a modified __salt__!
|
||||
|
||||
|
||||
|
|
|
@ -490,11 +490,14 @@ logger = logging.getLogger(__name__)
|
|||
import cherrypy
|
||||
try:
|
||||
from cherrypy.lib import cpstats
|
||||
except ImportError:
|
||||
except AttributeError:
|
||||
cpstats = None
|
||||
logger.warn('Import of cherrypy.cpstats failed. '
|
||||
'Possible upstream bug: '
|
||||
'https://github.com/cherrypy/cherrypy/issues/1444')
|
||||
except ImportError:
|
||||
cpstats = None
|
||||
logger.warn('Import of cherrypy.cpstats failed.')
|
||||
|
||||
import yaml
|
||||
import salt.ext.six as six
|
||||
|
|
|
@ -4,29 +4,43 @@ Return salt data via mattermost
|
|||
|
||||
.. versionadded:: 2017.7.0
|
||||
|
||||
The following fields can be set in the minion conf file::
|
||||
The following fields can be set in the minion conf file:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
mattermost.hook (required)
|
||||
mattermost.username (optional)
|
||||
mattermost.channel (optional)
|
||||
|
||||
Alternative configuration values can be used by prefacing the configuration.
|
||||
Any values not found in the alternative configuration will be pulled from
|
||||
the default location:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
mattermost.channel
|
||||
mattermost.hook
|
||||
mattermost.username
|
||||
|
||||
mattermost settings may also be configured as:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
mattermost:
|
||||
channel: RoomName
|
||||
hook: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
username: user
|
||||
channel: RoomName
|
||||
hook: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
username: user
|
||||
|
||||
To use the mattermost returner, append '--return mattermost' to the salt command.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' test.ping --return mattermost
|
||||
|
||||
To override individual configuration items, append --return_kwargs '{'key:': 'value'}' to the salt command.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
salt '*' test.ping --return mattermost --return_kwargs '{'channel': '#random'}'
|
||||
'''
|
||||
from __future__ import absolute_import
|
||||
|
@ -53,6 +67,7 @@ __virtualname__ = 'mattermost'
|
|||
def __virtual__():
|
||||
'''
|
||||
Return virtual name of the module.
|
||||
|
||||
:return: The virtual name of the module.
|
||||
'''
|
||||
return __virtualname__
|
||||
|
@ -118,6 +133,7 @@ def returner(ret):
|
|||
def event_return(events):
|
||||
'''
|
||||
Send the events to a mattermost room.
|
||||
|
||||
:param events: List of events
|
||||
:return: Boolean if messages were sent successfully.
|
||||
'''
|
||||
|
@ -153,6 +169,7 @@ def post_message(channel,
|
|||
hook):
|
||||
'''
|
||||
Send a message to a mattermost room.
|
||||
|
||||
:param channel: The room name.
|
||||
:param message: The message to send to the mattermost room.
|
||||
:param username: Specify who the message is from.
|
||||
|
|
|
@ -21,6 +21,7 @@ import salt.utils.parsers
|
|||
import salt.log.setup as log
|
||||
import salt.config
|
||||
import salt.syspaths
|
||||
import salt.utils
|
||||
|
||||
|
||||
class ErrorMock(object): # pylint: disable=too-few-public-methods
|
||||
|
@ -78,7 +79,8 @@ class LogSetupMock(object):
|
|||
'''
|
||||
Mock
|
||||
'''
|
||||
return None
|
||||
import multiprocessing
|
||||
return multiprocessing.Queue()
|
||||
|
||||
def setup_multiprocessing_logging_listener(self, opts, *args): # pylint: disable=invalid-name,unused-argument
|
||||
'''
|
||||
|
@ -488,6 +490,7 @@ class LogSettingsParserTests(TestCase):
|
|||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
||||
@skipIf(salt.utils.is_windows(), 'Windows uses a logging listener')
|
||||
class MasterOptionParserTestCase(LogSettingsParserTests):
|
||||
'''
|
||||
Tests parsing Salt Master options
|
||||
|
@ -514,6 +517,7 @@ class MasterOptionParserTestCase(LogSettingsParserTests):
|
|||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
||||
@skipIf(salt.utils.is_windows(), 'Windows uses a logging listener')
|
||||
class MinionOptionParserTestCase(LogSettingsParserTests):
|
||||
'''
|
||||
Tests parsing Salt Minion options
|
||||
|
@ -567,6 +571,7 @@ class ProxyMinionOptionParserTestCase(LogSettingsParserTests):
|
|||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
||||
@skipIf(salt.utils.is_windows(), 'Windows uses a logging listener')
|
||||
class SyndicOptionParserTestCase(LogSettingsParserTests):
|
||||
'''
|
||||
Tests parsing Salt Syndic options
|
||||
|
|
Loading…
Add table
Reference in a new issue