mirror of
https://github.com/valitydev/salt.git
synced 2024-11-08 17:33:54 +00:00
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
fd1d89d385
The file.managed state, which is used by the archive.extracted state to download the source archive, at some point recently was modified to clear the file from the minion cache. This caused unnecessary re-downloading on subsequent runs, which slows down states considerably when dealing with larger archives. This commit makes the following changes to improve this: 1. The fileclient now accepts a `source_hash` argument, which will cause the client's get_url function to skip downloading http(s) and ftp files if the file is already cached, and its hash matches the passed hash. This argument has also been added to the `cp.get_url` and `cp.cache_file` function. 2. We no longer try to download the file when it's an http(s) or ftp URL when running `file.source_list`. 3. Where `cp.cache_file` is used, we pass the `source_hash` if it is available. 4. A `cache_source` argument has been added to the `file.managed` state, defaulting to `True`. This is now used to control whether or not the source file is cleared from the minion cache when the state completes. 5. Two new states (`file.cached` and `file.not_cached`) have been added to managed files in the minion cache. In addition, the `archive.extracted` state has been modified in the following ways: 1. For consistency with `file.managed`, a `cache_source` argument has been added. This also deprecates `keep`. If `keep` is used, `cache_source` assumes its value, and a warning is added to the state return to let the user know to update their SLS. 2. The variable name `cached_source` (used internally in the `archive.extracted` state) has been renamed to `cached` to reduce confusion with the new `cache_source` argument. 3. The new `file.cached` and `file.not_cached` states are now used to manage the source tarball instead of `file.managed`. This improves disk usage and reduces unnecessary complexity in the state as we no longer keep a copy of the archive in a separate location within the cachedir. We now only use the copy downloaded using `cp.cache_file` within the `file.cached` state. This change has also necessitated a new home for hash files tracked by the `source_hash_update` argument, in a subdirectory of the minion cachedir called `archive_hash`. |
||
---|---|---|
.github | ||
conf | ||
doc | ||
pkg | ||
requirements | ||
salt | ||
scripts | ||
templates | ||
tests | ||
.codeclimate.yml | ||
.editorconfig | ||
.gitignore | ||
.mention-bot | ||
.pylintrc | ||
.testing.pylintrc | ||
AUTHORS | ||
CODE_OF_CONDUCT.md | ||
COPYING | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
setup.py |
==================
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 `SaltConf`_, the SaltStack
annual user conference held in Salt Lake City. Please visit the `SaltConf`_ site
for details of our next conference. Also, 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>`_
.. _global community: http://www.meetup.com/pro/saltstack/
.. _SaltConf: 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>`_