Commit Graph

95696 Commits

Author SHA1 Message Date
Ch3LL
1f01489017
Fix external_pillars documentation 2018-12-20 11:05:43 -05:00
Daniel Wozniak
b08b7e1fd6
Merge pull request #50917 from dwoz/test_fixes
Cherry pick test fixes from fluorine
2018-12-19 10:56:18 -07:00
Daniel A. Wozniak
16d10fbad7
Fix linter warnings 2018-12-19 10:03:18 -07:00
Daniel A. Wozniak
b22f827e79
Increase and standardize ShellCase timeouts 2018-12-19 10:02:57 -07:00
Daniel A. Wozniak
a5c8c18cd0
Do not pass unicode in environment 2018-12-19 10:01:30 -07:00
Erik Johnson
59df6b4bd2
Merge pull request #50913 from bdrung/fix-doc-build
Fix documentation build
2018-12-19 10:03:54 -06:00
Benjamin Drung
ecdb452e8a doc: Indroduce MOCK_MODULES_MAPPING
Some mocks needs some attributes defined (instead of having them returning a
mock object). Introduce a MOCK_MODULES_MAPPING mapping that defines these
attributes. This gets rid of a special handling for psutil.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:55:37 +01:00
Benjamin Drung
cf648246ea doc: Move mock_decorator_with_params up
Refactor conf.py and move mock_decorator_with_params for the following commit.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:55:37 +01:00
Benjamin Drung
08ef6694ea doc: Address pylint issues in conf.py
pylint finds issues in doc/conf.py:

```
pylint3 conf.py
************* Module conf
conf.py:226:0: C0330: Wrong hanging indentation (remove 4 spaces).
        os.pardir,  # salt itself (for autodoc)
    |   ^ (bad-continuation)
conf.py:227:0: C0330: Wrong hanging indentation (remove 4 spaces).
        '_ext',  # custom Sphinx extensions
    |   ^ (bad-continuation)
conf.py:374:0: C0301: Line too long (106/100) (line-too-long)
conf.py:442:0: C0330: Wrong hanging indentation (add 2 spaces).
  ('contents', 'Salt.tex', 'Salt Documentation', 'SaltStack, Inc.', 'manual'),
  ^ | (bad-continuation)
conf.py:485:0: C0301: Line too long (107/100) (line-too-long)
conf.py:27:0: W0613: Unused argument 'args' (unused-argument)
conf.py:27:0: W0613: Unused argument 'kwargs' (unused-argument)
conf.py:58:4: R0201: Method could be a function (no-self-use)
conf.py:198:8: R1705: Unnecessary "else" after "return" (no-else-return)
conf.py:197:0: W0613: Unused argument 'iargs' (unused-argument)
conf.py:197:0: W0613: Unused argument 'ikwargs' (unused-argument)
conf.py:187:0: W0613: Unused argument 'oargs' (unused-argument)
conf.py:187:0: W0613: Unused argument 'okwargs' (unused-argument)
conf.py:533:0: R0913: Too many arguments (6/5) (too-many-arguments)
conf.py:533:25: W0613: Unused argument 'app' (unused-argument)
conf.py:533:30: W0613: Unused argument 'what' (unused-argument)
conf.py:533:47: W0613: Unused argument 'skip' (unused-argument)
conf.py:533:53: W0613: Unused argument 'options' (unused-argument)
conf.py:542:7: W0621: Redefining name 'path' from outer scope (line 230) (redefined-outer-name)
conf.py:6:0: W0611: Unused import functools (unused-import)
conf.py:310:4: W0611: Unused import sphinxcontrib.spelling (unused-import)
```

Address those or silince pylint for wanted behavior.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:55:35 +01:00
Benjamin Drung
67a3e371a6 doc: Mark preamble variable as raw string
Importing `doc/conf.py` fails with Python 3.7:

```
>>> from conf import Mock
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "doc/conf.py", line 454
    ''',
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 5-6: truncated \uXXXX escape
```

Therefore mark the string as raw due to the backslashes.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:55:03 +01:00
Benjamin Drung
b1e6080329 doc: Fix reference to salt executors
sphinx shows a warning:

doc/topics/development/modules/index.rst:133: WARNING: undefined label:
all-salt_executors (if the link has no caption the label must precede a section
header)

