Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
Go to file
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
.github Reduce the number of days an issue is stale by 15 2017-07-28 11:09:14 -06:00
conf Passphrase protect master private key 2017-07-27 13:17:26 -05:00
doc Use explicit unicode strings + break up salt.utils 2017-08-08 13:33:43 -05:00
pkg Merge branch '2017.7' into 'develop' 2017-08-07 10:43:06 -04:00
requirements Remove GitPython from dev requirements files 2017-06-23 07:17:51 -05:00
salt Use explicit unicode strings + break up salt.utils 2017-08-08 13:33:43 -05:00
scripts Use explicit unicode strings + break up salt.utils 2017-08-08 13:33:43 -05:00
templates Fix and adapt the salt-extend templates to the LoaderModuleMockMixin 2017-03-28 19:04:05 +01:00
tests Use explicit unicode strings + break up salt.utils 2017-08-08 13:33:43 -05:00
.codeclimate.yml Configuration file for Code Climate static code analysis. 2015-05-05 13:49:46 -03:00
.editorconfig Added .editorconfig for easier editing. 2015-10-04 21:35:51 -04:00
.gitignore Revert "Fix integration tests launching - remove redundant "config_dir" argument in call to ShellTestCase.run_run from SaltDaemonScriptBase._wait_until_running" 2016-10-20 19:48:59 +09:00
.mention-bot update mention bot blacklist 2017-03-16 12:15:07 -06:00
.pylintrc Merge branch '2016.11' into 'nitrogen' 2017-05-24 16:32:59 -06:00
.testing.pylintrc Merge branch '2016.11' into 'nitrogen' 2017-05-24 16:32:59 -06:00
AUTHORS Merge pull request #39841 from rafaelcaricio/telegram-beacon 2017-03-14 13:30:37 -06:00
CODE_OF_CONDUCT.md Rename conduct file to code_of_conduct to be more clear 2017-06-09 09:39:14 -06:00
COPYING Update Salt's licensing information to include cptestcase 2016-09-01 18:46:13 +09:00
HACKING.rst Merge branch '2016.11' into 'develop' 2017-01-03 10:17:18 -05:00
LICENSE Updated copyright to 2016 2016-01-01 01:31:48 +00:00
MANIFEST.in move requirements files into requirements dir 2014-12-27 17:29:03 -07:00
README.rst change links to develop 2016-10-21 15:38:15 -06:00
setup.py do not generate a date in a comment to prevent rebuilds (bsc#969407) 2017-06-16 14:37:45 +02:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

==================
What is SaltStack?
==================

SaltStack makes software for complex systems management at scale.
SaltStack is the company that created and maintains the Salt Open
project and develops and sells SaltStack Enterprise software, services
and support. Easy enough to get running in minutes, scalable enough to
manage tens of thousands of servers, and fast enough to communicate with
them in *seconds*.

Salt is a new approach to infrastructure management built on a dynamic
communication bus. Salt can be used for data-driven orchestration,
remote execution for any infrastructure, configuration management for
any app stack, and much more.

Download Salt Open
==================

Salt Open is tested and packaged to run on CentOS, Debian, RHEL, Ubuntu,
Windows. Download Salt Open and get started now.

`<https://repo.saltstack.com/>`_

`Installation Instructions <https://docs.saltstack.com/en/latest/topics/installation/index.html>`_

SaltStack Documentation
=======================

Installation instructions, getting started guides, and in-depth API
documentation.

`<https://docs.saltstack.com/en/getstarted/>`_

`<https://docs.saltstack.com/en/latest/>`_

Get SaltStack Support and Help
==============================

**IRC Chat** - Join the vibrant, helpful and positive SaltStack chat room in
Freenode at #salt. There is no need to introduce yourself, or ask permission to
join in, just help and be helped! Make sure to wait for an answer, sometimes it
may take a few moments for someone to reply.

`<http://webchat.freenode.net/?channels=salt&uio=Mj10cnVlJjk9dHJ1ZSYxMD10cnVl83>`_

**Mailing List** - The SaltStack community users mailing list is hosted by
Google groups. Anyone can post to ask questions about SaltStack products and
anyone can help answer. Join the conversation!

`<https://groups.google.com/forum/#!forum/salt-users>`_

You may subscribe to the list without a Google account by emailing
salt-users+subscribe@googlegroups.com and you may post to the list by emailing
salt-users@googlegroups.com

**Reporting Issues** - To report an issue with Salt, please follow the
guidelines for filing bug reports:
`<https://docs.saltstack.com/en/develop/topics/development/reporting_bugs.html>`_

**SaltStack Support** - If you need dedicated, prioritized support, please
consider a SaltStack Support package that fits your needs:
`<http://www.saltstack.com/support>`_

Engage SaltStack
================

`SaltConf`_, **User Groups and Meetups** - SaltStack has a vibrant and `global
community`_ of customers, users, developers and enthusiasts. Connect with other
Salted folks in your area of the world, or join `SaltConf16`_, the SaltStack
annual user conference, April 19-21 in Salt Lake City. Please let us know if
you would like to start a user group or if we should add your existing
SaltStack user group to this list by emailing: info@saltstack.com

**SaltStack Training** - Get access to proprietary `SaltStack education
offerings`_ through instructor-led training offered on-site, virtually or at
SaltStack headquarters in Salt Lake City. SaltStack Enterprise training helps
increase the value and effectiveness of SaltStack software for any customer and
is a prerequisite for coveted `SaltStack Certified Engineer (SSCE)`_ status.
SaltStack training is also available through several `SaltStack professional
services`_ offerings.

**Follow SaltStack on -**

* YouTube - `<http://www.youtube.com/saltstack>`_
* Twitter - `<http://www.twitter.com/saltstack>`_
* Facebook - `<https://www.facebook.com/SaltStack/>`_
* LinkedIn - `<https://www.linkedin.com/company/salt-stack-inc>`_
* LinkedIn Group - `<https://www.linkedin.com/groups/4877160>`_
* Google+ - `<https://plus.google.com/b/112856352920437801867/+SaltStackInc/posts>`_

.. _SaltConf: http://www.youtube.com/user/saltstack
.. _global community: http://www.meetup.com/pro/saltstack/
.. _SaltConf16: http://saltconf.com/
.. _SaltStack education offerings: http://saltstack.com/training/
.. _SaltStack Certified Engineer (SSCE): http://saltstack.com/certification/
.. _SaltStack professional services: http://saltstack.com/services/

Developing Salt
===============

The Salt development team is welcoming, positive, and dedicated to
helping people get new code and fixes into SaltStack projects. Log into
GitHub and get started with one of the largest developer communities in
the world. The following links should get you started:

`<https://github.com/saltstack>`_

`<https://docs.saltstack.com/en/latest/topics/development/index.html>`_

`<https://docs.saltstack.com/en/develop/topics/development/pull_requests.html>`_