Commit Graph

110 Commits

Author SHA1 Message Date
rallytime
052b13c98e
Merge branch '2017.7' into 'develop'
Conflicts:
  - salt/cli/daemons.py
  - salt/client/ssh/__init__.py
  - salt/modules/win_pkg.py
  - salt/netapi/rest_cherrypy/app.py
  - salt/proxy/fx2.py
  - salt/utils/__init__.py
  - salt/utils/jinja.py
  - salt/utils/napalm.py
  - salt/utils/path.py
  - salt/utils/verify.py
  - tests/integration/modules/test_saltutil.py
  - tests/integration/states/test_service.py
  - tests/unit/utils/test_verify.py
2017-11-22 12:36:03 -05:00
rallytime
90d1cb221d
Add documentation about logging before modules are loaded 2017-11-20 09:05:49 -05:00
rallytime
26410c662f Update some salt.utils.x paths for moved util functions
Through merge forwards, some of the old-style paths have made their
way into develop. This PR corrects some of these instances on the more
popular functions.
2017-08-29 16:24:47 -04:00
Erik Johnson
3184168365 Use explicit unicode strings + break up salt.utils
This PR is part of what will be an ongoing effort to use explicit
unicode strings in Salt. Because Python 3 does not suport Python 2's raw
unicode string syntax (i.e. `ur'\d+'`), we must use
`salt.utils.locales.sdecode()` to ensure that the raw string is unicode.
However, because of how `salt/utils/__init__.py` has evolved into the
hulking monstrosity it is today, this means importing a large module in
places where it is not needed, which could negatively impact
performance. For this reason, this PR also breaks out some of the
functions from `salt/utils/__init__.py` into new/existing modules under
`salt/utils/`. The long term goal will be that the modules within this
directory do not depend on importing `salt.utils`.

A summary of the changes in this PR is as follows:

* Moves the following functions from `salt.utils` to new locations
  (including a deprecation warning if invoked from `salt.utils`):
  `to_bytes`, `to_str`, `to_unicode`, `str_to_num`, `is_quoted`,
  `dequote`, `is_hex`, `is_bin_str`, `rand_string`,
  `contains_whitespace`, `clean_kwargs`, `invalid_kwargs`, `which`,
  `which_bin`, `path_join`, `shlex_split`, `rand_str`, `is_windows`,
  `is_proxy`, `is_linux`, `is_darwin`, `is_sunos`, `is_smartos`,
  `is_smartos_globalzone`, `is_smartos_zone`, `is_freebsd`, `is_netbsd`,
  `is_openbsd`, `is_aix`
* Moves the functions already deprecated by @rallytime to the bottom of
  `salt/utils/__init__.py` for better organization, so we can keep the
  deprecated ones separate from the ones yet to be deprecated as we
  continue to break up `salt.utils`
* Updates `salt/*.py` and all files under `salt/client/` to use explicit
  unicode string literals.
* Gets rid of implicit imports of `salt.utils` (e.g. `from salt.utils
  import foo` becomes `import salt.utils.foo as foo`).
* Renames the `test.rand_str` function to `test.random_hash` to more
  accurately reflect what it does
* Modifies `salt.utils.stringutils.random()` (née `salt.utils.rand_string()`)
  such that it returns a string matching the passed size. Previously
  this function would get `size` bytes from `os.urandom()`,
  base64-encode it, and return the result, which would in most cases not
  be equal to the passed size.
2017-08-08 13:33:43 -05:00
rallytime
f20f3742cb Merge branch '2017.7' into 'develop'
Conflicts:
  - tests/unit/test_crypt.py
2017-08-07 10:43:06 -04:00
rallytime
685c2cced6 Add information about returning a tuple with an error message 2017-07-25 14:44:18 -06:00
rallytime
fa466519c4 Add a mention of the True/False returns with __virtual__()
And their relationship to `__virtualname__`.

Fixes #42375
2017-07-24 13:58:16 -06:00
Arno schuring
503a7c7c4d
Fix typo in modules doc 2017-06-08 13:47:40 +02:00
Arno schuring
bd1599e9f6
Add __init__ to modules doc
Add a description for the module __init__() function, as suggested
in #41628
2017-06-08 13:46:32 +02:00
Arno schuring
85f520467a
Update modules doc
Reword the description of the __virtual__() function, to clarify why
__salt__ should not be relied upon. In response to #41628
2017-06-08 13:45:14 +02:00
rallytime
dfedd1185a Merge branch '2016.3' into '2016.11'
Conflicts:
  - salt/grains/core.py
  - salt/modules/ddns.py
  - salt/templates/rh_ip/network.jinja
2016-11-28 11:08:19 -07:00
Benjamin Drung
9a51ba5c5b Fix various spelling mistakes 2016-11-24 16:00:31 +01:00
rallytime
c722a18468 Update Carbon versionadded tags to 2016.11.0 in doc/* 2016-10-27 15:26:30 -06:00
rallytime
bd157b8dbe Merge branch '2016.3' into 'develop'
Conflicts:
  - salt/utils/cloud.py
2016-08-30 12:03:06 -06:00
rallytime
9e55bee5d5 Merge branch '2015.8' into '2016.3'
No conflicts.
2016-08-30 10:17:53 -06:00
Loren Gordon
08e10f69eb Clarifies how to create aliased functions (#35891) 2016-08-30 10:04:58 -06:00
rallytime
6464236f68 Merge branch '2016.3' into 'develop'
Conflicts:
  - doc/conf.py
  - doc/ref/returners/index.rst
  - salt/states/disk.py
2016-08-25 16:09:01 -06:00
Nicole Thomas
6784cb036d Implement suggestions of bytes vs str type for #35593 (#35783)
* Implement suggestions of bytes vs str type for #35593

Refs #35593

* Str, not bytes
2016-08-25 15:45:51 -06:00
Mike Place
89bf5cf250 Developer documentation for Unicode handling (#35593)
* Developer documentation for Unicode handling

* Clarifications
2016-08-25 15:30:31 -06:00
Nicole Thomas
cd90052187 Documentation spelling fixes (#35773)
Fixes #35771
2016-08-25 13:41:03 -06:00
Erik Johnson
a5c78d626e Improve accuracy and formatting of execution module docs 2016-07-27 11:57:12 -05:00
Aditya Kulkarni
34135e1f67 Add runner for execution modules (#33949)
* Add runner for execution modules

* Make sure all modules load and fix argument passing

* Fix lint error

* Add docs for salt runner
2016-06-13 11:49:26 -04:00
Thomas S Hatch
c8facc5dae these are no longer loaded by the loader and proved to be (#32548)
more trouble that they were worth.
2016-04-13 12:55:54 -06:00
Nicole Thomas
216d9fdc9a [develop] Merge forward from 2016.3 to develop (#32494)
* fix sorting by latest version when called with an attribute

* remove reference to master_alive_check

* Fixes saltstack/salt#28262

* Resolve memory leak in authentication

* outputter virt_list does not exist anymore

* Update proxmox documentation

* Fix documentation on boto_asg and boto_elb modules and states

* modules.win_timezone: don't list all zones in debug log

* Correcty index glusterfs bricks

Fixes issue #32311

* Cleaner deprecation process with decorators

* Add deprecation decorator scaffold

* Capture type error and unhandled exceptions while function calls

* Aware of the current and future version of deprecation

* Implement initially is_deprecated decorator

* Add an alias for the capitalization

* Fix capitalization easier way

* Remove an extra line

* Add successor name to the deprecation decorator.

* Granulate logging and error messages.

* Implement function swapper

* Raise later the caught exception

* Clarify exception message

* Save function original name

* Remove an extra line

* Hide an alternative hidden function name in the error message, preserving the error itself

* Rename variable as private

* Add a method to detect if a function is using its previous version

* Message to the log and/or raise an exception accordingly to the status of used function

* Log an error along with the exception

* Add internal method documentation

* Add documentation and usage process for decorator "is_deprecated"

* Add documentation and process usage for the decorator "with_deprecated"

* Hide private method name

* Fix PEP8, re-word the error message

* Deprecate basic uptime function

* Add initial decorator unit test

* Rename old/new functions, mock versions

* Move frequent data to the test setup

* Add logging on EOL exception

* Rename and document high to low version test on is_deprecated

* Implement a test on low to high version of is_deprecated decorator

* Add a correction to the test description

* Remove a dead code

* Implement a test for high to low version on is_deprecated, using with_successor param

* Correct typso adn mistaeks

* Implement high to low version with successor param on is_deprecated

* Setup a virtual name for the module

* Implement test for with_deprecated should raise an exception if same deprecated function not found

* Implement test for with_deprecated an old function is picked up if configured

* Correct test description purpose

* Implement test with_deprecated when no deprecation is requested

* Add logging test to the configured deprecation request

* Add logging testing when deprecated version wasn't requested

* Implement test EOL for with_deprecated decorator

* Correct test explanation

* Rename the test

* Implement with_deprecated no EOL, deprecated other function name

* Implement with_deprecated, deprecated other function name, EOL reached

* Add test description for the with_deprecated + with_name + EOL

* Fix confusing test names

* Add logging test to the is_deprecated decorator when function as not found.

* Add more test point to each test, remove empty lines

* Bugfix: at certain conditions a wrong alias name is reported to the log

* Fix a typo in a comment

* Add test for the logging

* Disable a pylint: None will _never_ be raised

* Fix test for the deprecated "status.uptime" version

* Bugfix: Do not yank raised exceptions

* Remove unnecessary decorator

* Add test for the new uptime

* Add test for the new uptime fails when /proc/uptime does not exists

* Rename old test case

* Skip test for the UTC time, unless freeze time is used.

* Fix pylint

* Fix documentation

* Bugfix: proxy-pass the docstring of the decorated function

* Lint fix

* Fixes saltstack/salt#28262 for 2015.5 branch

* Update master config docs

* Improve git_pillar documentation/logging

* Add note about different behavior of top file in git_pillar

* Make log entry for a missing pillar SLS file more accurate for git_pillar

* FreeBSD supports packages in format java/openjdk7 so the prior commit broke that functionality. Check freebsd/pkg#1409 for more info.

* FreeBSD supports packages in format java/openjdk7 so the prior commit broke that functionality. Check freebsd/pkg#1409 for more info.

* Update glusterfs_test to be inline with #32312

* Fix salt-cloud paralell provisioning

Closes #31632

* Ignore Raspbian in service.py __virtual__ (#32421)

* Ignore Raspbian in service.py __virtual__

This prevents more than one execution module from trying to load as the
service virtual module.

Refs: #32413

* pack __salt__ before loading provider overrides

We can (and should) pack here since we're just packing a reference to the
object. __salt__ needs to be available when we're loading our provider
overrides

* Fix broken __salt__ dict in provider override

Using ret.items() here sets ``__salt__`` to its items (tuple containing
function name and reference), breaking usage of ``__salt__`` inside
overridden functions.

* Merge #32293 with test fixes (#32418)

* Fix issue #11497

* Remove check for working directory presence in tests

* Fix Domainname introspection

Default value needs to be extracted from the container itself,
because dockerd set Domainname value when network_mode=host.

* Add pgjsonb_queue to queue doc index

* Pylint fixes

* Pass parser options into batch mode

Resolves #31738

* Changed the target file in file.symlink test (#32443)

* Argument name in docs should match actual arg name (#32445)

Fixes #31851

* tests.integration: bypass MacOS TMPDIR, gettempdir (#32447)

Updates 0edd532, 8f558a5.

When logging in as root over `ssh root@host`, `$TMPDIR` and
`tempfile.gettempdir()` are both set to a variation of:
```
/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/
```
When logging in as root over `sudo -i`, `$TMPDIR` is unset and
`tempfile.gettempdir()` is set to `/tmp`.

My guess is that the second case is an unintended or uncorrected omision
by Apple as they have introduced the longer, randomized temp path in a
recent version of MacOS.

* Issue #28706: Fix state user.present behavior. (#32448)

- As mentionned in issue #28706, state user.present no longer remove
      user from groups if the keyword 'groups' with empty value '[]' is not
      explicitly set, salt will assume current groups are still wanted.

* tests.integration: fix 4230c8a

* Move the tables of virtual modules to individual documentation pages

* Add new doc pages to toctree

* Add external ref to windows package manager docs

* Improve docstrings

* Add documentation on virtual module provider overrides to the module docs

* Clarify the scope of the provider param in states.

* Add link to provider override docs to all package providers

* Add link to provider override docs to all service providers

* Add link to provider override docs to all user providers

* dd link to provider override docs to all shadow providers

* Add link to provider override docs to all group providers

* Backport 31164 and 31364 (#32474)

* Don't send REQ while another one is waiting for response.

The message has to be removed from the queue the only *after* it's
already processed to don't confuse send() functionality that expects
empty queue means: there's no active sendings.

* Fixed zeromq ReqMessageClient destroy

* Add link to provider override docs to opkg.py

This is a companion to https://github.com/saltstack/salt/pull/32458, but
this module was not added until the 2016.3 branch, so the documentation
is being updated there for this module.

* Add documentation for some master/minion configs (#32454)

Refs #32400

Adds docs for:

- cli_summary
- event_return_queue
- event_return_whitelist
- event_return_blacklist
- file_recv_max_size
- fileserver_followsymlinks
- fileserver_ignoresymlinks
- fileserver_limit_traversal

* Automatically detect correct MySQL password column for 5.7 and fix setting passwords (#32440)

* Automatically detect MySQL password column

* Fix changing password in MySQL 5.7

* Fix lint test

* Fix unit tests (?)

They will still fail if "authentication_string" is legitimately the right column name, but I don't know what to do about that.

* Additional unit test fix

* Only unsub if we have a jid

Closes #32479
2016-04-11 17:07:15 -06:00
rallytime
4f03f2311f Merge branch '2015.8' into '2016.3'
Conflicts:
  - salt/cli/salt.py
  - salt/modules/win_pkg.py
  - salt/transport/tcp.py
2016-04-11 14:33:21 -06:00
rallytime
1b04f0ddec Merge branch '2015.5' into '2015.8'
Conflicts:
  - doc/ref/configuration/minion.rst
  - doc/ref/modules/all/index.rst
  - doc/ref/modules/index.rst
  - salt/modules/systemd.py
  - salt/modules/zypper.py
2016-04-11 11:33:08 -06:00
Erik Johnson
af24c82ab0 Add documentation on virtual module provider overrides to the module docs 2016-04-08 22:01:14 -05:00
rallytime
f6d9cdc633 Merge branch '2015.8' into '2016.3'
Conflicts:
  - doc/ref/states/compiler_ordering.rst
  - doc/topics/installation/suse.rst
  - doc/topics/jobs/schedule.rst
  - doc/topics/targeting/grains.rst
  - doc/topics/tutorials/preseed_key.rst
  - doc/topics/tutorials/states_pt5.rst
  - pkg/suse/use-forking-daemon.patch
  - salt/minion.py
  - salt/modules/pacman.py
  - salt/modules/state.py
  - salt/modules/yumpkg.py
2016-03-25 11:47:16 -06:00
rallytime
7554d0f42d Merge branch '2015.5' into '2015.8'
Conflicts:
  - doc/ref/states/include.rst
  - doc/topics/cloud/reactor.rst
  - doc/topics/reactor/index.rst
  - doc/topics/releases/2015.5.10.rst
  - doc/topics/tutorials/states_pt5.rst
  - doc/topics/windows/windows-package-manager.rst
  - salt/config.py
  - salt/modules/state.py
  - salt/states/grains.py
  - tests/integration/modules/sysmod.py
  - tests/unit/states/grains_test.py
2016-03-24 15:48:00 -06:00
Erik Johnson
1b97e4a3df Improve state module docs, replace references to state.highstate/state.sls with state.apply
Resolves #32037.
2016-03-21 22:56:17 -05:00
Jacob Hammons
b192a9ba38 Doc restructuring, organization, and cleanup. Updated the doc navigation. 2016-01-31 20:10:02 -07:00
rallytime
d31b0d1573 Merge branch '2015.8' into develop 2015-11-04 15:40:03 -07:00
Benjamin Drung
8edd2c1add Fix typos of dependency 2015-11-04 10:58:40 +01:00
Colton Myers
9128e8e7ae Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    salt/cloud/clouds/gce.py
    salt/modules/daemontools.py
2015-10-07 13:14:28 -06:00
Colton Myers
69d960f8e6 Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    doc/man/salt.7
    doc/topics/ssh/index.rst
    salt/modules/boto_secgroup.py
    salt/modules/dockerng.py
    salt/states/archive.py
    salt/states/boto_elb.py
    salt/states/boto_secgroup.py
    tests/unit/modules/schedule_test.py
2015-10-07 13:11:48 -06:00
Colton Myers
35425b14ad Merge remote-tracking branch 'upstream/2015.5' into merge-forward-2015.8
Conflicts:
    doc/man/salt-api.1
    doc/man/salt-call.1
    doc/man/salt-cloud.1
    doc/man/salt-cp.1
    doc/man/salt-key.1
    doc/man/salt-master.1
    doc/man/salt-minion.1
    doc/man/salt-run.1
    doc/man/salt-ssh.1
    doc/man/salt-syndic.1
    doc/man/salt-unity.1
    doc/man/salt.1
    doc/man/salt.7
    salt/modules/pip.py
    salt/states/user.py
2015-10-07 12:06:12 -06:00
Justin Findlay
03400ef45b fix virtual fcn return doc indentation
Fixes #27724.
2015-10-07 11:49:16 -06:00
Jacob Hammons
75cc07cf10 noted that __virtual__ can return False and an error string 2015-10-07 09:48:46 -06:00
Jacob Hammons
b928e1afa8 update docs for __virtual__ and __virtualname__
Refs #26673
2015-10-06 17:23:42 -06:00
Justin Findlay
6bddf80546 update __virtual__ return documentation
Related to #26755; fixes #27116; implements part of #27643.
2015-10-06 13:47:31 -06:00
Colton Myers
9864d9e0fa Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    doc/ref/modules/all/index.rst
    doc/topics/releases/boron.rst
    salt/cli/daemons.py
    salt/cli/salt.py
    salt/modules/jboss7.py
    salt/states/file.py
2015-09-18 11:03:37 -06:00
Colton Myers
26b6c92975 Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    doc/conf.py
    salt/config/__init__.py
    salt/modules/rh_ip.py
    salt/pillar/s3.py
    salt/returners/local_cache.py
    salt/states/user.py
    salt/templates/rh_ip/rh7_eth.jinja
2015-09-17 11:10:37 -06:00
Colton Myers
2c2a5f85ac Merge remote-tracking branch 'upstream/2015.5' into merge-forward-2015.8
Conflicts:
    doc/conf.py
    doc/topics/cloud/gce.rst
    salt/cli/api.py
    salt/cli/call.py
    salt/cli/cp.py
    salt/cli/key.py
    salt/cli/run.py
    salt/cli/salt.py
    salt/modules/dockerio.py
    salt/states/dockerio.py
2015-09-17 10:54:33 -06:00
Jacob Hammons
6e323b6dd3 Update latest to 2015.8, 2015.5 is now previous
Assorted style and minor updates
2015-09-14 16:32:22 -06:00
Colton Myers
274464a85b Merge remote-tracking branch 'upstream/2015.5' into merge-forward-2015.8
Conflicts:
    doc/topics/reactor/index.rst
    salt/cloud/clouds/digital_ocean_v2.py
    salt/modules/groupadd.py
    salt/modules/localemod.py
    salt/modules/mysql.py
    salt/modules/useradd.py
    salt/modules/win_pkg.py
    salt/modules/win_useradd.py
    salt/netapi/rest_cherrypy/app.py
    salt/pillar/s3.py
    salt/returners/local_cache.py
    salt/states/htpasswd.py
    salt/states/user.py
2015-09-14 14:39:03 -06:00
Colton Myers
307d3d05a4 Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    doc/man/salt.7
    salt/modules/yumpkg.py
2015-09-03 14:24:45 -06:00
Jacob Hammons
ac3bd47440 states/pkgrepo examples, suse installation updates
Refs #26644
Refs #26638
2015-09-02 11:37:40 -06:00
Colton Myers
1e1f5f3a95 Merge remote-tracking branch 'upstream/2015.5' into merge-forward-2015.8
Conflicts:
    doc/conf.py
    doc/topics/cloud/config.rst
    doc/topics/cloud/index.rst
    salt/modules/git.py
    salt/states/git.py
    salt/states/pkgrepo.py
2015-09-01 15:35:21 -06:00
Colton Myers
278e8dda5b Merge remote-tracking branch 'upstream/2015.8' into merge-forward-develop
Conflicts:
    salt/cloud/clouds/gce.py
2015-09-01 15:15:13 -06:00
Jacob Hammons
0ec036350d Updates to salt-ssh and salt-key
#24510
2015-08-31 20:00:30 -06:00