The executors reference is called all-salt.executors (with a dot instead of an
underscore).

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:55:03 +01:00
Benjamin Drung
e48b3247c2 doc: Replace \xa0 (non-breaking space) by spaces
Creating the documentation produces a warning:

```
doc/topics/targeting/index.rst:90: WARNING: Could not lex literal_block as "yaml". Highlighting skipped.
```

Therefore replace the non-breaking spaces \xa0 by normal spaces.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:55:03 +01:00
Benjamin Drung
b973e7aae1 doc: Fix iterating over the Mock object in Python 3
Building the documentation for salt.modules.snapper fails with Python 3:

```
$ make -C doc html
[...]
WARNING: [autosummary] failed to import 'salt.modules.snapper': no module named salt.modules.snapper
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 109 source files that are out of date
updating environment: [config changed] 1608 added, 17 changed, 0 removed
reading sources... [100%] topics/yaml/index
doc/ref/modules/all/index.rst:20: WARNING: failed to import snapper
doc/ref/modules/all/index.rst:20: WARNING: toctree references unknown document 'ref/modules/all/snapper'
WARNING: autodoc: failed to import module 'salt.modules.snapper'; the following exception was raised:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sphinx/ext/autodoc/importer.py", line 152, in import_module
    __import__(modname)
  File "salt/modules/snapper.py", line 72, in <module>
    if SNAPPER_DBUS_OBJECT in bus.list_activatable_names():
TypeError: argument of type 'Mock' is not iterable
```

Fix the Mock object to be iterable (as it was intended to).

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:54:39 +01:00
Benjamin Drung
bb2994898c doc: Do not mock non-existing __mro_entries__ attribute
Building the documentation with the Python 3.7 version of sphinx fails:

```
$ make -C doc html SPHINXBUILD="python3.7 /usr/bin/sphinx-build"
[...]
WARNING: autodoc: failed to import module 'salt.states.pkg'; the following exception was raised:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sphinx/ext/autodoc/importer.py", line 152, in import_module
    __import__(modname)
  File "salt/states/pkg.py", line 84, in <module>
    import salt.utils.pkg
  File "salt/utils/pkg/__init__.py", line 13, in <module>
    import salt.utils.data
  File "salt/utils/data.py", line 23, in <module>
    import salt.utils.yaml
  File "salt/utils/yaml.py", line 9, in <module>
    from salt.utils.yamldumper import *
  File "salt/utils/yamldumper.py", line 34, in <module>
    class IndentMixin(Dumper):
TypeError: __mro_entries__ must return a tuple
```

Instead of returning a Mock object for the `__mro_entries__` attribute, raise
an AttributeError instead.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:28:04 +01:00
Benjamin Drung
e6cf3c4a94 Do not mock json when building the documentation
Building the documentation on Debian unstable with Python 3.7 fails:

```
debian-unstable$ HTML_THEME=saltstack make -C doc html
make: Entering directory 'doc'
No need to update translations. Skipping...
sphinx-build -b html -d _build/doctrees    . _build/html
Running Sphinx v1.7.9
loading translations [en]... done

Exception occurred:
  File "/usr/lib/python3/dist-packages/sphinx/util/jsonimpl.py", line 22, in <module>
    class SphinxJSONEncoder(json.JSONEncoder):
TypeError: __mro_entries__ must return a tuple
The full traceback has been saved in /tmp/sphinx-err-wzl9_n0k.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:72: html] Error 2
make: Leaving directory 'doc'
debian-unstable$ cat /tmp/sphinx-err-wzl9_n0k.log

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sphinx/cmdline.py", line 303, in main
    args.warningiserror, args.tags, args.verbosity, args.jobs)
  File "/usr/lib/python3/dist-packages/sphinx/application.py", line 187, in __init__
    self.setup_extension(extension)
  File "/usr/lib/python3/dist-packages/sphinx/application.py", line 411, in setup_extension
    self.registry.load_extension(self, extname)
  File "/usr/lib/python3/dist-packages/sphinx/registry.py", line 315, in load_extension
    mod = __import__(extname, None, None, ['setup'])
  File "/usr/lib/python3/dist-packages/sphinx/builders/applehelp.py", line 20, in <module>
    from sphinx.builders.html import StandaloneHTMLBuilder
  File "/usr/lib/python3/dist-packages/sphinx/builders/html.py", line 43, in <module>
    from sphinx.util import jsonimpl, logging, status_iterator
  File "/usr/lib/python3/dist-packages/sphinx/util/jsonimpl.py", line 22, in <module>
    class SphinxJSONEncoder(json.JSONEncoder):
TypeError: __mro_entries__ must return a tuple
```

The json module is a standard module. I is always present. So do not mock it.

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-19 13:27:54 +01:00
Cédric Bosdonnat
4acaf459b4 Fix sphynx error about tornado.version_info
This is fix errors like the following when building docs:

WARNING: autodoc: failed to import module 'salt.states.saltmod'; the following exception was raised:
Traceback (most recent call last):
  File "/public/src/salt/env/lib/python3.6/site-packages/sphinx/ext/autodoc/importer.py", line 140, in import_module
    __import__(modname)
  File "/public/src/salt/salt/states/saltmod.py", line 36, in <module>
    import salt.output
  File "/public/src/salt/salt/output/__init__.py", line 19, in <module>
    import salt.loader
  File "/public/src/salt/salt/loader.py", line 23, in <module>
    import salt.config
  File "/public/src/salt/salt/config/__init__.py", line 27, in <module>
    import salt.utils.network
  File "/public/src/salt/salt/utils/network.py", line 35, in <module>
    import salt.utils.zeromq
  File "/public/src/salt/salt/utils/zeromq.py", line 39, in <module>
    if tornado.version_info < (5,):
TypeError: '<' not supported between instances of 'Mock' and 'tuple'

(cherry picked from commit 8199700fdb)
2018-12-19 12:13:09 +01:00
Thomas S Hatch
f4e6b88ae4
Merge pull request #50906 from garethgreenaway/50892_archive_extracted_source_hash_case_sensitive
[2018.3] Ensure source_hash returned from get_source_sum is lowercase.
2018-12-18 21:22:22 -07:00
Gareth J. Greenaway
bcf8f06aa4
fixing lint 2018-12-18 16:48:14 -08:00
Gareth J. Greenaway
543ec7bc79
Ensure source_hash returned from get_source_sum is lowercase. 2018-12-18 16:51:26 -07:00
Gareth J. Greenaway
b95b44fa90
Merge pull request #50867 from Ch3LL/merge-2018.3
[2018.3] Merge forward from 2017.7 to 2018.3
2018-12-14 13:32:22 -08:00
Ch3LL
512293fd93
Remove dunder_dictionaries.rst. Was added to modules/developing.rst 2018-12-14 12:55:39 -05:00
Ch3LL
89b4e096db
Merge branch '2017.7' into '2018.3'
Conflicts:
  - doc/topics/development/dunder_dictionaries.rst
  - salt/grains/core.py
  - salt/netapi/rest_tornado/saltnado.py
2018-12-14 11:15:48 -05:00
Thomas S Hatch
858cfac113
Merge pull request #50863 from 5uper5hoot/fix-issue-50848
Unpack exception args in python3 compatible way.
2018-12-14 08:36:14 -07:00
Thomas S Hatch
216fa14fee
Merge pull request #50859 from garethgreenaway/50850_python_key_cache_file_binary
[2018.3] Fixes for key_cache and python3
2018-12-13 16:57:06 -07:00
Peter Schutt
c90d2019c8 Unpack exception args in python3 compatible way.
Fixes #50848
2018-12-14 10:12:26 +11:00
Gareth J. Greenaway
ebc9a01b38
When reading and writing the key cache file, when using Python3, ensuring the file is read & written in binary mode. 2018-12-13 13:09:13 -08:00
Mike Place
e28b2baf31
Merge pull request #50752 from kstreee/fix-memory-leak
Fixes a memory leak which is caused by un-cleared stream connections.
2018-12-13 09:41:59 -07:00
Mike Place
6b45aad5e7
Merge pull request #50828 from twangboy/fix_lgpo
Fix issues with lgpo state and util
2018-12-13 09:37:32 -07:00
Mike Place
1f57602043
Merge pull request #50837 from Ch3LL/pyren_doc
Clarify py render docs when data context is available
2018-12-13 09:37:14 -07:00
Mike Place
fdff67594c
Merge pull request #50844 from twangboy/fix_grains
Fix grains for future windows releases
2018-12-13 09:35:26 -07:00
Gareth J. Greenaway
05baa95e59
Merge branch '2018.3' into fix_lgpo 2018-12-12 13:23:12 -08:00
Daniel Wozniak
6ea059d308
Merge pull request #50843 from bdrung/fix-tests
Fix RemoveCapacityFromDiskgroupTestCase require pyvmomi
2018-12-12 13:36:31 -07:00
twangboy
473f4d7a24
Fix some unrelated lint 2018-12-12 13:19:01 -07:00
twangboy
fd1a0726aa
Fix grains for future windows releases 2018-12-12 13:02:23 -07:00
Daniel Wozniak
14d7d1d68b
Merge pull request #50839 from terminalmage/issue50829
Fix UnicodeDecodeError in ps module
2018-12-12 12:59:11 -07:00
Benjamin Drung
0d00ae4f8e Fix RemoveCapacityFromDiskgroupTestCase require pyvmomi
If the `pyvmomi` library is missing, all tests from the
tests.unit.modules.RemoveCapacityFromDiskgroupTestCase will fail:

```
ERROR: test__get_proxy_target_call
(unit.modules.test_vsphere.RemoveCapacityFromDiskgroupTestCase)
[CPU:0.0%|MEM:35.1%]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "salt/utils/vmware.py", line 485, in disconnect
    Disconnect(service_instance)
NameError: name 'Disconnect' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "salt/modules/vsphere.py", line 381, in _gets_service_instance_via_proxy
    salt.utils.vmware.disconnect(local_service_instance)
  File "salt/utils/vmware.py", line 486, in disconnect
    except vim.fault.NoPermission as exc:
NameError: name 'vim' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "salt/utils/vmware.py", line 485, in disconnect
    Disconnect(service_instance)
NameError: name 'Disconnect' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "tests/unit/modules/test_vsphere.py", line 1568, in test__get_proxy_target_call
    capacity_disk_ids=['fake_disk1', 'fake_disk2'])
  File "salt/modules/vsphere.py", line 295, in __supports_proxies
    return fn(*args, **salt.utils.args.clean_kwargs(**kwargs))
  File "salt/modules/vsphere.py", line 386, in _gets_service_instance_via_proxy
    salt.utils.vmware.disconnect(local_service_instance)
  File "/home/bdrung/projects/salt/debian/salt/utils/vmware.py", line 486, in disconnect
    except vim.fault.NoPermission as exc:
NameError: name 'vim' is not defined
```

Signed-off-by: Benjamin Drung <benjamin.drung@cloud.ionos.com>
2018-12-12 20:21:49 +01:00
Erik Johnson
3a3d9b7d3e
Ensure that unicode types returned from compatibility funcs 2018-12-12 11:41:43 -06:00
Erik Johnson
1a00abc5f6
Add unit test for _get_proc_cmdline 2018-12-12 11:41:18 -06:00
Erik Johnson
9eaa2edfe3
Remove extraneous comments 2018-12-12 11:11:12 -06:00
Mike Place
264a04292d
Merge pull request #50653 from lexvella/2018.3
Check file_mode in file.directory and _check_directory
2018-12-12 09:30:51 -07:00
twangboy
1233e2b480
Fix some lint 2018-12-12 09:10:43 -07:00
Erik Johnson
b855fd9e7c
Fix misspelling in comment 2018-12-12 09:55:08 -06:00
Ch3LL
a873019a57
Clarify py render docs when data context is available 2018-12-12 10:31:57 -05:00
twangboy
56c0e55581
Fix issues with lgpo state and util
Fix py3 issues in win_lgpo_netsh
Make the state case insensitive for policy lookups
2018-12-11 16:49:39 -07:00
Mike Place
a8ad17aaa4
Merge pull request #50823 from terminalmage/issue45026
salt.modules.mysql: Decode fetch results before making string comparisons
2018-12-11 14:04:40 -07:00
Erik Johnson
ec8e116f7e
Decode fetch results before making string comparisons 2018-12-11 13:58:15 -06:00
Megan Wilhite
e31e731697
Merge pull request #50817 from dubb-b/2018.3
Adding git 'v' to the bootstrap options
2018-12-11 12:28:09 -05:00
Brett Benassi
48fc01fb13
Adding git 'v' to the bootstrap options 2018-12-11 10:24:44 -07:00
Gareth J. Greenaway
32dfabab50
Merge pull request #50816 from dubb-b/2017.7
Pinning bootstrap to the tagged version of salt.
2018-12-11 09:20:01 -08:00
Brett Benassi
dc7ff48822
Pinning bootstrap to the tagged version of salt. 2018-12-11 10:09:35 -07:00