mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge branch 'master' into fix-pkg-group_info
This commit is contained in:
commit
cb3910cbaa
863 changed files with 22091 additions and 5299 deletions
|
@ -11,7 +11,7 @@ runTestSuite(
|
|||
kitchen_platforms_file: '/var/jenkins/workspace/pre-golden-nox-platforms.yml',
|
||||
kitchen_verifier_file: '/var/jenkins/workspace/nox-verifier.yml',
|
||||
nox_env_name: 'runtests-zeromq',
|
||||
nox_passthrough_opts: '',
|
||||
nox_passthrough_opts: '--ssh-tests',
|
||||
python_version: 'py3',
|
||||
run_full: params.runFull,
|
||||
testrun_timeout: 6,
|
||||
|
|
|
@ -11,7 +11,7 @@ runTestSuite(
|
|||
kitchen_platforms_file: '/var/jenkins/workspace/pre-golden-nox-platforms.yml',
|
||||
kitchen_verifier_file: '/var/jenkins/workspace/nox-verifier.yml',
|
||||
nox_env_name: 'runtests-zeromq',
|
||||
nox_passthrough_opts: '',
|
||||
nox_passthrough_opts: '--ssh-tests',
|
||||
python_version: 'py3',
|
||||
run_full: params.runFull,
|
||||
testrun_timeout: 6,
|
||||
|
|
|
@ -11,7 +11,7 @@ runTestSuite(
|
|||
kitchen_platforms_file: '/var/jenkins/workspace/pre-golden-nox-platforms.yml',
|
||||
kitchen_verifier_file: '/var/jenkins/workspace/nox-verifier.yml',
|
||||
nox_env_name: 'runtests-zeromq',
|
||||
nox_passthrough_opts: '',
|
||||
nox_passthrough_opts: '--ssh-tests',
|
||||
python_version: 'py3',
|
||||
run_full: params.runFull,
|
||||
testrun_timeout: 6,
|
||||
|
|
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
|
@ -2,7 +2,7 @@
|
|||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[BUG]"
|
||||
labels: bug
|
||||
labels: Bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
|
|
@ -304,6 +304,207 @@ repos:
|
|||
- --py-version=3.7
|
||||
- --platform=linux
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-linux-py3.8-zmq-requirements
|
||||
name: Linux Py3.8 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/linux\.in)$
|
||||
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|darwin|windows)\.in$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-darwin-py3.8-zmq-requirements
|
||||
name: Darwin Py3.8 ZeroMQ Requirements
|
||||
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|zeromq|pytest)\.txt|static/darwin\.in))$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
- --platform=darwin
|
||||
- --include=pkg/osx/req.txt
|
||||
- --include=pkg/osx/req_ext.txt
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --passthrough-line-from-input=^pyobjc(.*)$
|
||||
|
||||
# Commented out since pywin32 and pymssql do not have packages or support for Py >= 3.8
|
||||
# - id: pip-tools-compile
|
||||
# alias: compile-windows-py3.8-zmq-requirements
|
||||
# name: Windows Py3.8 ZeroMQ Requirements
|
||||
# files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|zeromq|pytest)\.txt|static/windows\.in))$
|
||||
# args:
|
||||
# - -v
|
||||
# - --py-version=3.8
|
||||
# - --platform=windows
|
||||
# - --include=pkg/windows/req.txt
|
||||
# - --include=pkg/windows/req_win.txt
|
||||
# - --include=requirements/base.txt
|
||||
# - --include=requirements/zeromq.txt
|
||||
# - --include=requirements/pytest.txt
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-cloud-py3.8-requirements
|
||||
name: Cloud Py3.8 Requirements
|
||||
files: ^requirements/(static/cloud\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-doc-requirements
|
||||
name: Docs Py3.8 Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/docs\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
- --platform=linux
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-linux-crypto-py3.8-requirements
|
||||
name: Linux Py3.8 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/crypto\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
- --platform=linux
|
||||
- --out-prefix=linux
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-darwin-crypto-py3.8-requirements
|
||||
name: Darwin Py3.8 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/crypto\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
- --platform=darwin
|
||||
- --out-prefix=darwin
|
||||
|
||||
# Commented out since pywin32 and pymssql do not have packages or support for Py >= 3.8
|
||||
# - id: pip-tools-compile
|
||||
# alias: compile-windows-crypto-py3.8-requirements
|
||||
# name: Windows Py3.8 Crypto Requirements
|
||||
# files: ^requirements/(crypto\.txt|static/crypto\.in)$
|
||||
# args:
|
||||
# - -v
|
||||
# - --py-version=3.8
|
||||
# - --platform=windows
|
||||
# - --out-prefix=windows
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-lint-py3.8-requirements
|
||||
name: Lint Py3.8 Requirements
|
||||
files: ^requirements/static/lint\.in$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.8
|
||||
- --platform=linux
|
||||
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-linux-py3.9-zmq-requirements
|
||||
name: Linux Py3.9 ZeroMQ Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/linux\.in)$
|
||||
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|darwin|windows)\.in$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
- --platform=linux
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-darwin-py3.9-zmq-requirements
|
||||
name: Darwin Py3.9 ZeroMQ Requirements
|
||||
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|zeromq|pytest)\.txt|static/darwin\.in))$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
- --platform=darwin
|
||||
- --include=pkg/osx/req.txt
|
||||
- --include=pkg/osx/req_ext.txt
|
||||
- --include=requirements/base.txt
|
||||
- --include=requirements/zeromq.txt
|
||||
- --include=requirements/pytest.txt
|
||||
- --passthrough-line-from-input=^pyobjc(.*)$
|
||||
|
||||
# Commented out since pywin32 and pymssql do not have packages or support for Py >= 3.8
|
||||
# - id: pip-tools-compile
|
||||
# alias: compile-windows-py3.9-zmq-requirements
|
||||
# name: Windows Py3.9 ZeroMQ Requirements
|
||||
# files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|zeromq|pytest)\.txt|static/windows\.in))$
|
||||
# args:
|
||||
# - -v
|
||||
# - --py-version=3.9
|
||||
# - --platform=windows
|
||||
# - --include=pkg/windows/req.txt
|
||||
# - --include=pkg/windows/req_win.txt
|
||||
# - --include=requirements/base.txt
|
||||
# - --include=requirements/zeromq.txt
|
||||
# - --include=requirements/pytest.txt
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-cloud-py3.9-requirements
|
||||
name: Cloud Py3.9 Requirements
|
||||
files: ^requirements/(static/cloud\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-doc-requirements
|
||||
name: Docs Py3.9 Requirements
|
||||
files: ^requirements/((base|zeromq|pytest)\.txt|static/docs\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
- --platform=linux
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-linux-crypto-py3.9-requirements
|
||||
name: Linux Py3.9 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/crypto\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
- --platform=linux
|
||||
- --out-prefix=linux
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-darwin-crypto-py3.9-requirements
|
||||
name: Darwin Py3.9 Crypto Requirements
|
||||
files: ^requirements/(crypto\.txt|static/crypto\.in)$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
- --platform=darwin
|
||||
- --out-prefix=darwin
|
||||
|
||||
# Commented out since pywin32 and pymssql do not have packages or support for Py >= 3.8
|
||||
# - id: pip-tools-compile
|
||||
# alias: compile-windows-crypto-py3.9-requirements
|
||||
# name: Windows Py3.9 Crypto Requirements
|
||||
# files: ^requirements/(crypto\.txt|static/crypto\.in)$
|
||||
# args:
|
||||
# - -v
|
||||
# - --py-version=3.9
|
||||
# - --platform=windows
|
||||
# - --out-prefix=windows
|
||||
|
||||
- id: pip-tools-compile
|
||||
alias: compile-lint-py3.9-requirements
|
||||
name: Lint Py3.9 Requirements
|
||||
files: ^requirements/static/lint\.in$
|
||||
args:
|
||||
- -v
|
||||
- --py-version=3.9
|
||||
- --platform=linux
|
||||
|
||||
- repo: https://github.com/timothycrosley/isort
|
||||
rev: "1e78a9acf3110e1f9721feb591f89a451fc9876a"
|
||||
hooks:
|
||||
|
@ -319,7 +520,7 @@ repos:
|
|||
)$
|
||||
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 19.10b0
|
||||
rev: stable
|
||||
hooks:
|
||||
- id: black
|
||||
# This tells pre-commit not to pass files to black.
|
||||
|
@ -331,6 +532,7 @@ repos:
|
|||
tests/kitchen/.*
|
||||
)$
|
||||
|
||||
|
||||
- repo: https://github.com/saltstack/salt-nox-pre-commit
|
||||
rev: master
|
||||
hooks:
|
||||
|
|
|
@ -128,7 +128,8 @@ disable=R,
|
|||
import-outside-toplevel,
|
||||
deprecated-method,
|
||||
repr-flag-used-in-string,
|
||||
keyword-arg-before-vararg
|
||||
keyword-arg-before-vararg,
|
||||
incompatible-py3-code
|
||||
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
|
|
26
CHANGELOG.md
26
CHANGELOG.md
|
@ -7,6 +7,7 @@ This project versioning is _similar_ to [Semantic Versioning](https://semver.org
|
|||
Versions are `MAJOR.PATCH`.
|
||||
|
||||
## 3001 - Sodium
|
||||
## 3001 - Sodium [yyyy-mm-dd]
|
||||
|
||||
### Removed
|
||||
|
||||
|
@ -16,8 +17,8 @@ Versions are `MAJOR.PATCH`.
|
|||
|
||||
### Fixed
|
||||
|
||||
- [#56237](https://github.com/saltstack/salt/pull/56237) - Fix alphabetical ordering and remove duplicates across all documentation indexes - [@myii](https://github.com/myii)
|
||||
- [#56325](https://github.com/saltstack/salt/pull/56325) - Fix hyperlinks to `salt.serializers` and other documentation issues - [@myii](https://github.com/myii)
|
||||
### Added
|
||||
- [#56637](https://github.com/saltstack/salt/pull/56637) - Add ``win_wua.installed`` to the ``win_wua`` execution module
|
||||
|
||||
## 3000.1
|
||||
|
||||
|
@ -26,6 +27,27 @@ Versions are `MAJOR.PATCH`.
|
|||
### Deprecated
|
||||
|
||||
### Changed
|
||||
- [#56751](https://github.com/saltstack/salt/pull/56751) - Backport 49981
|
||||
|
||||
- [#56731](https://github.com/saltstack/salt/pull/56731) - Backport #53994
|
||||
- [#56753](https://github.com/saltstack/salt/pull/56753) - Backport 51095
|
||||
|
||||
### Fixed
|
||||
- [#56237](https://github.com/saltstack/salt/pull/56237) - Fix alphabetical ordering and remove duplicates across all documentation indexes - [@myii](https://github.com/myii)
|
||||
- [#56325](https://github.com/saltstack/salt/pull/56325) - Fix hyperlinks to `salt.serializers` and other documentation issues - [@myii](https://github.com/myii)
|
||||
|
||||
### Added
|
||||
- [#56627](https://github.com/saltstack/salt/pull/56627) - Add new salt-ssh set_path option
|
||||
- [#51379](https://github.com/saltstack/salt/pull/56792) - Backport 51379 : Adds .set_domain_workgroup to win_system
|
||||
|
||||
## 3000.1
|
||||
|
||||
### Removed
|
||||
|
||||
### Deprecated
|
||||
|
||||
### Changed
|
||||
- [#56730](https://github.com/saltstack/salt/pull/56730) - Backport #52992
|
||||
|
||||
### Fixed
|
||||
|
||||
|
|
158
COPYING
158
COPYING
|
@ -1,158 +0,0 @@
|
|||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: salt
|
||||
Upstream-Contact: salt-users@googlegroups.com
|
||||
Source: https://github.com/saltstack/salt
|
||||
|
||||
Files: *
|
||||
Copyright: 2014 SaltStack Team
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License, Version 2.0 can be
|
||||
found in the file
|
||||
`/usr/share/common-licenses/Apache-2.0'.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2013 Joe Healy <joehealy@gmail.com>
|
||||
2012 Michael Prokop <mika@debian.org>
|
||||
2012 Christian Hofstaedtler <christian@hofstaedtler.name>
|
||||
2012 Ulrich Dangel <mru@spamt.net>
|
||||
2012 Corey Quinn <corey@sequestered.net>
|
||||
2011 Aaron Toponce <aaron.toponce@gmail.com>
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License, Version 2.0 can be
|
||||
found in the file
|
||||
`/usr/share/common-licenses/Apache-2.0'.
|
||||
|
||||
Files: salt/auth/pam.py
|
||||
Copyright: 2007 Chris AtLee <chris@atlee.ca>
|
||||
License: MIT License
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Files: doc/_ext/youtube.py
|
||||
Copyright: 2009 Chris Pickel <sfiera@gmail.com>
|
||||
License: BSD-2-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
.
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Files: salt/ext/six.py
|
||||
Copyright: 2010-2014 Benjamin Peterson
|
||||
License: MIT License
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Files: doc/_ext/images
|
||||
Copyright: 2013 SaltStack Team
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License, Version 2.0 can be
|
||||
found in the file
|
||||
`/usr/share/common-licenses/Apache-2.0'.
|
||||
.
|
||||
Files in this directory were created in-house.
|
||||
|
||||
Files: tests/utils/cptestcase.py
|
||||
Copyright: (c) 2014 Adam Hajari
|
||||
The MIT License (MIT)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
353
LICENSE
353
LICENSE
|
@ -1,6 +1,192 @@
|
|||
Salt - Remote execution system
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
Copyright 2014-2019 SaltStack Team
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -14,3 +200,166 @@
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
===========================================================================
|
||||
|
||||
Below is a summary of the licensing used by external modules that are
|
||||
bundled with SaltStack.
|
||||
|
||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: salt
|
||||
Upstream-Contact: salt-users@googlegroups.com
|
||||
Source: https://github.com/saltstack/salt
|
||||
|
||||
Files: *
|
||||
Copyright: 2014 SaltStack Team
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License, Version 2.0 can be
|
||||
found in the file
|
||||
`/usr/share/common-licenses/Apache-2.0'.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2013 Joe Healy <joehealy@gmail.com>
|
||||
2012 Michael Prokop <mika@debian.org>
|
||||
2012 Christian Hofstaedtler <christian@hofstaedtler.name>
|
||||
2012 Ulrich Dangel <mru@spamt.net>
|
||||
2012 Corey Quinn <corey@sequestered.net>
|
||||
2011 Aaron Toponce <aaron.toponce@gmail.com>
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License, Version 2.0 can be
|
||||
found in the file
|
||||
`/usr/share/common-licenses/Apache-2.0'.
|
||||
|
||||
Files: salt/auth/pam.py
|
||||
Copyright: 2007 Chris AtLee <chris@atlee.ca>
|
||||
License: MIT License
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Files: doc/_ext/youtube.py
|
||||
Copyright: 2009 Chris Pickel <sfiera@gmail.com>
|
||||
License: BSD-2-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
.
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Files: salt/ext/six.py
|
||||
Copyright: 2010-2014 Benjamin Peterson
|
||||
License: MIT License
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Files: doc/_ext/images
|
||||
Copyright: 2013 SaltStack Team
|
||||
License: Apache-2.0
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the full text of the Apache License, Version 2.0 can be
|
||||
found in the file
|
||||
`/usr/share/common-licenses/Apache-2.0'.
|
||||
.
|
||||
Files in this directory were created in-house.
|
||||
|
||||
Files: tests/utils/cptestcase.py
|
||||
Copyright: (c) 2014 Adam Hajari
|
||||
The MIT License (MIT)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
|
|
@ -78,3 +78,10 @@ services`_ offerings.
|
|||
.. _PyCryptodome: https://pypi.org/project/pycryptodome/
|
||||
.. _Issue #52674: https://github.com/saltstack/salt/issues/52674
|
||||
.. _Issue #54115: https://github.com/saltstack/salt/issues/54115
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
SaltStack is licensed by the SaltStack Team under the Apache 2.0 license. Please see the
|
||||
LICENSE file for the full text of the Apache license, followed by a full summary
|
||||
of the licensing used by external modules.
|
||||
|
|
1
changelog/56186.fixed
Normal file
1
changelog/56186.fixed
Normal file
|
@ -0,0 +1 @@
|
|||
Pillar data is correctly included from `init.sls` file.
|
1
changelog/56844.fixed
Normal file
1
changelog/56844.fixed
Normal file
|
@ -0,0 +1 @@
|
|||
Allow correct failure information to show up when calling `win_interfaces`
|
1
changelog/7424.added
Normal file
1
changelog/7424.added
Normal file
|
@ -0,0 +1 @@
|
|||
Added `validate` to tls module.
|
1
changelog/8875.added
Normal file
1
changelog/8875.added
Normal file
|
@ -0,0 +1 @@
|
|||
Pillar relative includes.
|
|
@ -677,7 +677,9 @@
|
|||
|
||||
# The master_roots setting configures a master-only copy of the file_roots dictionary,
|
||||
# used by the state compiler.
|
||||
#master_roots: /srv/salt-master
|
||||
#master_roots:
|
||||
# base:
|
||||
# - /srv/salt-master
|
||||
|
||||
# When using multiple environments, each with their own top file, the
|
||||
# default behaviour is an unordered merge. To prevent top files from
|
||||
|
@ -1278,7 +1280,7 @@
|
|||
############################################
|
||||
# Warning: Failure to set TCP keepalives on the salt-master can result in
|
||||
# not detecting the loss of a minion when the connection is lost or when
|
||||
# it's host has been terminated without first closing the socket.
|
||||
# its host has been terminated without first closing the socket.
|
||||
# Salt's Presence System depends on this connection status to know if a minion
|
||||
# is "present".
|
||||
# ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
|
||||
|
|
|
@ -565,6 +565,15 @@
|
|||
#
|
||||
#state_aggregate: False
|
||||
|
||||
# Disable requisites during state runs by specifying a single requisite
|
||||
# or a list of requisites to disable.
|
||||
#
|
||||
# disabled_requisites: require_in
|
||||
#
|
||||
# disabled_requisites:
|
||||
# - require
|
||||
# - require_in
|
||||
|
||||
##### File Directory Settings #####
|
||||
##########################################
|
||||
# The Salt Minion can redirect all file server operations to a local directory,
|
||||
|
|
|
@ -1202,7 +1202,7 @@ syndic_user: salt
|
|||
############################################
|
||||
# Warning: Failure to set TCP keepalives on the salt-master can result in
|
||||
# not detecting the loss of a minion when the connection is lost or when
|
||||
# it's host has been terminated without first closing the socket.
|
||||
# its host has been terminated without first closing the socket.
|
||||
# Salt's Presence System depends on this connection status to know if a minion
|
||||
# is "present".
|
||||
# ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
|
||||
|
|
|
@ -8,5 +8,5 @@
|
|||
to the directory/file webserver_1/0.sls
|
||||
|
||||
The same applies for any subdirectories, this is especially 'tricky' when
|
||||
git repos are created. Another command that typically can't render it's
|
||||
git repos are created. Another command that typically can't render its
|
||||
output is ```state.show_sls``` of a file in a path that contains a dot.
|
||||
|
|
|
@ -9456,7 +9456,7 @@ jQuery.fn.extend({
|
|||
parentOffset = { top: 0, left: 0 },
|
||||
elem = this[ 0 ];
|
||||
|
||||
// fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent
|
||||
// fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent
|
||||
if ( jQuery.css( elem, "position" ) === "fixed" ) {
|
||||
// we assume that getBoundingClientRect is available when computed position is fixed
|
||||
offset = elem.getBoundingClientRect();
|
||||
|
|
|
@ -9,7 +9,7 @@ import sys
|
|||
import time
|
||||
import types
|
||||
|
||||
from sphinx.directives import TocTree
|
||||
from sphinx.directives.other import TocTree
|
||||
|
||||
|
||||
class Mock(object):
|
||||
|
@ -86,7 +86,6 @@ MOCK_MODULES = [
|
|||
# Python stdlib
|
||||
"user",
|
||||
# salt core
|
||||
"concurrent",
|
||||
"Crypto",
|
||||
"Crypto.Signature",
|
||||
"Crypto.Cipher",
|
||||
|
@ -150,7 +149,6 @@ MOCK_MODULES = [
|
|||
"OpenSSL",
|
||||
"avahi",
|
||||
"boto.regioninfo",
|
||||
"concurrent",
|
||||
"dbus",
|
||||
"django",
|
||||
"dns",
|
||||
|
@ -163,6 +161,8 @@ MOCK_MODULES = [
|
|||
"jnpr.junos.utils.config",
|
||||
"jnpr.junos.utils.sw",
|
||||
"keyring",
|
||||
"kubernetes",
|
||||
"kubernetes.config",
|
||||
"libvirt",
|
||||
"lxml",
|
||||
"lxml.etree",
|
||||
|
|
|
@ -104,7 +104,7 @@ Glossary
|
|||
or stored externally.
|
||||
|
||||
Job ID
|
||||
A unique identifier to represent a given :term:`job`. This is often
|
||||
A unique identifier to represent a given :term:`job <Job>`. This is often
|
||||
shortened to JID.
|
||||
|
||||
Low State
|
||||
|
@ -227,7 +227,7 @@ Glossary
|
|||
Contains a set of :term:`state declarations <State Declaration>`.
|
||||
|
||||
State Compiler
|
||||
Translates :term:`highdata` into lowdata.
|
||||
Translates :term:`highdata <Highdata>` into lowdata.
|
||||
|
||||
State Declaration
|
||||
A data structure which contains a unique ID and describes one or more
|
||||
|
|
|
@ -284897,7 +284897,7 @@ new
|
|||
all
|
||||
.TP
|
||||
.B note
|
||||
If you see the following error, you\(aqll need to upgrade \fBrequests\fP to atleast 2.4.2
|
||||
If you see the following error, you\(aqll need to upgrade \fBrequests\fP to at least 2.4.2
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
|
|
@ -5,8 +5,8 @@ Configuring Salt
|
|||
================
|
||||
|
||||
Salt configuration is very simple. The default configuration for the
|
||||
:term:`master` will work for most installations and the only requirement for
|
||||
setting up a :term:`minion` is to set the location of the master in the minion
|
||||
:term:`master <Master>` will work for most installations and the only requirement for
|
||||
setting up a :term:`minion <Minion>` is to set the location of the master in the minion
|
||||
configuration file.
|
||||
|
||||
The configuration files will be installed to :file:`/etc/salt` and are named
|
||||
|
|
|
@ -607,8 +607,8 @@ be found by analyzing the cache log with ``memcache_debug`` enabled.
|
|||
Default: ``False``
|
||||
|
||||
If cache storage got full, i.e. the items count exceeds the
|
||||
``memcache_max_items`` value, memcache cleans up it's storage. If this option
|
||||
set to ``False`` memcache removes the only one oldest value from it's storage.
|
||||
``memcache_max_items`` value, memcache cleans up its storage. If this option
|
||||
set to ``False`` memcache removes the only one oldest value from its storage.
|
||||
If this set set to ``True`` memcache removes all the expired items and also
|
||||
removes the oldest one if there are no expired items.
|
||||
|
||||
|
@ -1468,7 +1468,7 @@ This should still be considered a less than secure option, due to the fact
|
|||
that trust is based on just the requesting minion id.
|
||||
|
||||
.. versionchanged:: 2018.3.0
|
||||
For security reasons the file must be readonly except for it's owner.
|
||||
For security reasons the file must be readonly except for its owner.
|
||||
If :conf_master:`permissive_pki_access` is ``True`` the owning group can also
|
||||
have write access, but if Salt is running as ``root`` it must be a member of that group.
|
||||
A less strict requirement also existed in previous version.
|
||||
|
@ -2654,14 +2654,18 @@ nothing is ignored.
|
|||
``master_roots``
|
||||
----------------
|
||||
|
||||
Default: ``/srv/salt-master``
|
||||
Default: ``''``
|
||||
|
||||
A master-only copy of the :conf_master:`file_roots` dictionary, used by the
|
||||
state compiler.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
master_roots: /srv/salt-master
|
||||
master_roots:
|
||||
base:
|
||||
- /srv/salt-master
|
||||
|
||||
roots: Master's Local File Server
|
||||
---------------------------------
|
||||
|
@ -4033,7 +4037,7 @@ ext_pillar keys to override those from :conf_master:`pillar_roots`.
|
|||
|
||||
ext_pillar_first: False
|
||||
|
||||
.. conf_minion:: pillarenv_from_saltenv
|
||||
.. conf_master:: pillarenv_from_saltenv
|
||||
|
||||
``pillarenv_from_saltenv``
|
||||
--------------------------
|
||||
|
@ -4151,7 +4155,7 @@ branch/tag (or from a per-remote ``env`` parameter), but if set this will
|
|||
override the process of deriving the env from the branch/tag name. For example,
|
||||
in the configuration below the ``foo`` branch would be assigned to the ``base``
|
||||
environment, while the ``bar`` branch would need to explicitly have ``bar``
|
||||
configured as it's environment to keep it from also being mapped to the
|
||||
configured as its environment to keep it from also being mapped to the
|
||||
``base`` environment.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
|
|
@ -710,7 +710,7 @@ This directory may contain sensitive data and should be protected accordingly.
|
|||
|
||||
cachedir: /var/cache/salt/minion
|
||||
|
||||
.. conf_master:: color_theme
|
||||
.. conf_minion:: color_theme
|
||||
|
||||
``color_theme``
|
||||
---------------
|
||||
|
|
|
@ -21,7 +21,7 @@ As of Salt 0.9.10 it is possible to run Salt as a non-root user. This can be
|
|||
done by setting the :conf_master:`user` parameter in the master configuration
|
||||
file. and restarting the ``salt-master`` service.
|
||||
|
||||
The minion has it's own :conf_minion:`user` parameter as well, but running the
|
||||
The minion has its own :conf_minion:`user` parameter as well, but running the
|
||||
minion as an unprivileged user will keep it from making changes to things like
|
||||
users, installed packages, etc. unless access controls (sudo, etc.) are setup
|
||||
on the minion to permit the non-root user to make the needed changes.
|
||||
|
|
|
@ -69,7 +69,7 @@ Where the args are:
|
|||
Dictionary containing the load data including ``executor_opts`` passed via
|
||||
cmdline/API.
|
||||
``func``, ``args``, ``kwargs``:
|
||||
Execution module function to be executed and it's arguments. For instance the
|
||||
Execution module function to be executed and its arguments. For instance the
|
||||
simplest ``direct_call`` executor just runs it as ``func(*args, **kwargs)``.
|
||||
``Returns``:
|
||||
``None`` if the execution sequence must be continued with the next executor.
|
||||
|
|
|
@ -47,6 +47,7 @@ execution modules
|
|||
azurearm_network
|
||||
azurearm_resource
|
||||
bamboohr
|
||||
baredoc
|
||||
bcache
|
||||
beacons
|
||||
bigip
|
||||
|
@ -186,6 +187,7 @@ execution modules
|
|||
haproxyconn
|
||||
hashutil
|
||||
heat
|
||||
helm
|
||||
hg
|
||||
highstate_doc
|
||||
hosts
|
||||
|
|
5
doc/ref/modules/all/salt.modules.baredoc.rst
Normal file
5
doc/ref/modules/all/salt.modules.baredoc.rst
Normal file
|
@ -0,0 +1,5 @@
|
|||
salt.modules.baredoc module
|
||||
===========================
|
||||
|
||||
.. automodule:: salt.modules.baredoc
|
||||
:members:
|
6
doc/ref/modules/all/salt.modules.helm.rst
Normal file
6
doc/ref/modules/all/salt.modules.helm.rst
Normal file
|
@ -0,0 +1,6 @@
|
|||
salt.modules.helm module
|
||||
========================
|
||||
|
||||
.. automodule:: salt.modules.helm
|
||||
:members:
|
||||
:undoc-members:
|
|
@ -10,6 +10,7 @@ returner modules
|
|||
:toctree:
|
||||
:template: autosummary.rst.tmpl
|
||||
|
||||
appoptics_return
|
||||
carbon_return
|
||||
cassandra_cql_return
|
||||
cassandra_return
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
salt.returners.appoptics_return module
|
||||
======================================
|
||||
|
||||
.. automodule:: salt.returners.appoptics_return
|
||||
:members:
|
||||
:undoc-members:
|
|
@ -66,6 +66,7 @@ state modules
|
|||
boto_sqs
|
||||
boto_vpc
|
||||
bower
|
||||
btrfs
|
||||
cabal
|
||||
ceph
|
||||
chef
|
||||
|
@ -124,6 +125,7 @@ state modules
|
|||
grains
|
||||
group
|
||||
heat
|
||||
helm
|
||||
hg
|
||||
highstate_doc
|
||||
host
|
||||
|
|
6
doc/ref/states/all/salt.states.btrfs.rst
Normal file
6
doc/ref/states/all/salt.states.btrfs.rst
Normal file
|
@ -0,0 +1,6 @@
|
|||
=================
|
||||
salt.states.btrfs
|
||||
=================
|
||||
|
||||
.. automodule:: salt.states.btrfs
|
||||
:members:
|
6
doc/ref/states/all/salt.states.helm.rst
Normal file
6
doc/ref/states/all/salt.states.helm.rst
Normal file
|
@ -0,0 +1,6 @@
|
|||
salt.states.helm module
|
||||
=======================
|
||||
|
||||
.. automodule:: salt.states.helm
|
||||
:members:
|
||||
:undoc-members:
|
|
@ -232,6 +232,10 @@ There are several corresponding requisite_any statements:
|
|||
* ``onchanges_any``
|
||||
* ``onfail_any``
|
||||
|
||||
Lastly, onfail has one special ``onfail_all`` form to account for when `AND`
|
||||
logic is desired instead of the default `OR` logic of onfail/onfail_any (which
|
||||
are equivalent).
|
||||
|
||||
All of the requisites define specific relationships and always work with the
|
||||
dependency logic defined above.
|
||||
|
||||
|
@ -374,6 +378,63 @@ exactly like the ``require`` requisite (the watching state will execute if
|
|||
|
||||
.. note::
|
||||
|
||||
If the watching state ``changes`` key contains values, then ``mod_watch``
|
||||
will not be called. If you're using ``watch`` or ``watch_in`` then it's a
|
||||
good idea to have a state that only enforces one attribute - such as
|
||||
splitting out ``service.running`` into its own state and have
|
||||
``service.enabled`` in another.
|
||||
|
||||
One common source of confusion is expecting ``mod_watch`` to be called for
|
||||
every necessary change. You might be tempted to write something like this:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
httpd:
|
||||
service.running:
|
||||
- enable: True
|
||||
- watch:
|
||||
- file: httpd-config
|
||||
|
||||
httpd-config:
|
||||
file.managed:
|
||||
- name: /etc/httpd/conf/httpd.conf
|
||||
- source: salt://httpd/files/apache.conf
|
||||
|
||||
If your service is already running but not enabled, you might expect that Salt
|
||||
will be able to tell that since the config file changed your service needs to
|
||||
be restarted. This is not the case. Because the service needs to be enabled,
|
||||
that change will be made and ``mod_watch`` will never be triggered. In this
|
||||
case, changes to your ``apache.conf`` will fail to be loaded. If you want to
|
||||
ensure that your service always reloads the correct way to handle this is
|
||||
either ensure that your service is not running before applying your state, or
|
||||
simply make sure that ``service.running`` is in a state on its own:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
enable-httpd:
|
||||
service.enabled:
|
||||
- name: httpd
|
||||
|
||||
start-httpd:
|
||||
service.running:
|
||||
- name: httpd
|
||||
- watch:
|
||||
- file: httpd-config
|
||||
|
||||
httpd-config:
|
||||
file.managed:
|
||||
- name: /etc/httpd/conf/httpd.conf
|
||||
- source: salt://httpd/files/apache.conf
|
||||
|
||||
Now that ``service.running`` is its own state, changes to ``service.enabled``
|
||||
will no longer prevent ``mod_watch`` from getting triggered, so your ``httpd``
|
||||
service will get restarted like you want.
|
||||
|
||||
.. _requisites-listen:
|
||||
|
||||
listen
|
||||
~~~~~~
|
||||
|
||||
Not all state modules contain ``mod_watch``. If ``mod_watch`` is absent
|
||||
from the watching state module, the ``watch`` requisite behaves exactly
|
||||
like a ``require`` requisite.
|
||||
|
@ -521,6 +582,46 @@ The ``onfail`` requisite is applied in the same way as ``require`` as ``watch``:
|
|||
- onfail:
|
||||
- mount: primary_mount
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
build_site:
|
||||
cmd.run:
|
||||
- name: /srv/web/app/build_site
|
||||
|
||||
notify-build_failure:
|
||||
hipchat.send_message:
|
||||
- room_id: 123456
|
||||
- message: "Building website fail on {{ salt.grains.get('id') }}"
|
||||
|
||||
|
||||
The default behavior of the ``onfail`` when multiple requisites are listed is
|
||||
the opposite of other requisites in the salt state engine, it acts by default
|
||||
like ``any()`` instead of ``all()``. This means that when you list multiple
|
||||
onfail requisites on a state, if *any* fail the requisite will be satisfied.
|
||||
If you instead need *all* logic to be applied, you can use ``onfail_all``
|
||||
form:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
test_site_a:
|
||||
cmd.run:
|
||||
- name: ping -c1 10.0.0.1
|
||||
|
||||
test_site_b:
|
||||
cmd.run:
|
||||
- name: ping -c1 10.0.0.2
|
||||
|
||||
notify_site_down:
|
||||
hipchat.send_message:
|
||||
- room_id: 123456
|
||||
- message: "Both primary and backup sites are down!"
|
||||
- onfail_all:
|
||||
- cmd: test_site_a
|
||||
- cmd: test_site_b
|
||||
|
||||
In this contrived example `notify_site_down` will run when both 10.0.0.1 and
|
||||
10.0.0.2 fail to respond to ping.
|
||||
|
||||
.. note::
|
||||
|
||||
Setting failhard (:ref:`globally <global-failhard>` or in
|
||||
|
@ -535,6 +636,8 @@ The ``onfail`` requisite is applied in the same way as ``require`` as ``watch``:
|
|||
Beginning in the ``2016.11.0`` release of Salt, ``onfail`` uses OR logic for
|
||||
multiple listed ``onfail`` requisites. Prior to the ``2016.11.0`` release,
|
||||
``onfail`` used AND logic. See `Issue #22370`_ for more information.
|
||||
Beginning in the ``Neon`` release of Salt, a new ``onfail_all`` requisite
|
||||
form is available if AND logic is desired.
|
||||
|
||||
.. _Issue #22370: https://github.com/saltstack/salt/issues/22370
|
||||
|
||||
|
|
|
@ -241,7 +241,7 @@ Add the following to ``/srv/reactor/revert.sls``:
|
|||
In addition to :ref:`setting <avoid-beacon-event-loops>`
|
||||
``disable_during_state_run: True`` for an inotify beacon whose reaction is
|
||||
to modify the watched file, it is important to ensure the state applied is
|
||||
also :term:`idempotent`.
|
||||
also :term:`idempotent <Idempotent>`.
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ Connection Timeout
|
|||
==================
|
||||
|
||||
There are several stages when deploying Salt where Salt Cloud needs to wait for
|
||||
something to happen. The VM getting it's IP address, the VM's SSH port is
|
||||
something to happen. The VM getting its IP address, the VM's SSH port is
|
||||
available, etc.
|
||||
|
||||
If you find that the Salt Cloud defaults are not enough and your deployment
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
Getting Started with Openstack
|
||||
==============================
|
||||
|
||||
.. automodule:: salt.cloud.clouds.openstack
|
||||
See :mod:`salt.cloud.clouds.openstack`
|
||||
|
|
|
@ -416,7 +416,7 @@ root of the Salt repository.
|
|||
Bootstrap Script Changes
|
||||
------------------------
|
||||
|
||||
Salt's Bootstrap Script, known as `bootstrap-salt.sh`_ in the Salt repo, has it's own
|
||||
Salt's Bootstrap Script, known as `bootstrap-salt.sh`_ in the Salt repo, has its own
|
||||
repository, contributing guidelines, and release cadence.
|
||||
|
||||
All changes to the Bootstrap Script should be made to `salt-bootstrap repo`_. Any
|
||||
|
|
|
@ -69,16 +69,6 @@ dynamic modules when states are run. To disable this behavior set
|
|||
When dynamic modules are autoloaded via states, only the modules defined in the
|
||||
same saltenvs as the states currently being run.
|
||||
|
||||
Also it is possible to use the explicit ``saltutil.sync_*`` :py:mod:`state functions <salt.states.saltutil>`
|
||||
to sync the modules (previously it was necessary to use the ``module.run`` state):
|
||||
|
||||
.. code-block::yaml
|
||||
|
||||
synchronize_modules:
|
||||
saltutil.sync_modules:
|
||||
- refresh: True
|
||||
|
||||
|
||||
Sync Via the saltutil Module
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -350,7 +340,7 @@ SDB
|
|||
|
||||
* :ref:`Writing SDB Modules <sdb-writing-modules>`
|
||||
|
||||
SDB is a way to store data that's not associated with a minion. See
|
||||
SDB is a way to store data that's not associated with a minion. See
|
||||
:ref:`Storing Data in Other Databases <sdb>`.
|
||||
|
||||
Serializer
|
||||
|
@ -394,6 +384,12 @@ pkgfiles modules handle the actual installation.
|
|||
SSH Wrapper
|
||||
-----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
ssh_wrapper
|
||||
|
||||
Replacement execution modules for :ref:`Salt SSH <salt-ssh>`.
|
||||
|
||||
Thorium
|
||||
|
@ -420,7 +416,7 @@ the state system.
|
|||
Util
|
||||
----
|
||||
|
||||
Just utility modules to use with other modules via ``__utils__`` (see
|
||||
Just utility modules to use with other modules via ``__utils__`` (see
|
||||
:ref:`Dunder Dictionaries <dunder-dictionaries>`).
|
||||
|
||||
Wheel
|
||||
|
|
63
doc/topics/development/modules/ssh_wrapper.rst
Normal file
63
doc/topics/development/modules/ssh_wrapper.rst
Normal file
|
@ -0,0 +1,63 @@
|
|||
.. _ssh-wrapper:
|
||||
|
||||
===========
|
||||
SSH Wrapper
|
||||
===========
|
||||
|
||||
Salt-SSH Background
|
||||
===================
|
||||
|
||||
Salt-SSH works by creating a tar ball of salt, a bunch of python modules, and a generated
|
||||
short minion config. It then copies this onto the destination host over ssh, then
|
||||
uses that host's local python install to run ``salt-client --local`` with any requested modules.
|
||||
It does not automatically copy over states or cache files and since it is uses a local file_client,
|
||||
modules that rely on :py:func:`cp.cache* <salt.modules.cp>` functionality do not work.
|
||||
|
||||
SSH Wrapper modules
|
||||
===================
|
||||
|
||||
To support cp modules or other functionality which might not otherwise work in the remote environment,
|
||||
a wrapper module can be created. These modules are run from the salt-master initiating the salt-ssh
|
||||
command and can include logic to support the needed functionality. SSH Wrapper modules are located in
|
||||
/salt/client/ssh/wrapper/ and are named the same as the execution module being extended. Any functions
|
||||
defined inside of the wrapper module are called from the ``salt-ssh module.function argument``
|
||||
command rather than executing on the minion.
|
||||
|
||||
State Module example
|
||||
--------------------
|
||||
|
||||
Running salt states on an salt-ssh minion, obviously requires the state files themselves. To support this,
|
||||
a state module wrapper script exists at salt/client/ssh/wrapper/state.py, and includes standard state
|
||||
functions like :py:func:`apply <salt.modules.state.apply>`, :py:func:`sls <salt.modules.state.sls>`,
|
||||
and :py:func:`highstate <salt.modules.state.highstate>`. When executing ``salt-ssh minion state.highstate``,
|
||||
these wrapper functions are used and include the logic to walk the low_state output for that minion to
|
||||
determine files used, gather needed files, tar them together, transfer the tar file to the minion over
|
||||
ssh, and run a state on the ssh minion. This state then extracts the tar file, applies the needed states
|
||||
and data, and cleans up the transferred files.
|
||||
|
||||
Wrapper Handling
|
||||
----------------
|
||||
|
||||
From the wrapper script any invocations of ``__salt__['some.module']()`` do not run on the master
|
||||
which is running the wrapper, but instead magically are invoked on the minion over ssh.
|
||||
Should the function being called exist in the wrapper, the wrapper function will be
|
||||
used instead.
|
||||
|
||||
One way of supporting this workflow may be to create a wrapper function which performs the needed file
|
||||
copy operations. Now that files are resident on the ssh minion, the next step is to run the original
|
||||
execution module function. But since that function name was already overridden by the wrapper, a
|
||||
function alias can be created in the original execution module, which can then be called from the
|
||||
wrapper.
|
||||
|
||||
Example
|
||||
```````
|
||||
|
||||
The saltcheck module needs sls and tst files on the minion to function. The invocation of
|
||||
:py:func:`saltcheck.run_state_tests <salt.modules.saltcheck.run_state_tests>` is run from
|
||||
the wrapper module, and is responsible for performing the needed file copy. The
|
||||
:py:func:`saltcheck <salt.modules.saltcheck>` execution module includes an alias line of
|
||||
``run_state_tests_ssh = salt.utils.functools.alias_function(run_state_tests, 'run_state_tests_ssh')``
|
||||
which creates an alias of ``run_state_tests`` with the name ``run_state_tests_ssh``. At the end of
|
||||
the ``run_state_tests`` function in the wrapper module, it then calls
|
||||
``__salt__['saltcheck.run_state_tests_ssh']()``. Since this function does not exist in the wrapper script,
|
||||
the call is made on the remote minion, which then having the needed files, runs as expected.
|
|
@ -143,3 +143,45 @@ but these are things we consider when reviewing a pull request.
|
|||
|
||||
* Should this be split into multiple PRs to make them easier to test and reason
|
||||
about?
|
||||
|
||||
Pull Request Requirements
|
||||
=========================
|
||||
|
||||
The following outlines what is required before a pull request can be merged into
|
||||
the salt project. For each of these requirements, an exception can be made
|
||||
that requires 3 approvals before merge. The exceptions are detailed more below.
|
||||
|
||||
All PR requirements
|
||||
-------------------
|
||||
* Approval Required: approval review from core team member OR 1 approval review
|
||||
from captain of working group
|
||||
* Cannot merge your own PR until 1 reviewer approves from defined list above that
|
||||
is not the author.
|
||||
* All Tests Pass
|
||||
|
||||
Bug Fix PR requirements
|
||||
-----------------------
|
||||
* Test Coverage: regression test written to cover bug fix. Contributers only need
|
||||
to write test coverage for their specific changes.
|
||||
* Point to the issue the PR is resolving. If there is not an issue one will need
|
||||
to be created.
|
||||
|
||||
Feature PR requirements
|
||||
-----------------------
|
||||
* Test Coverage: tests written to cover new feature. Contributers only need to write
|
||||
test coverage for their specific changes.
|
||||
* Release Notes: Add note in release notes of new feature for relative release.
|
||||
* Add .. versionadded:: <release> to module's documentation. If you are not certain
|
||||
which release your fix will be included in you can include TBD and the PR reviewer
|
||||
will let you know the correct name of the release you need to update to the versionadded.
|
||||
|
||||
Exceptions to all requirements
|
||||
------------------------------
|
||||
As previously stated, all of the above requirements can be bypassed with 3 approvals.
|
||||
PR's that do not require tests include:
|
||||
|
||||
* documentation
|
||||
* cosmetic changes (for example changing from log.debug to log.trace)
|
||||
* fixing tests
|
||||
* pylint
|
||||
* changes outside of the salt directory
|
||||
|
|
|
@ -250,7 +250,7 @@ done at the CLI:
|
|||
|
||||
caller = salt.client.Caller()
|
||||
|
||||
ret = called.cmd('event.send',
|
||||
ret = caller.cmd('event.send',
|
||||
'myco/event/success'
|
||||
{ 'success': True,
|
||||
'message': "It works!" })
|
||||
|
|
|
@ -102,7 +102,7 @@ same way as in the above example, only without a top-level ``grains:`` key:
|
|||
Matching Grains in the Top File
|
||||
===============================
|
||||
|
||||
With correctly configured grains on the Minion, the :term:`top file` used in
|
||||
With correctly configured grains on the Minion, the :term:`top file <Top File>` used in
|
||||
Pillar or during Highstate can be made very efficient. For example, consider
|
||||
the following configuration:
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ the context into the included file is required:
|
|||
.. code-block:: jinja
|
||||
|
||||
{% from 'lib.sls' import test with context %}
|
||||
|
||||
|
||||
Includes must use full paths, like so:
|
||||
|
||||
.. code-block:: jinja
|
||||
|
@ -649,6 +649,56 @@ Returns:
|
|||
1, 4
|
||||
|
||||
|
||||
.. jinja_ref:: method_call
|
||||
|
||||
``method_call``
|
||||
---------------
|
||||
|
||||
.. versionadded:: Sodium
|
||||
|
||||
Returns a result of object's method call.
|
||||
|
||||
Example #1:
|
||||
|
||||
.. code-block:: jinja
|
||||
|
||||
{{ [1, 2, 1, 3, 4] | method_call('index', 1, 1, 3) }}
|
||||
|
||||
Returns:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
2
|
||||
|
||||
This filter can be used with the `map filter`_ to apply object methods without
|
||||
using loop constructs or temporary variables.
|
||||
|
||||
Example #2:
|
||||
|
||||
.. code-block:: jinja
|
||||
|
||||
{% set host_list = ['web01.example.com', 'db01.example.com'] %}
|
||||
{% set host_list_split = [] %}
|
||||
{% for item in host_list %}
|
||||
{% do host_list_split.append(item.split('.', 1)) %}
|
||||
{% endfor %}
|
||||
{{ host_list_split }}
|
||||
|
||||
Example #3:
|
||||
|
||||
.. code-block:: jinja
|
||||
|
||||
{{ host_list|map('method_call', 'split', '.', 1)|list }}
|
||||
|
||||
Return of examples #2 and #3:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
[[web01, example.com], [db01, example.com]]
|
||||
|
||||
.. _`map filter`: http://jinja.pocoo.org/docs/2.10/templates/#map
|
||||
|
||||
|
||||
.. jinja_ref:: is_sorted
|
||||
|
||||
``is_sorted``
|
||||
|
|
|
@ -69,7 +69,7 @@ Key Generation
|
|||
--------------
|
||||
|
||||
We have reduced the requirements needed for `salt-key` to generate minion keys.
|
||||
You're no longer required to have salt configured and it's common directories
|
||||
You're no longer required to have salt configured and its common directories
|
||||
created just to generate keys. This might prove useful if you're batch creating
|
||||
keys to pre-load on minions.
|
||||
|
||||
|
|
|
@ -237,7 +237,7 @@ Virtual Terminal
|
|||
----------------
|
||||
|
||||
Sometimes the subprocess module is not good enough, and, in fact, not even
|
||||
``askpass`` is. This virtual terminal is still in it's infant childhood, needs
|
||||
``askpass`` is. This virtual terminal is still in its infant childhood, needs
|
||||
quite some love, and was originally created to replace ``askpass``, but, while
|
||||
developing it, it immediately proved that it could do so much more. It's
|
||||
currently used by salt-cloud when bootstrapping salt on clouds which require
|
||||
|
|
|
@ -723,7 +723,7 @@ Changelog for v2015.5.10..v2015.5.11
|
|||
|
||||
* f49cc75049 Set correct type for master_tops config value
|
||||
|
||||
* **ISSUE** `#31614`_: (`frizzby`_) salt.utils.http.query() implementation contradicts it's documentation. decode arg (refs: `#31622`_)
|
||||
* **ISSUE** `#31614`_: (`frizzby`_) salt.utils.http.query() implementation contradicts its documentation. decode arg (refs: `#31622`_)
|
||||
|
||||
* **PR** `#31622`_: (`jfindlay`_) doc/topics/tutorials/http: update query decoding docs
|
||||
@ *2016-03-02 18:23:44 UTC*
|
||||
|
|
|
@ -1599,7 +1599,7 @@ Changelog for v2015.5.2..v2015.5.3
|
|||
|
||||
* b93dc5ef6c Linting!
|
||||
|
||||
* 2dd5904119 Fixes an issue where Pagerduty states/modules couldn't find it's profile in the Pillar
|
||||
* 2dd5904119 Fixes an issue where Pagerduty states/modules couldn't find its profile in the Pillar
|
||||
|
||||
* **PR** `#24366`_: (`terminalmage`_) Use yes $'\\n' instead of printf '\\n' for pecl commands
|
||||
@ *2015-06-03 21:28:58 UTC*
|
||||
|
|
|
@ -481,7 +481,7 @@ Changelog for v2015.8.10..v2015.8.11
|
|||
|
||||
* b7ac6c735a Moved imports to top, out of _get_moto_version function
|
||||
|
||||
* 02f9ba99ba Updated version check. Moved check into it's own function
|
||||
* 02f9ba99ba Updated version check. Moved check into its own function
|
||||
|
||||
* d445026c56 Updated test to work with new moto version. Changed strings to unicode
|
||||
|
||||
|
|
|
@ -208,12 +208,12 @@ Changelog for v2015.8.3..v2015.8.4
|
|||
|
||||
* 5a637420e8 Backport DNF support to 2015.5 branch
|
||||
|
||||
* **PR** `#30526`_: (`twangboy`_) Added FlushKey to make sure it's changes are saved to disk
|
||||
* **PR** `#30526`_: (`twangboy`_) Added FlushKey to make sure its changes are saved to disk
|
||||
@ *2016-01-22 02:33:13 UTC*
|
||||
|
||||
* e366f6a7fd Merge pull request `#30526`_ from twangboy/reg_flushkey
|
||||
|
||||
* 23085ffbbb Added FlushKey to make sure it's changes are saved to disk
|
||||
* 23085ffbbb Added FlushKey to make sure its changes are saved to disk
|
||||
|
||||
* **PR** `#30521`_: (`basepi`_) [2015.8] Merge forward from 2015.5 to 2015.8
|
||||
@ *2016-01-21 23:05:03 UTC*
|
||||
|
@ -2990,7 +2990,7 @@ Changelog for v2015.8.3..v2015.8.4
|
|||
|
||||
* 7775d65089 Merge pull request `#29178`_ from whytewolf/glance_keystone_profile_fix
|
||||
|
||||
* 807dd426a6 Profile not being passed to keystone.endpoint_get in _auth. so if a profiles are being used, then keystone.endpoint_get will not be able to authenticate causing glance to not be able to get it's endpoint.
|
||||
* 807dd426a6 Profile not being passed to keystone.endpoint_get in _auth. so if a profiles are being used, then keystone.endpoint_get will not be able to authenticate causing glance to not be able to get its endpoint.
|
||||
|
||||
.. _`#10157`: https://github.com/saltstack/salt/issues/10157
|
||||
.. _`#11`: https://github.com/saltstack/salt/issues/11
|
||||
|
|
|
@ -642,7 +642,7 @@ Changelog for v2016.11.8..v2016.11.9
|
|||
|
||||
* 1b12acd303 Check type before casting
|
||||
|
||||
* 03fa37b445 Cast vdata to it's proper type
|
||||
* 03fa37b445 Cast vdata to its proper type
|
||||
|
||||
* **PR** `#43863`_: (`nicholasmhughes`_) Atomicfile only copies mode and not user/group perms
|
||||
@ *2017-11-10 18:47:55 UTC*
|
||||
|
|
|
@ -1338,7 +1338,7 @@ Changelog for v2016.3.1..v2016.3.2
|
|||
|
||||
* b7ac6c735a Moved imports to top, out of _get_moto_version function
|
||||
|
||||
* 02f9ba99ba Updated version check. Moved check into it's own function
|
||||
* 02f9ba99ba Updated version check. Moved check into its own function
|
||||
|
||||
* d445026c56 Updated test to work with new moto version. Changed strings to unicode
|
||||
|
||||
|
|
|
@ -649,7 +649,7 @@ Changelog for v2016.3.4..v2016.3.5
|
|||
|
||||
* cdbd2fbe3c Added limit-output to eliminate false packages
|
||||
|
||||
* **ISSUE** `#38174`_: (`NickDubelman`_) [syndic] Why can't a syndic node signal when all of it's minions have returned? (refs: `#38279`_)
|
||||
* **ISSUE** `#38174`_: (`NickDubelman`_) [syndic] Why can't a syndic node signal when all of its minions have returned? (refs: `#38279`_)
|
||||
|
||||
* **ISSUE** `#32400`_: (`rallytime`_) Document Default Config Values (refs: `#38279`_)
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ Changelog for v2017.7.0..v2017.7.1
|
|||
|
||||
* 5b99d45f54 Merge pull request `#42473`_ from rallytime/bp-42436
|
||||
|
||||
* 82ed919803 Updating the versions function inside the manage runner to account for when a minion is offline and we are unable to determine it's version.
|
||||
* 82ed919803 Updating the versions function inside the manage runner to account for when a minion is offline and we are unable to determine its version.
|
||||
|
||||
* **ISSUE** `#42381`_: (`zebooka`_) Git.detached broken in 2017.7.0 (refs: `#42399`_)
|
||||
|
||||
|
|
|
@ -2041,7 +2041,7 @@ Changelog for v2017.7.1..v2017.7.2
|
|||
|
||||
* 09521602c1 Merge pull request `#42436`_ from garethgreenaway/42374_manage_runner_minion_offline
|
||||
|
||||
* 0fd39498c0 Updating the versions function inside the manage runner to account for when a minion is offline and we are unable to determine it's version.
|
||||
* 0fd39498c0 Updating the versions function inside the manage runner to account for when a minion is offline and we are unable to determine its version.
|
||||
|
||||
* **ISSUE** `#42427`_: (`grichmond-salt`_) Issue Passing Variables created from load_json as Inline Pillar Between States (refs: `#42435`_)
|
||||
|
||||
|
|
|
@ -1501,7 +1501,7 @@ Changelog for v2017.7.2..v2017.7.3
|
|||
|
||||
* 1b12acd303 Check type before casting
|
||||
|
||||
* 03fa37b445 Cast vdata to it's proper type
|
||||
* 03fa37b445 Cast vdata to its proper type
|
||||
|
||||
* ed8da2450b Merge pull request `#43863`_ from nicholasmhughes/fix-atomicfile-permission-copy
|
||||
|
||||
|
|
|
@ -3565,7 +3565,7 @@ Changelog for v2018.3.2..v2018.3.3
|
|||
|
||||
* 406efb161e Merge pull request `#48015`_ from garethgreenaway/47546_more_unicode_nonsense
|
||||
|
||||
* f457f9cb84 Adding a test to ensure archive.list returns the right results when a tar file contains a file with unicode in it's name.
|
||||
* f457f9cb84 Adding a test to ensure archive.list returns the right results when a tar file contains a file with unicode in its name.
|
||||
|
||||
* 9af49bc595 Ensure member names are decoded before adding to various lists.
|
||||
|
||||
|
|
|
@ -3212,7 +3212,7 @@ Changelog for v2018.3.3..v2018.3.4
|
|||
|
||||
* 791e3ff Use dwoz/winrm-fs for chunked downloads
|
||||
|
||||
* f3999e1 Move vagrant to it's own group
|
||||
* f3999e1 Move vagrant to its own group
|
||||
|
||||
* 0662e37 Merge pull request `#49870`_ from KaiSforza/ci_actually_fail
|
||||
|
||||
|
|
|
@ -2620,7 +2620,7 @@ Changelog for v2019.2.0..v2019.2.1
|
|||
|
||||
* 0372718 Fix lint issues on salt
|
||||
|
||||
* 9eab9f4 Add nox session/env/target to run lint against Salt and it's test suite
|
||||
* 9eab9f4 Add nox session/env/target to run lint against Salt and its test suite
|
||||
|
||||
* 123f771 Lock lint requirements
|
||||
|
||||
|
|
|
@ -17,6 +17,16 @@ The old syntax for the mine_function - as a dict, or as a list with dicts that
|
|||
contain more than exactly one key - is still supported but discouraged in favor
|
||||
of the more uniform syntax of module.run.
|
||||
|
||||
State Execution Module
|
||||
======================
|
||||
|
||||
The :mod:`state.test <salt.modules.state.test>` function
|
||||
can be used to test a state on a minion. This works by executing the
|
||||
:mod:`state.apply <salt.modules.state.apply>` function while forcing the ``test`` kwarg
|
||||
to ``True`` so that the ``state.apply`` function is not required to be called by the
|
||||
user directly. This also allows you to add the ``state.test`` function to a minion's
|
||||
``minion_blackout_whitelist`` pillar if you wish to be able to test a state while a
|
||||
minion is in blackout.
|
||||
|
||||
New Grains
|
||||
==========
|
||||
|
@ -28,10 +38,12 @@ This grain provides the same information as the ``path`` grain, only formatted
|
|||
as a list of directories.
|
||||
|
||||
|
||||
================
|
||||
Salt-SSH updates
|
||||
================
|
||||
|
||||
ssh_pre_flight
|
||||
--------------
|
||||
|
||||
A new Salt-SSH roster option `ssh_pre_flight` has been added. This enables you to run a
|
||||
script before Salt-SSH tries to run any commands. You can set this option in the roster
|
||||
for a specific minion or use the `roster_defaults` to set it for all minions.
|
||||
|
@ -60,3 +72,24 @@ minion. If you want to force the script to run you have the following options:
|
|||
* Wipe the thin dir on the targeted minion using the -w arg.
|
||||
* Set ssh_run_pre_flight to True in the config.
|
||||
* Run salt-ssh with the --pre-flight arg.
|
||||
|
||||
set_path
|
||||
--------
|
||||
|
||||
A new salt-ssh roster option `set_path` has been added. This allows you to set
|
||||
the path environment variable used to run the salt-ssh command on the target minion.
|
||||
You can set this setting in your roster file like so:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
minion1:
|
||||
host: localhost
|
||||
user: root
|
||||
passwd: P@ssword
|
||||
set_path: '$PATH:/usr/local/bin/'
|
||||
|
||||
|
||||
State Changes
|
||||
=============
|
||||
- Adding a new option for the State compiler, ``disabled_requisites`` will allow
|
||||
requisites to be disabled during State runs.
|
||||
|
|
|
@ -66,6 +66,10 @@ The information which can be stored in a roster ``target`` is the following:
|
|||
# does not exist, unless --pre-flight is passed to salt-ssh
|
||||
# command or ssh_run_pre_flight is set to true in the config
|
||||
# Added in Sodium Release.
|
||||
set_path: # Set the path environment variable, to ensure the expected python
|
||||
# binary is in the salt-ssh path, when running the command.
|
||||
# Example: '$PATH:/usr/local/bin/'. Added in Sodium Release.
|
||||
|
||||
|
||||
.. _ssh_pre_flight:
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Compound matchers
|
|||
|
||||
Compound matchers allow very granular minion targeting using any of Salt's
|
||||
matchers. The default matcher is a :mod:`glob <python2:fnmatch>` match, just as
|
||||
with CLI and :term:`top file` matching. To match using anything other than a
|
||||
with CLI and :term:`top file <Top File>` matching. To match using anything other than a
|
||||
glob, prefix the match string with the appropriate letter from the table below,
|
||||
followed by an ``@`` sign.
|
||||
|
||||
|
@ -34,7 +34,7 @@ matches the :mod:`regular expression <python2:re>` ``web-dc1-srv.*``:
|
|||
|
||||
salt -C 'webserv* and G@os:Debian or E@web-dc1-srv.*' test.version
|
||||
|
||||
That same example expressed in a :term:`top file` looks like the following:
|
||||
That same example expressed in a :term:`top file <Top File>` looks like the following:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ configuration setting.
|
|||
|
||||
.. tip:: minion id and minion keys
|
||||
|
||||
The :term:`minion id` is used to generate the minion's public/private keys
|
||||
The :term:`minion id <Minion ID>` is used to generate the minion's public/private keys
|
||||
and if it ever changes the master must then accept the new key as though
|
||||
the minion was a new host.
|
||||
|
||||
|
@ -19,8 +19,8 @@ Globbing
|
|||
========
|
||||
|
||||
The default matching that Salt utilizes is :py:mod:`shell-style globbing
|
||||
<python2:fnmatch>` around the :term:`minion id`. This also works for states
|
||||
in the :term:`top file`.
|
||||
<python2:fnmatch>` around the :term:`minion id <Minion ID>`. This also works for states
|
||||
in the :term:`top file <Top File>`.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -83,7 +83,7 @@ Match both ``web1-prod`` and ``web1-devel`` minions:
|
|||
|
||||
salt -E 'web1-(prod|devel)' test.version
|
||||
|
||||
When using regular expressions in a State's :term:`top file`, you must specify
|
||||
When using regular expressions in a State's :term:`top file <Top File>`, you must specify
|
||||
the matcher as the first option. The following example executes the contents of
|
||||
``webserver.sls`` on the above-mentioned minions.
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ For example the command ``salt web1 apache.signal restart`` to restart the
|
|||
Apache httpd server specifies the machine ``web1`` as the target and the
|
||||
command will only be run on that one minion.
|
||||
|
||||
Similarly when using States, the following :term:`top file` specifies that only
|
||||
Similarly when using States, the following :term:`top file <Top File>` specifies that only
|
||||
the ``web1`` minion should execute the contents of ``webserver.sls``:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
|
|
@ -63,11 +63,11 @@ To match a nodegroup on the CLI, use the ``-N`` command-line option:
|
|||
.. note::
|
||||
|
||||
The ``N@`` classifier historically could not be used in compound matches
|
||||
within the CLI or :term:`top file`, it was only recognized in the
|
||||
within the CLI or :term:`top file <Top File>`, it was only recognized in the
|
||||
:conf_master:`nodegroups` master config file parameter. As of the 2019.2.0
|
||||
release, this limitation no longer exists.
|
||||
|
||||
To match a nodegroup in your :term:`top file`, make sure to put ``- match:
|
||||
To match a nodegroup in your :term:`top file <Top File>`, make sure to put ``- match:
|
||||
nodegroup`` on the line directly following the nodegroup name.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
|
|
@ -180,6 +180,7 @@ Results can then be analyzed with `kcachegrind`_ or similar tool.
|
|||
|
||||
.. _`kcachegrind`: http://kcachegrind.sourceforge.net/html/Home.html
|
||||
|
||||
Make sure you have yappi installed.
|
||||
|
||||
On Windows, in the absense of kcachegrind, a simple file-based workflow to create
|
||||
profiling graphs could use `gprof2dot`_, `graphviz`_ and this batch file:
|
||||
|
|
|
@ -379,8 +379,9 @@ string with quotes:
|
|||
Keys Limited to 1024 Characters
|
||||
===============================
|
||||
|
||||
Simple keys are limited to a single line and cannot be longer that 1024 characters.
|
||||
This is a limitation from PyYaml, as seen in a comment in `PyYAML's code`_, and
|
||||
applies to anything parsed by YAML in Salt.
|
||||
Simple keys are limited by the `YAML Spec`_ to a single line, and cannot be
|
||||
longer that 1024 characters. PyYAML enforces these limitations (see here__),
|
||||
and therefore anything parsed as YAML in Salt is subject to them.
|
||||
|
||||
.. _PyYAML's code: http://pyyaml.org/browser/pyyaml/trunk/lib/yaml/scanner.py#L91
|
||||
.. _`YAML Spec`: https://yaml.org/spec/1.2/spec.html#id2792424
|
||||
.. __: https://github.com/yaml/pyyaml/blob/eb459f8/lib/yaml/scanner.py#L279-L293
|
||||
|
|
|
@ -57,7 +57,7 @@ Dependencies
|
|||
============
|
||||
|
||||
Manipulation of the ESXi host via a Proxy Minion requires the machine running
|
||||
the Proxy Minion process to have the ESXCLI package (and all of it's dependencies)
|
||||
the Proxy Minion process to have the ESXCLI package (and all of its dependencies)
|
||||
and the pyVmomi Python Library to be installed.
|
||||
|
||||
ESXi Password
|
||||
|
|
|
@ -532,7 +532,7 @@ would only fetch branches and tags (the default).
|
|||
Global Remotes
|
||||
==============
|
||||
|
||||
.. versionadded:: 2018.3.0
|
||||
.. versionadded:: 2018.3.0 for all_saltenvs, sodium for fallback
|
||||
|
||||
The ``all_saltenvs`` per-remote configuration parameter overrides the logic
|
||||
Salt uses to map branches/tags to fileserver environments (i.e. saltenvs). This
|
||||
|
@ -544,6 +544,8 @@ allows a single branch/tag to appear in *all* GitFS saltenvs.
|
|||
environment defined via some other fileserver backend (e.g.
|
||||
:conf_master:`file_roots`).
|
||||
|
||||
The ``fallback`` global or per-remote configuration can also be used.
|
||||
|
||||
This is very useful in particular when working with :ref:`salt formulas
|
||||
<conventions-formula>`. Prior to the addition of this feature, it was necessary
|
||||
to push a branch/tag to the remote repo for each saltenv in which that formula
|
||||
|
@ -560,6 +562,15 @@ single branch.
|
|||
- http://foo.com/quux.git:
|
||||
- all_saltenvs: anything
|
||||
|
||||
If you want to also test working branches of the formula repository, use
|
||||
``fallback``:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
gitfs_remotes:
|
||||
- http://foo.com/quux.git:
|
||||
- fallback: anything
|
||||
|
||||
.. _gitfs-update-intervals:
|
||||
|
||||
Update Intervals
|
||||
|
|
|
@ -188,7 +188,7 @@ password may be passed in as ``username`` and ``password``, respectively.
|
|||
salt.utils.http.query(
|
||||
'http://example.com',
|
||||
username='larry',
|
||||
password=`5700g3543v4r`,
|
||||
password='5700g3543v4r',
|
||||
)
|
||||
|
||||
Cookies and Sessions
|
||||
|
|
|
@ -272,7 +272,7 @@ system, such as a database.
|
|||
data using a returner (instead of the local job cache on disk).
|
||||
|
||||
If a master has many accepted keys, it may take a long time to publish a job
|
||||
because the master much first determine the matching minions and deliver
|
||||
because the master must first determine the matching minions and deliver
|
||||
that information back to the waiting client before the job can be published.
|
||||
|
||||
To mitigate this, a key cache may be enabled. This will reduce the load
|
||||
|
|
|
@ -9,7 +9,7 @@ Remote execution tutorial
|
|||
Order your minions around
|
||||
=========================
|
||||
|
||||
Now that you have a :term:`master` and at least one :term:`minion`
|
||||
Now that you have a :term:`master <Master>` and at least one :term:`minion <Minion>`
|
||||
communicating with each other you can perform commands on the minion via the
|
||||
:command:`salt` command. Salt calls are comprised of three main components:
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ This example sets up user data with a UID:
|
|||
|
||||
The same directory lookups that exist in states exist in pillar, so the
|
||||
file ``users/init.sls`` can be referenced with ``users`` in the :term:`top
|
||||
file`.
|
||||
file <Top File>`.
|
||||
|
||||
The top file will need to be updated to include this sls file:
|
||||
|
||||
|
|
|
@ -138,7 +138,7 @@ The following configuration is an example, how a complete syslog-ng configuratio
|
|||
|
||||
The :py:func:`syslog_ng.reloaded <salt.states.syslog_ng.reloaded>` function can generate syslog-ng configuration from YAML. If the statement (source, destination, parser,
|
||||
etc.) has a name, this function uses the id as the name, otherwise (log
|
||||
statement) it's purpose is like a mandatory comment.
|
||||
statement) its purpose is like a mandatory comment.
|
||||
|
||||
After execution this example the syslog\_ng state will generate this
|
||||
file:
|
||||
|
|
14
noxfile.py
14
noxfile.py
|
@ -45,7 +45,7 @@ SITECUSTOMIZE_DIR = os.path.join(REPO_ROOT, "tests", "support", "coverage")
|
|||
IS_DARWIN = sys.platform.lower().startswith("darwin")
|
||||
IS_WINDOWS = sys.platform.lower().startswith("win")
|
||||
# Python versions to run against
|
||||
_PYTHON_VERSIONS = ("2", "2.7", "3", "3.4", "3.5", "3.6", "3.7")
|
||||
_PYTHON_VERSIONS = ("2", "2.7", "3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9")
|
||||
|
||||
# Nox options
|
||||
# Reuse existing virtualenvs
|
||||
|
@ -889,9 +889,11 @@ def _pytest(session, coverage, cmd_args):
|
|||
|
||||
try:
|
||||
if coverage is True:
|
||||
_run_with_coverage(session, "coverage", "run", "-m", "py.test", *cmd_args)
|
||||
_run_with_coverage(
|
||||
session, "python", "-m", "coverage", "run", "-m", "pytest", *cmd_args
|
||||
)
|
||||
else:
|
||||
session.run("py.test", *cmd_args, env=env)
|
||||
session.run("python", "-m", "pytest", *cmd_args, env=env)
|
||||
except CommandFailed: # pylint: disable=try-except-raise
|
||||
# Not rerunning failed tests for now
|
||||
raise
|
||||
|
@ -905,9 +907,11 @@ def _pytest(session, coverage, cmd_args):
|
|||
cmd_args[idx] = parg.replace(".xml", "-rerun-failed.xml")
|
||||
cmd_args.append("--lf")
|
||||
if coverage is True:
|
||||
_run_with_coverage(session, "coverage", "run", "-m", "py.test", *cmd_args)
|
||||
_run_with_coverage(
|
||||
session, "python", "-m", "coverage", "run", "-m", "pytest", *cmd_args
|
||||
)
|
||||
else:
|
||||
session.run("py.test", *cmd_args, env=env)
|
||||
session.run("python", "-m", "pytest", *cmd_args, env=env)
|
||||
# pylint: enable=unreachable
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-r req_win.txt
|
||||
backports-abc==0.5; python_version < '3.0'
|
||||
backports.ssl-match-hostname==3.7.0.1
|
||||
backports.ssl-match-hostname==3.7.0.1; python_version < '3.7'
|
||||
certifi
|
||||
cffi==1.12.2
|
||||
CherryPy==17.4.1
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
mock
|
||||
boto
|
||||
boto3
|
||||
moto
|
||||
SaltPyLint>=v2017.6.22
|
||||
apache-libcloud
|
||||
virtualenv
|
||||
|
||||
# Needed for archive, which is gated for Redhat
|
||||
# rarfile
|
||||
# Needed for keystone
|
||||
# python-keystoneclient
|
|
@ -1,2 +1,2 @@
|
|||
pywin32==224
|
||||
pywin32==227
|
||||
WMI==1.4.9
|
||||
|
|
|
@ -1 +1 @@
|
|||
sphinx>=2.0.1
|
||||
sphinx>=3.0.1
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
# pip-compile -o requirements/static/py3.5/docs.txt -v requirements/static/docs.in
|
||||
#
|
||||
alabaster==0.7.12 # via sphinx
|
||||
babel==2.7.0 # via sphinx
|
||||
certifi==2019.3.9 # via requests
|
||||
babel==2.8.0 # via sphinx
|
||||
certifi==2020.4.5.1 # via requests
|
||||
chardet==3.0.4 # via requests
|
||||
docutils==0.14 # via sphinx
|
||||
idna==2.8 # via requests
|
||||
imagesize==1.1.0 # via sphinx
|
||||
jinja2==2.10.1 # via sphinx
|
||||
docutils==0.16 # via sphinx
|
||||
idna==2.9 # via requests
|
||||
imagesize==1.2.0 # via sphinx
|
||||
jinja2==2.11.2 # via sphinx
|
||||
markupsafe==1.1.1 # via jinja2
|
||||
packaging==19.0 # via sphinx
|
||||
pygments==2.4.2 # via sphinx
|
||||
pyparsing==2.4.0 # via packaging
|
||||
pytz==2019.1 # via babel
|
||||
requests==2.22.0 # via sphinx
|
||||
six==1.12.0 # via packaging
|
||||
snowballstemmer==1.2.1 # via sphinx
|
||||
sphinx==2.0.1
|
||||
sphinxcontrib-applehelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.2 # via sphinx
|
||||
packaging==20.3 # via sphinx
|
||||
pygments==2.6.1 # via sphinx
|
||||
pyparsing==2.4.7 # via packaging
|
||||
pytz==2019.3 # via babel
|
||||
requests==2.23.0 # via sphinx
|
||||
six==1.14.0 # via packaging
|
||||
snowballstemmer==2.0.0 # via sphinx
|
||||
sphinx==3.0.1
|
||||
sphinxcontrib-applehelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.3 # via sphinx
|
||||
sphinxcontrib-jsmath==1.0.1 # via sphinx
|
||||
sphinxcontrib-qthelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.3 # via sphinx
|
||||
urllib3==1.25.3 # via requests
|
||||
sphinxcontrib-qthelp==1.0.3 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.4 # via sphinx
|
||||
urllib3==1.25.9 # via requests
|
||||
|
|
|
@ -10,7 +10,7 @@ atomicwrites==1.3.0 # via pytest
|
|||
attrs==19.1.0 # via pytest
|
||||
aws-xray-sdk==0.95 # via moto
|
||||
backports.functools-lru-cache==1.5 # via cheroot
|
||||
backports.ssl-match-hostname==3.7.0.1
|
||||
backports.ssl-match-hostname==3.7.0.1 ; python_version < "3.7"
|
||||
boto3==1.9.132
|
||||
boto==2.49.0
|
||||
botocore==1.12.132 # via boto3, moto, s3transfer
|
||||
|
@ -88,7 +88,7 @@ python-jose==2.0.2 # via moto
|
|||
pythonnet==2.3.0
|
||||
pytz==2019.1 # via moto, tempora
|
||||
pyvmomi==6.7.1.2018.12
|
||||
pywin32==224
|
||||
pywin32==227
|
||||
pyyaml==5.1.2
|
||||
pyzmq==18.0.1 ; python_version != "3.4"
|
||||
requests==2.21.0
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
# pip-compile -o requirements/static/py3.6/docs.txt -v requirements/static/docs.in
|
||||
#
|
||||
alabaster==0.7.12 # via sphinx
|
||||
babel==2.7.0 # via sphinx
|
||||
certifi==2019.3.9 # via requests
|
||||
babel==2.8.0 # via sphinx
|
||||
certifi==2020.4.5.1 # via requests
|
||||
chardet==3.0.4 # via requests
|
||||
docutils==0.14 # via sphinx
|
||||
idna==2.8 # via requests
|
||||
imagesize==1.1.0 # via sphinx
|
||||
jinja2==2.10.1 # via sphinx
|
||||
docutils==0.16 # via sphinx
|
||||
idna==2.9 # via requests
|
||||
imagesize==1.2.0 # via sphinx
|
||||
jinja2==2.11.2 # via sphinx
|
||||
markupsafe==1.1.1 # via jinja2
|
||||
packaging==19.0 # via sphinx
|
||||
pygments==2.4.2 # via sphinx
|
||||
pyparsing==2.4.0 # via packaging
|
||||
pytz==2019.1 # via babel
|
||||
requests==2.22.0 # via sphinx
|
||||
six==1.12.0 # via packaging
|
||||
snowballstemmer==1.2.1 # via sphinx
|
||||
sphinx==2.0.1
|
||||
sphinxcontrib-applehelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.2 # via sphinx
|
||||
packaging==20.3 # via sphinx
|
||||
pygments==2.6.1 # via sphinx
|
||||
pyparsing==2.4.7 # via packaging
|
||||
pytz==2019.3 # via babel
|
||||
requests==2.23.0 # via sphinx
|
||||
six==1.14.0 # via packaging
|
||||
snowballstemmer==2.0.0 # via sphinx
|
||||
sphinx==3.0.1
|
||||
sphinxcontrib-applehelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.3 # via sphinx
|
||||
sphinxcontrib-jsmath==1.0.1 # via sphinx
|
||||
sphinxcontrib-qthelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.3 # via sphinx
|
||||
urllib3==1.25.3 # via requests
|
||||
sphinxcontrib-qthelp==1.0.3 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.4 # via sphinx
|
||||
urllib3==1.25.9 # via requests
|
||||
|
|
|
@ -10,7 +10,7 @@ atomicwrites==1.3.0 # via pytest
|
|||
attrs==19.1.0 # via pytest
|
||||
aws-xray-sdk==0.95 # via moto
|
||||
backports.functools-lru-cache==1.5 # via cheroot
|
||||
backports.ssl-match-hostname==3.7.0.1
|
||||
backports.ssl-match-hostname==3.7.0.1 ; python_version < "3.7"
|
||||
boto3==1.9.132
|
||||
boto==2.49.0
|
||||
botocore==1.12.132 # via boto3, moto, s3transfer
|
||||
|
@ -87,7 +87,7 @@ python-jose==2.0.2 # via moto
|
|||
pythonnet==2.3.0
|
||||
pytz==2019.1 # via moto, tempora
|
||||
pyvmomi==6.7.1.2018.12
|
||||
pywin32==224
|
||||
pywin32==227
|
||||
pyyaml==5.1.2
|
||||
pyzmq==18.0.1 ; python_version != "3.4"
|
||||
requests==2.21.0
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
# pip-compile -o requirements/static/py3.7/docs.txt -v requirements/static/docs.in
|
||||
#
|
||||
alabaster==0.7.12 # via sphinx
|
||||
babel==2.7.0 # via sphinx
|
||||
certifi==2019.3.9 # via requests
|
||||
babel==2.8.0 # via sphinx
|
||||
certifi==2020.4.5.1 # via requests
|
||||
chardet==3.0.4 # via requests
|
||||
docutils==0.14 # via sphinx
|
||||
idna==2.8 # via requests
|
||||
imagesize==1.1.0 # via sphinx
|
||||
jinja2==2.10.1 # via sphinx
|
||||
docutils==0.16 # via sphinx
|
||||
idna==2.9 # via requests
|
||||
imagesize==1.2.0 # via sphinx
|
||||
jinja2==2.11.2 # via sphinx
|
||||
markupsafe==1.1.1 # via jinja2
|
||||
packaging==19.0 # via sphinx
|
||||
pygments==2.4.2 # via sphinx
|
||||
pyparsing==2.4.0 # via packaging
|
||||
pytz==2019.1 # via babel
|
||||
requests==2.22.0 # via sphinx
|
||||
six==1.12.0 # via packaging
|
||||
snowballstemmer==1.2.1 # via sphinx
|
||||
sphinx==2.0.1
|
||||
sphinxcontrib-applehelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.2 # via sphinx
|
||||
packaging==20.3 # via sphinx
|
||||
pygments==2.6.1 # via sphinx
|
||||
pyparsing==2.4.7 # via packaging
|
||||
pytz==2019.3 # via babel
|
||||
requests==2.23.0 # via sphinx
|
||||
six==1.14.0 # via packaging
|
||||
snowballstemmer==2.0.0 # via sphinx
|
||||
sphinx==3.0.1
|
||||
sphinxcontrib-applehelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.3 # via sphinx
|
||||
sphinxcontrib-jsmath==1.0.1 # via sphinx
|
||||
sphinxcontrib-qthelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.3 # via sphinx
|
||||
urllib3==1.25.3 # via requests
|
||||
sphinxcontrib-qthelp==1.0.3 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.4 # via sphinx
|
||||
urllib3==1.25.9 # via requests
|
||||
|
|
|
@ -10,7 +10,6 @@ atomicwrites==1.3.0 # via pytest
|
|||
attrs==19.1.0 # via pytest
|
||||
aws-xray-sdk==0.95 # via moto
|
||||
backports.functools-lru-cache==1.5 # via cheroot
|
||||
backports.ssl-match-hostname==3.7.0.1
|
||||
boto3==1.9.132
|
||||
boto==2.49.0
|
||||
botocore==1.12.132 # via boto3, moto, s3transfer
|
||||
|
@ -87,7 +86,7 @@ python-jose==2.0.2 # via moto
|
|||
pythonnet==2.3.0
|
||||
pytz==2019.1 # via moto, tempora
|
||||
pyvmomi==6.7.1.2018.12
|
||||
pywin32==224
|
||||
pywin32==227
|
||||
pyyaml==5.1.2
|
||||
pyzmq==18.0.1 ; python_version != "3.4"
|
||||
requests==2.21.0
|
||||
|
|
115
requirements/static/py3.8/cloud.txt
Normal file
115
requirements/static/py3.8/cloud.txt
Normal file
|
@ -0,0 +1,115 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/cloud.txt -v requirements/static/cloud.in
|
||||
#
|
||||
adal==1.2.1 # via azure-datalake-store, msrestazure
|
||||
asn1crypto==0.24.0 # via cryptography
|
||||
azure-applicationinsights==0.1.0 # via azure
|
||||
azure-batch==4.1.3 # via azure
|
||||
azure-common==1.1.18 # via azure-applicationinsights, azure-batch, azure-cosmosdb-table, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-loganalytics, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web, azure-servicebus, azure-servicefabric, azure-servicemanagement-legacy, azure-storage-blob, azure-storage-common, azure-storage-file, azure-storage-queue
|
||||
azure-cosmosdb-nspkg==2.0.2 # via azure-cosmosdb-table
|
||||
azure-cosmosdb-table==1.0.5 # via azure
|
||||
azure-datalake-store==0.0.44 # via azure
|
||||
azure-eventgrid==1.2.0 # via azure
|
||||
azure-graphrbac==0.40.0 # via azure
|
||||
azure-keyvault==1.1.0 # via azure
|
||||
azure-loganalytics==0.1.0 # via azure
|
||||
azure-mgmt-advisor==1.0.1 # via azure-mgmt
|
||||
azure-mgmt-applicationinsights==0.1.1 # via azure-mgmt
|
||||
azure-mgmt-authorization==0.50.0 # via azure-mgmt
|
||||
azure-mgmt-batch==5.0.1 # via azure-mgmt
|
||||
azure-mgmt-batchai==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-billing==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-cdn==3.1.0 # via azure-mgmt
|
||||
azure-mgmt-cognitiveservices==3.0.0 # via azure-mgmt
|
||||
azure-mgmt-commerce==1.0.1 # via azure-mgmt
|
||||
azure-mgmt-compute==4.6.0 # via azure-mgmt
|
||||
azure-mgmt-consumption==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-containerinstance==1.4.1 # via azure-mgmt
|
||||
azure-mgmt-containerregistry==2.7.0 # via azure-mgmt
|
||||
azure-mgmt-containerservice==4.4.0 # via azure-mgmt
|
||||
azure-mgmt-cosmosdb==0.4.1 # via azure-mgmt
|
||||
azure-mgmt-datafactory==0.6.0 # via azure-mgmt
|
||||
azure-mgmt-datalake-analytics==0.6.0 # via azure-mgmt
|
||||
azure-mgmt-datalake-nspkg==3.0.1 # via azure-mgmt-datalake-analytics, azure-mgmt-datalake-store
|
||||
azure-mgmt-datalake-store==0.5.0 # via azure-mgmt
|
||||
azure-mgmt-datamigration==1.0.0 # via azure-mgmt
|
||||
azure-mgmt-devspaces==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-devtestlabs==2.2.0 # via azure-mgmt
|
||||
azure-mgmt-dns==2.1.0 # via azure-mgmt
|
||||
azure-mgmt-eventgrid==1.0.0 # via azure-mgmt
|
||||
azure-mgmt-eventhub==2.5.0 # via azure-mgmt
|
||||
azure-mgmt-hanaonazure==0.1.1 # via azure-mgmt
|
||||
azure-mgmt-iotcentral==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-iothub==0.5.0 # via azure-mgmt
|
||||
azure-mgmt-iothubprovisioningservices==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-keyvault==1.1.0 # via azure-mgmt
|
||||
azure-mgmt-loganalytics==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-logic==3.0.0 # via azure-mgmt
|
||||
azure-mgmt-machinelearningcompute==0.4.1 # via azure-mgmt
|
||||
azure-mgmt-managementgroups==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-managementpartner==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-maps==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-marketplaceordering==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-media==1.0.0 # via azure-mgmt
|
||||
azure-mgmt-monitor==0.5.2 # via azure-mgmt
|
||||
azure-mgmt-msi==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-network==2.6.0 # via azure-mgmt
|
||||
azure-mgmt-notificationhubs==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-nspkg==3.0.2 # via azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-consumption, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-nspkg, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
azure-mgmt-policyinsights==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-powerbiembedded==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-rdbms==1.8.0 # via azure-mgmt
|
||||
azure-mgmt-recoveryservices==0.3.0 # via azure-mgmt
|
||||
azure-mgmt-recoveryservicesbackup==0.3.0 # via azure-mgmt
|
||||
azure-mgmt-redis==5.0.0 # via azure-mgmt
|
||||
azure-mgmt-relay==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-reservations==0.2.1 # via azure-mgmt
|
||||
azure-mgmt-resource==2.1.0 # via azure-mgmt
|
||||
azure-mgmt-scheduler==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-search==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-servicebus==0.5.3 # via azure-mgmt
|
||||
azure-mgmt-servicefabric==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-signalr==0.1.1 # via azure-mgmt
|
||||
azure-mgmt-sql==0.9.1 # via azure-mgmt
|
||||
azure-mgmt-storage==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-subscription==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-trafficmanager==0.50.0 # via azure-mgmt
|
||||
azure-mgmt-web==0.35.0 # via azure-mgmt
|
||||
azure-mgmt==4.0.0 # via azure
|
||||
azure-nspkg==3.0.2 # via azure-applicationinsights, azure-batch, azure-cosmosdb-nspkg, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-loganalytics, azure-mgmt-nspkg, azure-servicebus, azure-servicefabric, azure-servicemanagement-legacy
|
||||
azure-servicebus==0.21.1 # via azure
|
||||
azure-servicefabric==6.3.0.0 # via azure
|
||||
azure-servicemanagement-legacy==0.20.6 # via azure
|
||||
azure-storage-blob==1.5.0 # via azure
|
||||
azure-storage-common==1.4.0 # via azure-cosmosdb-table, azure-storage-blob, azure-storage-file, azure-storage-queue
|
||||
azure-storage-file==1.4.0 # via azure
|
||||
azure-storage-queue==1.4.0 # via azure
|
||||
azure==4.0.0
|
||||
certifi==2019.3.9 # via msrest, requests
|
||||
cffi==1.12.2 # via azure-datalake-store, cryptography
|
||||
chardet==3.0.4 # via requests
|
||||
cryptography==2.6.1 # via adal, azure-cosmosdb-table, azure-keyvault, azure-storage-common, requests-ntlm, smbprotocol
|
||||
idna==2.8 # via requests
|
||||
isodate==0.6.0 # via msrest
|
||||
msrest==0.6.6 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.0 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
netaddr==0.7.19
|
||||
ntlm-auth==1.3.0 # via requests-ntlm, smbprotocol
|
||||
oauthlib==3.0.1 # via requests-oauthlib
|
||||
profitbricks==4.1.3
|
||||
pyasn1==0.4.5 # via smbprotocol
|
||||
pycparser==2.19 # via cffi
|
||||
pyjwt==1.7.1 # via adal
|
||||
pypsexec==0.1.0
|
||||
python-dateutil==2.8.0 # via adal, azure-cosmosdb-table, azure-storage-common
|
||||
pywinrm==0.3.0
|
||||
requests-ntlm==1.1.0 # via pywinrm
|
||||
requests-oauthlib==1.2.0 # via msrest
|
||||
requests==2.21.0 # via adal, azure-cosmosdb-table, azure-datalake-store, azure-keyvault, azure-servicebus, azure-servicemanagement-legacy, azure-storage-common, msrest, profitbricks, pywinrm, requests-ntlm, requests-oauthlib
|
||||
six==1.12.0 # via cryptography, isodate, profitbricks, pypsexec, python-dateutil, pywinrm, smbprotocol
|
||||
smbprotocol==0.1.1 # via pypsexec
|
||||
urllib3==1.24.2 # via requests
|
||||
xmltodict==0.12.0 # via pywinrm
|
8
requirements/static/py3.8/darwin-crypto.txt
Normal file
8
requirements/static/py3.8/darwin-crypto.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/darwin-crypto.txt -v requirements/static/crypto.in
|
||||
#
|
||||
m2crypto==0.35.2
|
||||
pycryptodomex==3.9.0
|
123
requirements/static/py3.8/darwin.txt
Normal file
123
requirements/static/py3.8/darwin.txt
Normal file
|
@ -0,0 +1,123 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/darwin.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/darwin.in
|
||||
#
|
||||
apache-libcloud==2.4.0
|
||||
appdirs==1.4.3 # via virtualenv
|
||||
argh==0.26.2 # via watchdog
|
||||
asn1crypto==1.3.0 # via certvalidator, cryptography, oscrypto
|
||||
atomicwrites==1.3.0 # via pytest
|
||||
attrs==19.1.0 # via pytest
|
||||
aws-xray-sdk==0.95 # via moto
|
||||
backports.functools-lru-cache==1.5 # via cheroot
|
||||
backports.ssl_match_hostname==3.7.0.1
|
||||
bcrypt==3.1.6 # via paramiko
|
||||
boto3==1.9.132
|
||||
boto==2.49.0
|
||||
botocore==1.12.132 # via boto3, moto, s3transfer
|
||||
cachetools==3.1.0 # via google-auth
|
||||
certifi==2019.3.9
|
||||
certvalidator==0.11.1 # via vcert
|
||||
cffi==1.12.2
|
||||
chardet==3.0.4 # via requests
|
||||
cheetah3==3.1.0
|
||||
cheroot==6.5.5 # via cherrypy
|
||||
cherrypy==17.4.1
|
||||
click==7.0
|
||||
clustershell==1.8.1
|
||||
contextlib2==0.5.5 # via cherrypy
|
||||
croniter==0.3.29
|
||||
cryptography==2.6.1
|
||||
distlib==0.3.0 # via virtualenv
|
||||
dnspython==1.16.0
|
||||
docker-pycreds==0.4.0 # via docker
|
||||
docker==3.7.2
|
||||
docutils==0.14 # via botocore
|
||||
ecdsa==0.13.3 # via python-jose
|
||||
enum34==1.1.6
|
||||
filelock==3.0.12 # via virtualenv
|
||||
future==0.17.1 # via python-jose
|
||||
genshi==0.7.3
|
||||
gitdb2==2.0.5 # via gitpython
|
||||
gitpython==2.1.15
|
||||
google-auth==1.6.3 # via kubernetes
|
||||
idna==2.8
|
||||
ipaddress==1.0.22
|
||||
jaraco.functools==2.0 # via tempora
|
||||
jinja2==2.10.1
|
||||
jmespath==0.9.4
|
||||
jsondiff==1.1.1 # via moto
|
||||
jsonpickle==1.1 # via aws-xray-sdk
|
||||
jsonschema==2.6.0
|
||||
junos-eznc==2.2.0
|
||||
jxmlease==1.0.1
|
||||
keyring==5.7.1
|
||||
kubernetes==3.0.0
|
||||
linode-python==1.1.1
|
||||
lxml==4.3.3 # via junos-eznc, ncclient
|
||||
mako==1.0.7
|
||||
markupsafe==1.1.1
|
||||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack-python==0.5.6
|
||||
msgpack==0.5.6
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
oscrypto==1.2.0 # via certvalidator
|
||||
packaging==19.2 # via pytest
|
||||
paramiko==2.4.2 # via junos-eznc, ncclient, scp
|
||||
pathtools==0.1.2 # via watchdog
|
||||
pluggy==0.13.1 # via pytest
|
||||
portend==2.4 # via cherrypy
|
||||
psutil==5.6.6
|
||||
py==1.8.0 # via pytest
|
||||
pyaml==19.4.1 # via moto
|
||||
pyasn1-modules==0.2.4 # via google-auth
|
||||
pyasn1==0.4.5
|
||||
pycparser==2.19
|
||||
pycryptodome==3.8.1
|
||||
pynacl==1.3.0 # via paramiko
|
||||
pyopenssl==19.0.0
|
||||
pyparsing==2.4.5 # via packaging
|
||||
pyserial==3.4 # via junos-eznc
|
||||
pytest-helpers-namespace==2019.1.8
|
||||
pytest-salt-runtests-bridge==2019.7.10
|
||||
pytest-salt==2019.12.27
|
||||
pytest-tempdir==2019.10.12
|
||||
pytest==4.6.6
|
||||
python-dateutil==2.8.0
|
||||
python-etcd==0.4.5
|
||||
python-gnupg==0.4.4
|
||||
python-jose==2.0.2 # via moto
|
||||
pytz==2019.1 # via moto, tempora
|
||||
pyvmomi==6.7.1.2018.12
|
||||
pyyaml==5.1.2
|
||||
pyzmq==18.0.1 ; python_version != "3.4"
|
||||
requests==2.21.0
|
||||
responses==0.10.6 # via moto
|
||||
rfc3987==1.3.8
|
||||
rsa==4.0 # via google-auth
|
||||
s3transfer==0.2.0 # via boto3
|
||||
salttesting==2017.6.1
|
||||
scp==0.13.2 # via junos-eznc
|
||||
setproctitle==1.1.10
|
||||
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, vcert, virtualenv, websocket-client
|
||||
smmap2==2.0.5 # via gitdb2
|
||||
strict-rfc3339==0.7
|
||||
tempora==1.14.1 # via portend
|
||||
timelib==0.2.4
|
||||
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
|
||||
vcert==0.7.3
|
||||
virtualenv==20.0.10
|
||||
vultr==1.0.1
|
||||
watchdog==0.9.0
|
||||
wcwidth==0.1.7 # via pytest
|
||||
websocket-client==0.40.0 # via docker, kubernetes
|
||||
werkzeug==0.15.6 # via moto
|
||||
wrapt==1.11.1 # via aws-xray-sdk
|
||||
xmltodict==0.12.0 # via moto
|
||||
yamlordereddictloader==0.4.0
|
||||
zc.lockfile==1.4 # via cherrypy
|
30
requirements/static/py3.8/docs.txt
Normal file
30
requirements/static/py3.8/docs.txt
Normal file
|
@ -0,0 +1,30 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/docs.txt -v requirements/static/docs.in
|
||||
#
|
||||
alabaster==0.7.12 # via sphinx
|
||||
babel==2.7.0 # via sphinx
|
||||
certifi==2019.3.9 # via requests
|
||||
chardet==3.0.4 # via requests
|
||||
docutils==0.14 # via sphinx
|
||||
idna==2.8 # via requests
|
||||
imagesize==1.1.0 # via sphinx
|
||||
jinja2==2.10.1 # via sphinx
|
||||
markupsafe==1.1.1 # via jinja2
|
||||
packaging==19.0 # via sphinx
|
||||
pygments==2.4.2 # via sphinx
|
||||
pyparsing==2.4.0 # via packaging
|
||||
pytz==2019.1 # via babel
|
||||
requests==2.22.0 # via sphinx
|
||||
six==1.12.0 # via packaging
|
||||
snowballstemmer==1.2.1 # via sphinx
|
||||
sphinx==3.0.2
|
||||
sphinxcontrib-applehelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-jsmath==1.0.1 # via sphinx
|
||||
sphinxcontrib-qthelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.3 # via sphinx
|
||||
urllib3==1.25.3 # via requests
|
16
requirements/static/py3.8/lint.txt
Normal file
16
requirements/static/py3.8/lint.txt
Normal file
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/lint.txt -v requirements/static/lint.in
|
||||
#
|
||||
astroid==2.3.3 # via pylint
|
||||
isort==4.3.17 # via pylint
|
||||
lazy-object-proxy==1.4.3 # via astroid
|
||||
mccabe==0.6.1 # via pylint
|
||||
modernize==0.5 # via saltpylint
|
||||
pycodestyle==2.5.0 # via saltpylint
|
||||
pylint==2.4.4
|
||||
saltpylint==2019.11.14
|
||||
six==1.12.0 # via astroid
|
||||
wrapt==1.11.1 # via astroid
|
8
requirements/static/py3.8/linux-crypto.txt
Normal file
8
requirements/static/py3.8/linux-crypto.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/linux-crypto.txt -v requirements/static/crypto.in
|
||||
#
|
||||
m2crypto==0.35.2
|
||||
pycryptodomex==3.9.3
|
119
requirements/static/py3.8/linux.txt
Normal file
119
requirements/static/py3.8/linux.txt
Normal file
|
@ -0,0 +1,119 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.8/linux.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/linux.in
|
||||
#
|
||||
apache-libcloud==2.0.0
|
||||
argh==0.26.2 # via watchdog
|
||||
asn1crypto==1.3.0 # via certvalidator, cryptography, oscrypto
|
||||
atomicwrites==1.3.0 # via pytest
|
||||
attrs==19.1.0 # via pytest
|
||||
aws-xray-sdk==0.95 # via moto
|
||||
backports.functools-lru-cache==1.5 # via cheroot
|
||||
bcrypt==3.1.6 # via paramiko
|
||||
boto3==1.9.132
|
||||
boto==2.49.0
|
||||
botocore==1.12.132 # via boto3, moto, s3transfer
|
||||
cachetools==3.1.0 # via google-auth
|
||||
certifi==2019.3.9
|
||||
certvalidator==0.11.1 # via vcert
|
||||
cffi==1.12.2
|
||||
chardet==3.0.4 # via requests
|
||||
cheetah3==3.1.0
|
||||
cheroot==6.5.4 # via cherrypy
|
||||
cherrypy==17.3.0
|
||||
contextlib2==0.5.5 # via cherrypy
|
||||
croniter==0.3.29
|
||||
cryptography==2.6.1 # via moto, paramiko, pyopenssl, vcert
|
||||
dnspython==1.16.0
|
||||
docker-pycreds==0.4.0 # via docker
|
||||
docker==3.7.2
|
||||
docutils==0.14 # via botocore
|
||||
ecdsa==0.13.3 # via python-jose
|
||||
future==0.17.1 # via python-jose
|
||||
genshi==0.7.3
|
||||
gitdb2==2.0.5 # via gitpython
|
||||
gitpython==2.1.11
|
||||
google-auth==1.6.3 # via kubernetes
|
||||
hgtools==8.1.1
|
||||
idna==2.8 # via requests
|
||||
ipaddress==1.0.22 # via kubernetes
|
||||
jaraco.functools==2.0 # via tempora
|
||||
jinja2==2.10.1
|
||||
jmespath==0.9.4
|
||||
jsondiff==1.1.1 # via moto
|
||||
jsonpickle==1.1 # via aws-xray-sdk
|
||||
jsonschema==2.6.0
|
||||
junos-eznc==2.2.0
|
||||
jxmlease==1.0.1
|
||||
kazoo==2.6.1
|
||||
keyring==5.7.1
|
||||
kubernetes==3.0.0
|
||||
libnacl==1.7.1
|
||||
lxml==4.3.3 # via junos-eznc, ncclient
|
||||
mako==1.1.0
|
||||
markupsafe==1.1.1
|
||||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack==0.5.6
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
oscrypto==1.2.0 # via certvalidator
|
||||
packaging==19.2 # via pytest
|
||||
paramiko==2.4.2
|
||||
pathtools==0.1.2 # via watchdog
|
||||
pluggy==0.13.0 # via pytest
|
||||
portend==2.4 # via cherrypy
|
||||
psutil==5.6.1
|
||||
py==1.8.0 # via pytest
|
||||
pyaml==19.4.1 # via moto
|
||||
pyasn1-modules==0.2.4 # via google-auth
|
||||
pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
|
||||
pycparser==2.19 # via cffi
|
||||
pycrypto==2.6.1 ; sys_platform not in "win32,darwin"
|
||||
pycryptodome==3.8.1 # via python-jose
|
||||
pygit2==0.28.2
|
||||
pyinotify==0.9.6
|
||||
pynacl==1.3.0 # via paramiko
|
||||
pyopenssl==19.0.0
|
||||
pyparsing==2.4.5 # via packaging
|
||||
pyserial==3.4 # via junos-eznc
|
||||
pytest-helpers-namespace==2019.1.8
|
||||
pytest-salt-runtests-bridge==2019.7.10
|
||||
pytest-salt==2019.12.27
|
||||
pytest-tempdir==2019.10.12
|
||||
pytest==4.6.6
|
||||
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, vcert
|
||||
python-etcd==0.4.5
|
||||
python-gnupg==0.4.4
|
||||
python-jose==2.0.2 # via moto
|
||||
pytz==2019.1 # via moto, tempora
|
||||
pyvmomi==6.7.1.2018.12
|
||||
pyyaml==5.1.2
|
||||
pyzmq==18.0.1 ; python_version != "3.4"
|
||||
requests==2.21.0
|
||||
responses==0.10.6 # via moto
|
||||
rfc3987==1.3.8
|
||||
rsa==4.0 # via google-auth
|
||||
s3transfer==0.2.0 # via boto3
|
||||
salttesting==2017.6.1
|
||||
scp==0.13.2 # via junos-eznc
|
||||
setproctitle==1.1.10
|
||||
setuptools-scm==3.2.0
|
||||
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, packaging, pygit2, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, vcert, websocket-client
|
||||
smmap2==2.0.5 # via gitdb2
|
||||
strict-rfc3339==0.7
|
||||
tempora==1.14.1 # via portend
|
||||
timelib==0.2.4
|
||||
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
|
||||
vcert==0.7.3
|
||||
virtualenv==16.4.3
|
||||
watchdog==0.9.0
|
||||
wcwidth==0.1.7 # via pytest
|
||||
websocket-client==0.40.0 # via docker, kubernetes
|
||||
werkzeug==0.15.6 # via moto
|
||||
wrapt==1.11.1 # via aws-xray-sdk
|
||||
xmltodict==0.12.0 # via moto
|
||||
zc.lockfile==1.4 # via cherrypy
|
115
requirements/static/py3.9/cloud.txt
Normal file
115
requirements/static/py3.9/cloud.txt
Normal file
|
@ -0,0 +1,115 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.9/cloud.txt -v requirements/static/cloud.in
|
||||
#
|
||||
adal==1.2.1 # via azure-datalake-store, msrestazure
|
||||
asn1crypto==0.24.0 # via cryptography
|
||||
azure-applicationinsights==0.1.0 # via azure
|
||||
azure-batch==4.1.3 # via azure
|
||||
azure-common==1.1.18 # via azure-applicationinsights, azure-batch, azure-cosmosdb-table, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-loganalytics, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web, azure-servicebus, azure-servicefabric, azure-servicemanagement-legacy, azure-storage-blob, azure-storage-common, azure-storage-file, azure-storage-queue
|
||||
azure-cosmosdb-nspkg==2.0.2 # via azure-cosmosdb-table
|
||||
azure-cosmosdb-table==1.0.5 # via azure
|
||||
azure-datalake-store==0.0.44 # via azure
|
||||
azure-eventgrid==1.2.0 # via azure
|
||||
azure-graphrbac==0.40.0 # via azure
|
||||
azure-keyvault==1.1.0 # via azure
|
||||
azure-loganalytics==0.1.0 # via azure
|
||||
azure-mgmt-advisor==1.0.1 # via azure-mgmt
|
||||
azure-mgmt-applicationinsights==0.1.1 # via azure-mgmt
|
||||
azure-mgmt-authorization==0.50.0 # via azure-mgmt
|
||||
azure-mgmt-batch==5.0.1 # via azure-mgmt
|
||||
azure-mgmt-batchai==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-billing==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-cdn==3.1.0 # via azure-mgmt
|
||||
azure-mgmt-cognitiveservices==3.0.0 # via azure-mgmt
|
||||
azure-mgmt-commerce==1.0.1 # via azure-mgmt
|
||||
azure-mgmt-compute==4.6.0 # via azure-mgmt
|
||||
azure-mgmt-consumption==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-containerinstance==1.4.1 # via azure-mgmt
|
||||
azure-mgmt-containerregistry==2.7.0 # via azure-mgmt
|
||||
azure-mgmt-containerservice==4.4.0 # via azure-mgmt
|
||||
azure-mgmt-cosmosdb==0.4.1 # via azure-mgmt
|
||||
azure-mgmt-datafactory==0.6.0 # via azure-mgmt
|
||||
azure-mgmt-datalake-analytics==0.6.0 # via azure-mgmt
|
||||
azure-mgmt-datalake-nspkg==3.0.1 # via azure-mgmt-datalake-analytics, azure-mgmt-datalake-store
|
||||
azure-mgmt-datalake-store==0.5.0 # via azure-mgmt
|
||||
azure-mgmt-datamigration==1.0.0 # via azure-mgmt
|
||||
azure-mgmt-devspaces==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-devtestlabs==2.2.0 # via azure-mgmt
|
||||
azure-mgmt-dns==2.1.0 # via azure-mgmt
|
||||
azure-mgmt-eventgrid==1.0.0 # via azure-mgmt
|
||||
azure-mgmt-eventhub==2.5.0 # via azure-mgmt
|
||||
azure-mgmt-hanaonazure==0.1.1 # via azure-mgmt
|
||||
azure-mgmt-iotcentral==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-iothub==0.5.0 # via azure-mgmt
|
||||
azure-mgmt-iothubprovisioningservices==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-keyvault==1.1.0 # via azure-mgmt
|
||||
azure-mgmt-loganalytics==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-logic==3.0.0 # via azure-mgmt
|
||||
azure-mgmt-machinelearningcompute==0.4.1 # via azure-mgmt
|
||||
azure-mgmt-managementgroups==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-managementpartner==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-maps==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-marketplaceordering==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-media==1.0.0 # via azure-mgmt
|
||||
azure-mgmt-monitor==0.5.2 # via azure-mgmt
|
||||
azure-mgmt-msi==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-network==2.6.0 # via azure-mgmt
|
||||
azure-mgmt-notificationhubs==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-nspkg==3.0.2 # via azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-consumption, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-nspkg, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
azure-mgmt-policyinsights==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-powerbiembedded==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-rdbms==1.8.0 # via azure-mgmt
|
||||
azure-mgmt-recoveryservices==0.3.0 # via azure-mgmt
|
||||
azure-mgmt-recoveryservicesbackup==0.3.0 # via azure-mgmt
|
||||
azure-mgmt-redis==5.0.0 # via azure-mgmt
|
||||
azure-mgmt-relay==0.1.0 # via azure-mgmt
|
||||
azure-mgmt-reservations==0.2.1 # via azure-mgmt
|
||||
azure-mgmt-resource==2.1.0 # via azure-mgmt
|
||||
azure-mgmt-scheduler==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-search==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-servicebus==0.5.3 # via azure-mgmt
|
||||
azure-mgmt-servicefabric==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-signalr==0.1.1 # via azure-mgmt
|
||||
azure-mgmt-sql==0.9.1 # via azure-mgmt
|
||||
azure-mgmt-storage==2.0.0 # via azure-mgmt
|
||||
azure-mgmt-subscription==0.2.0 # via azure-mgmt
|
||||
azure-mgmt-trafficmanager==0.50.0 # via azure-mgmt
|
||||
azure-mgmt-web==0.35.0 # via azure-mgmt
|
||||
azure-mgmt==4.0.0 # via azure
|
||||
azure-nspkg==3.0.2 # via azure-applicationinsights, azure-batch, azure-cosmosdb-nspkg, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-loganalytics, azure-mgmt-nspkg, azure-servicebus, azure-servicefabric, azure-servicemanagement-legacy
|
||||
azure-servicebus==0.21.1 # via azure
|
||||
azure-servicefabric==6.3.0.0 # via azure
|
||||
azure-servicemanagement-legacy==0.20.6 # via azure
|
||||
azure-storage-blob==1.5.0 # via azure
|
||||
azure-storage-common==1.4.0 # via azure-cosmosdb-table, azure-storage-blob, azure-storage-file, azure-storage-queue
|
||||
azure-storage-file==1.4.0 # via azure
|
||||
azure-storage-queue==1.4.0 # via azure
|
||||
azure==4.0.0
|
||||
certifi==2019.3.9 # via msrest, requests
|
||||
cffi==1.12.2 # via azure-datalake-store, cryptography
|
||||
chardet==3.0.4 # via requests
|
||||
cryptography==2.6.1 # via adal, azure-cosmosdb-table, azure-keyvault, azure-storage-common, requests-ntlm, smbprotocol
|
||||
idna==2.8 # via requests
|
||||
isodate==0.6.0 # via msrest
|
||||
msrest==0.6.6 # via azure-applicationinsights, azure-eventgrid, azure-keyvault, azure-loganalytics, azure-mgmt-cdn, azure-mgmt-compute, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-dns, azure-mgmt-eventhub, azure-mgmt-keyvault, azure-mgmt-media, azure-mgmt-network, azure-mgmt-rdbms, azure-mgmt-resource, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-servicefabric, msrestazure
|
||||
msrestazure==0.6.0 # via azure-batch, azure-eventgrid, azure-graphrbac, azure-keyvault, azure-mgmt-advisor, azure-mgmt-applicationinsights, azure-mgmt-authorization, azure-mgmt-batch, azure-mgmt-batchai, azure-mgmt-billing, azure-mgmt-cdn, azure-mgmt-cognitiveservices, azure-mgmt-commerce, azure-mgmt-compute, azure-mgmt-consumption, azure-mgmt-containerinstance, azure-mgmt-containerregistry, azure-mgmt-containerservice, azure-mgmt-cosmosdb, azure-mgmt-datafactory, azure-mgmt-datalake-analytics, azure-mgmt-datalake-store, azure-mgmt-datamigration, azure-mgmt-devspaces, azure-mgmt-devtestlabs, azure-mgmt-dns, azure-mgmt-eventgrid, azure-mgmt-eventhub, azure-mgmt-hanaonazure, azure-mgmt-iotcentral, azure-mgmt-iothub, azure-mgmt-iothubprovisioningservices, azure-mgmt-keyvault, azure-mgmt-loganalytics, azure-mgmt-logic, azure-mgmt-machinelearningcompute, azure-mgmt-managementgroups, azure-mgmt-managementpartner, azure-mgmt-maps, azure-mgmt-marketplaceordering, azure-mgmt-media, azure-mgmt-monitor, azure-mgmt-msi, azure-mgmt-network, azure-mgmt-notificationhubs, azure-mgmt-policyinsights, azure-mgmt-powerbiembedded, azure-mgmt-rdbms, azure-mgmt-recoveryservices, azure-mgmt-recoveryservicesbackup, azure-mgmt-redis, azure-mgmt-relay, azure-mgmt-reservations, azure-mgmt-resource, azure-mgmt-scheduler, azure-mgmt-search, azure-mgmt-servicebus, azure-mgmt-servicefabric, azure-mgmt-signalr, azure-mgmt-sql, azure-mgmt-storage, azure-mgmt-subscription, azure-mgmt-trafficmanager, azure-mgmt-web
|
||||
netaddr==0.7.19
|
||||
ntlm-auth==1.3.0 # via requests-ntlm, smbprotocol
|
||||
oauthlib==3.0.1 # via requests-oauthlib
|
||||
profitbricks==4.1.3
|
||||
pyasn1==0.4.5 # via smbprotocol
|
||||
pycparser==2.19 # via cffi
|
||||
pyjwt==1.7.1 # via adal
|
||||
pypsexec==0.1.0
|
||||
python-dateutil==2.8.0 # via adal, azure-cosmosdb-table, azure-storage-common
|
||||
pywinrm==0.3.0
|
||||
requests-ntlm==1.1.0 # via pywinrm
|
||||
requests-oauthlib==1.2.0 # via msrest
|
||||
requests==2.21.0 # via adal, azure-cosmosdb-table, azure-datalake-store, azure-keyvault, azure-servicebus, azure-servicemanagement-legacy, azure-storage-common, msrest, profitbricks, pywinrm, requests-ntlm, requests-oauthlib
|
||||
six==1.12.0 # via cryptography, isodate, profitbricks, pypsexec, python-dateutil, pywinrm, smbprotocol
|
||||
smbprotocol==0.1.1 # via pypsexec
|
||||
urllib3==1.24.2 # via requests
|
||||
xmltodict==0.12.0 # via pywinrm
|
8
requirements/static/py3.9/darwin-crypto.txt
Normal file
8
requirements/static/py3.9/darwin-crypto.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.9/darwin-crypto.txt -v requirements/static/crypto.in
|
||||
#
|
||||
m2crypto==0.35.2
|
||||
pycryptodomex==3.9.0
|
123
requirements/static/py3.9/darwin.txt
Normal file
123
requirements/static/py3.9/darwin.txt
Normal file
|
@ -0,0 +1,123 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.9/darwin.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/darwin.in
|
||||
#
|
||||
apache-libcloud==2.4.0
|
||||
appdirs==1.4.3 # via virtualenv
|
||||
argh==0.26.2 # via watchdog
|
||||
asn1crypto==1.3.0 # via certvalidator, cryptography, oscrypto
|
||||
atomicwrites==1.3.0 # via pytest
|
||||
attrs==19.1.0 # via pytest
|
||||
aws-xray-sdk==0.95 # via moto
|
||||
backports.functools-lru-cache==1.5 # via cheroot
|
||||
backports.ssl_match_hostname==3.7.0.1
|
||||
bcrypt==3.1.6 # via paramiko
|
||||
boto3==1.9.132
|
||||
boto==2.49.0
|
||||
botocore==1.12.132 # via boto3, moto, s3transfer
|
||||
cachetools==3.1.0 # via google-auth
|
||||
certifi==2019.3.9
|
||||
certvalidator==0.11.1 # via vcert
|
||||
cffi==1.12.2
|
||||
chardet==3.0.4 # via requests
|
||||
cheetah3==3.1.0
|
||||
cheroot==6.5.5 # via cherrypy
|
||||
cherrypy==17.4.1
|
||||
click==7.0
|
||||
clustershell==1.8.1
|
||||
contextlib2==0.5.5 # via cherrypy
|
||||
croniter==0.3.29
|
||||
cryptography==2.6.1
|
||||
distlib==0.3.0 # via virtualenv
|
||||
dnspython==1.16.0
|
||||
docker-pycreds==0.4.0 # via docker
|
||||
docker==3.7.2
|
||||
docutils==0.14 # via botocore
|
||||
ecdsa==0.13.3 # via python-jose
|
||||
enum34==1.1.6
|
||||
filelock==3.0.12 # via virtualenv
|
||||
future==0.17.1 # via python-jose
|
||||
genshi==0.7.3
|
||||
gitdb2==2.0.5 # via gitpython
|
||||
gitpython==2.1.15
|
||||
google-auth==1.6.3 # via kubernetes
|
||||
idna==2.8
|
||||
ipaddress==1.0.22
|
||||
jaraco.functools==2.0 # via tempora
|
||||
jinja2==2.10.1
|
||||
jmespath==0.9.4
|
||||
jsondiff==1.1.1 # via moto
|
||||
jsonpickle==1.1 # via aws-xray-sdk
|
||||
jsonschema==2.6.0
|
||||
junos-eznc==2.2.0
|
||||
jxmlease==1.0.1
|
||||
keyring==5.7.1
|
||||
kubernetes==3.0.0
|
||||
linode-python==1.1.1
|
||||
lxml==4.3.3 # via junos-eznc, ncclient
|
||||
mako==1.0.7
|
||||
markupsafe==1.1.1
|
||||
mock==3.0.5
|
||||
more-itertools==5.0.0
|
||||
moto==1.3.7
|
||||
msgpack-python==0.5.6
|
||||
msgpack==0.5.6
|
||||
ncclient==0.6.4 # via junos-eznc
|
||||
netaddr==0.7.19 # via junos-eznc
|
||||
oscrypto==1.2.0 # via certvalidator
|
||||
packaging==19.2 # via pytest
|
||||
paramiko==2.4.2 # via junos-eznc, ncclient, scp
|
||||
pathtools==0.1.2 # via watchdog
|
||||
pluggy==0.13.1 # via pytest
|
||||
portend==2.4 # via cherrypy
|
||||
psutil==5.6.6
|
||||
py==1.8.0 # via pytest
|
||||
pyaml==19.4.1 # via moto
|
||||
pyasn1-modules==0.2.4 # via google-auth
|
||||
pyasn1==0.4.5
|
||||
pycparser==2.19
|
||||
pycryptodome==3.8.1
|
||||
pynacl==1.3.0 # via paramiko
|
||||
pyopenssl==19.0.0
|
||||
pyparsing==2.4.5 # via packaging
|
||||
pyserial==3.4 # via junos-eznc
|
||||
pytest-helpers-namespace==2019.1.8
|
||||
pytest-salt-runtests-bridge==2019.7.10
|
||||
pytest-salt==2019.12.27
|
||||
pytest-tempdir==2019.10.12
|
||||
pytest==4.6.6
|
||||
python-dateutil==2.8.0
|
||||
python-etcd==0.4.5
|
||||
python-gnupg==0.4.4
|
||||
python-jose==2.0.2 # via moto
|
||||
pytz==2019.1 # via moto, tempora
|
||||
pyvmomi==6.7.1.2018.12
|
||||
pyyaml==5.1.2
|
||||
pyzmq==18.0.1 ; python_version != "3.4"
|
||||
requests==2.21.0
|
||||
responses==0.10.6 # via moto
|
||||
rfc3987==1.3.8
|
||||
rsa==4.0 # via google-auth
|
||||
s3transfer==0.2.0 # via boto3
|
||||
salttesting==2017.6.1
|
||||
scp==0.13.2 # via junos-eznc
|
||||
setproctitle==1.1.10
|
||||
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, packaging, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, tempora, vcert, virtualenv, websocket-client
|
||||
smmap2==2.0.5 # via gitdb2
|
||||
strict-rfc3339==0.7
|
||||
tempora==1.14.1 # via portend
|
||||
timelib==0.2.4
|
||||
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
|
||||
vcert==0.7.3
|
||||
virtualenv==20.0.10
|
||||
vultr==1.0.1
|
||||
watchdog==0.9.0
|
||||
wcwidth==0.1.7 # via pytest
|
||||
websocket-client==0.40.0 # via docker, kubernetes
|
||||
werkzeug==0.15.6 # via moto
|
||||
wrapt==1.11.1 # via aws-xray-sdk
|
||||
xmltodict==0.12.0 # via moto
|
||||
yamlordereddictloader==0.4.0
|
||||
zc.lockfile==1.4 # via cherrypy
|
30
requirements/static/py3.9/docs.txt
Normal file
30
requirements/static/py3.9/docs.txt
Normal file
|
@ -0,0 +1,30 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.9/docs.txt -v requirements/static/docs.in
|
||||
#
|
||||
alabaster==0.7.12 # via sphinx
|
||||
babel==2.7.0 # via sphinx
|
||||
certifi==2019.3.9 # via requests
|
||||
chardet==3.0.4 # via requests
|
||||
docutils==0.14 # via sphinx
|
||||
idna==2.8 # via requests
|
||||
imagesize==1.1.0 # via sphinx
|
||||
jinja2==2.10.1 # via sphinx
|
||||
markupsafe==1.1.1 # via jinja2
|
||||
packaging==19.0 # via sphinx
|
||||
pygments==2.4.2 # via sphinx
|
||||
pyparsing==2.4.0 # via packaging
|
||||
pytz==2019.1 # via babel
|
||||
requests==2.22.0 # via sphinx
|
||||
six==1.12.0 # via packaging
|
||||
snowballstemmer==1.2.1 # via sphinx
|
||||
sphinx==3.0.2
|
||||
sphinxcontrib-applehelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-devhelp==1.0.1 # via sphinx
|
||||
sphinxcontrib-htmlhelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-jsmath==1.0.1 # via sphinx
|
||||
sphinxcontrib-qthelp==1.0.2 # via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.3 # via sphinx
|
||||
urllib3==1.25.3 # via requests
|
16
requirements/static/py3.9/lint.txt
Normal file
16
requirements/static/py3.9/lint.txt
Normal file
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.9/lint.txt -v requirements/static/lint.in
|
||||
#
|
||||
astroid==2.3.3 # via pylint
|
||||
isort==4.3.17 # via pylint
|
||||
lazy-object-proxy==1.4.3 # via astroid
|
||||
mccabe==0.6.1 # via pylint
|
||||
modernize==0.5 # via saltpylint
|
||||
pycodestyle==2.5.0 # via saltpylint
|
||||
pylint==2.4.4
|
||||
saltpylint==2019.11.14
|
||||
six==1.12.0 # via astroid
|
||||
wrapt==1.11.1 # via astroid
|
8
requirements/static/py3.9/linux-crypto.txt
Normal file
8
requirements/static/py3.9/linux-crypto.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile -o requirements/static/py3.9/linux-crypto.txt -v requirements/static/crypto.in
|
||||
#
|
||||
m2crypto==0.35.2
|
||||
pycryptodomex==3.9.3
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue