Merge branch '2019.2.1' into cp-52787

This commit is contained in:
Megan Wilhite 2019-06-17 11:59:47 -04:00 committed by GitHub
commit 458fe9f346
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 1269 additions and 547 deletions

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=centos-6',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=centos-7',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py3',
'TEST_PLATFORM=centos-7',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=debian-8',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py3',
'TEST_PLATFORM=debian-8',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=debian-9',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py3',
'TEST_PLATFORM=debian-9',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=ubuntu-1604',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py3',
'TEST_PLATFORM=ubuntu-1604',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=ubuntu-1804',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -31,7 +34,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py3',
'TEST_PLATFORM=ubuntu-1804',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -30,7 +33,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py2',
'TEST_PLATFORM=windows-2016',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -12,6 +12,9 @@ properties([
[
$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false
],
parameters([
booleanParam(defaultValue: true, description: 'Run full test suite', name: 'runFull')
])
])
timeout(time: global_timeout, unit: 'HOURS') {
node('kitchen-slave') {
@ -30,7 +33,7 @@ timeout(time: global_timeout, unit: 'HOURS') {
'TEST_SUITE=py3',
'TEST_PLATFORM=windows-2016',
'PY_COLORS=1',
'FORCE_FULL=true',
"FORCE_FULL=${params.runFull}",
]) {
// Set the GH status even before cloning the repo
stage('github-pending') {

View File

@ -20,25 +20,30 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py2.7-zmq-requirements
name: OSX Py2.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|zeromq|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=2.7
- --platform=darwin
- --out-prefix=zeromq
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py2.7-zmq-requirements
name: Windows Py2.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|zeromq|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=2.7
- --platform=windows
- --out-prefix=zeromq
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
@ -60,25 +65,30 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py2.7-raet-requirements
name: OSX Py2.7 RAET Requirements
files: ^requirements/((base|raet|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|raet|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=2.7
- --out-prefix=raet
- --platform=darwin
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py2.7-raet-requirements
name: Windows Py2.7 RAET Requirements
files: ^requirements/((base|raet|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|raet|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=2.7
- --out-prefix=raet
- --platform=windows
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
@ -157,25 +167,30 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py3.5-zmq-requirements
name: OSX Py3.5 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|zeromq|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=3.5
- --platform=darwin
- --out-prefix=zeromq
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py3.5-zmq-requirements
name: Windows Py3.5 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|zeromq|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=3.5
- --platform=windows
- --out-prefix=zeromq
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
@ -198,26 +213,31 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py3.5-raet-requirements
name: OSX Py3.5 RAET Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|raet|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=3.5
- --platform=darwin
- --out-prefix=raet
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --remove-line=^enum34==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py3.5-raet-requirements
name: Windows Py3.5 RAET Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|raet|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=3.5
- --platform=windows
- --out-prefix=raet
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
@ -241,29 +261,6 @@ repos:
- --py-version=3.5
- --platform=linux
- id: pip-tools-compile
alias: compile-linux-py3.6-tcp-requirements
name: Linux Py3.6 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.6
- --platform=linux
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-osx-py3.6-tcp-requirements
name: OSX Py3.6 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/osx\.in)$
args:
- -v
- --py-version=3.6
- --platform=darwin
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-linux-py3.6-zmq-requirements
name: Linux Py3.6 ZeroMQ Requirements
@ -281,25 +278,30 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py3.6-zmq-requirements
name: OSX Py3.6 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|zeromq|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=3.6
- --platform=darwin
- --out-prefix=zeromq
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py3.6-zmq-requirements
name: Windows Py3.6 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|zeromq|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=3.6
- --platform=windows
- --out-prefix=zeromq
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
@ -322,26 +324,31 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py3.6-raet-requirements
name: OSX Py3.6 RAET Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|raet|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=3.6
- --platform=darwin
- --out-prefix=raet
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --remove-line=^enum34==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py3.6-raet-requirements
name: Windows Py3.6 RAET Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|raet|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=3.6
- --platform=windows
- --out-prefix=raet
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
@ -365,29 +372,6 @@ repos:
- --py-version=3.6
- --platform=linux
- id: pip-tools-compile
alias: compile-linux-py3.7-tcp-requirements
name: Linux Py3.7 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.7
- --platform=linux
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-osx-py3.7-tcp-requirements
name: OSX Py3.7 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/osx\.in)$
args:
- -v
- --py-version=3.7
- --platform=darwin
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-linux-py3.7-zmq-requirements
name: Linux Py3.7 ZeroMQ Requirements
@ -405,25 +389,30 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py3.7-zmq-requirements
name: OSX Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|zeromq|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=3.7
- --platform=darwin
- --out-prefix=zeromq
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py3.7-zmq-requirements
name: Windows Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|zeromq|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=3.7
- --platform=windows
- --out-prefix=zeromq
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
@ -446,26 +435,31 @@ repos:
- id: pip-tools-compile
alias: compile-osx-py3.7-raet-requirements
name: OSX Py3.7 RAET Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/osx\.in)$
files: ^(pkg/osx/(req|req_ext)\.txt|requirements/((base|raet|pytest)\.txt|static/osx\.in))$
args:
- -v
- --py-version=3.7
- --platform=darwin
- --out-prefix=raet
- --include=pkg/osx/req.txt
- --include=pkg/osx/req_ext.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt
- --remove-line=^pycrypto==(.*)$
- --remove-line=^enum34==(.*)$
- --passthrough-line-from-input=^pyobjc(.*)$
- id: pip-tools-compile
alias: compile-windows-py3.7-raet-requirements
name: Windows Py3.7 RAET Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/windows\.in)$
files: ^(pkg/windows/(req|req_win)\.txt|requirements/((base|raet|pytest)\.txt|static/windows\.in))$
args:
- -v
- --py-version=3.7
- --platform=windows
- --out-prefix=raet
- --include=pkg/windows/req.txt
- --include=pkg/windows/req_win.txt
- --include=requirements/base.txt
- --include=requirements/raet.txt
- --include=requirements/pytest.txt

View File

@ -2,29 +2,32 @@ apache-libcloud==2.4.0
backports.ssl_match_hostname==3.7.0.1
backports_abc==0.5
certifi
cffi==1.11.2
cffi==1.12.2
CherryPy==17.4.1
click==7.0
enum34==1.1.6
futures==3.2.0; python_version == '2.7'
futures==3.2.0 ; python_version < "3.0"
gitdb==0.6.4
GitPython==2.1.10
gitpython==2.1.11
idna==2.8
ipaddress==1.0.22
Jinja2==2.10
jinja2==2.10.1
linode-python==1.1.1
Mako==1.0.7
MarkupSafe==1.1.0
markupsafe==1.1.1
msgpack-python==0.5.6
psutil==5.6.1
pyasn1==0.4.5
pycparser==2.19
pycrypto==2.6.1
pycryptodome==3.8.1
pyobjc==5.1.2
python-dateutil==2.7.5
python-gnupg==0.4.3
PyYAML==3.13
pyzmq==17.1.2
pyopenssl
python-dateutil==2.8.0
python-gnupg==0.4.4
pyyaml==3.13
pyzmq==18.0.1
requests==2.21.0
setproctitle
singledispatch==3.4.0.3
smmap==0.9.0
timelib==0.2.4

View File

@ -1,2 +1,2 @@
cryptography==2.4.2
pyOpenSSL==18.0.0
cryptography==2.6.1
pyopenssl==19.0.0

View File

@ -2,38 +2,38 @@
backports-abc==0.5
backports.ssl-match-hostname==3.7.0.1
certifi
cffi==1.11.5
cffi==1.12.2
CherryPy==17.4.1
cryptography==2.4.2
cryptography==2.6.1
enum34==1.1.6
futures==3.2.0; python_version == '2.7'
futures==3.2.0 ; python_version < "3.0"
gitdb==0.6.4
GitPython==2.1.10
idna==2.8
ioloop==0.1a0
ipaddress==1.0.22
Jinja2==2.10
libnacl==1.6.1 # required by the nacl module
jinja2==2.10.1
libnacl==1.6.1
lxml==4.3.0
Mako==1.0.7
MarkupSafe==1.1.0
markupsafe==1.1.1
msgpack-python==0.5.6
psutil==5.4.8
psutil==5.6.1
pyasn1==0.4.5
pycparser==2.19
pycrypto==2.6.1
pycryptodomex==3.8.1
pycurl==7.43.0.2
pymssql==2.1.4
PyMySQL==0.9.3
pyOpenSSL==18.0.0
python-dateutil==2.7.5
python-gnupg==0.4.3
pyopenssl==19.0.0
python-dateutil==2.8.0
python-gnupg==0.4.4
pythonnet==2.3.0
PyYAML==3.13
pyzmq==17.1.2
pyyaml==3.13
pyzmq==18.0.1
requests==2.21.0
setproctitle
singledispatch==3.4.0.3
smmap==0.9.0
timelib==0.2.4
tornado==4.5.3
wheel==0.32.3
wheel==0.33.4

View File

@ -1,14 +1,11 @@
# This is a compilation of requirements installed on salt-jenkins git.salt state run
apache-libcloud==2.0.0
boto3
boto>=2.46.0
cffi
clustershell
croniter>=0.3.0,!=0.3.22
dnspython
docker
futures>=2.0; python_version < '3.0'
GitPython>=2.1.8
jsonschema<=2.6.0
junos-eznc
jxmlease
@ -17,23 +14,13 @@ kubernetes<4.0
mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
psutil
# Let's install cryptodome instead of pycrypto because of pycrypto's outstanding security issues
# PyCrypto, if pulled, will be removed from the generated static requirements
pycryptodome
pylxd>=2.2.5
pyopenssl
python-etcd>0.4.2
python-gnupg
pyvmomi
requests
rfc3987
salttesting==2017.6.1
setproctitle
strict_rfc3339
supervisor==3.3.5; python_version < '3'
timelib
tornado<5.0
virtualenv
yamlordereddictloader

View File

@ -2,15 +2,16 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py2.7/raet-osx.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py2.7/raet-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client
backports-abc==0.5
backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools
backports.ssl-match-hostname==3.7.0.1
backports.tempfile==1.0 # via moto
backports.weakref==1.0.post1 # via backports.tempfile
bcrypt==3.1.6 # via paramiko
@ -18,30 +19,36 @@ 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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
cookies==2.2.1 # via responses
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6 # via cryptography, raet
enum34==1.1.6
funcsigs==1.0.2 # via mock, pytest
functools32==3.2.3.post2 # via jsonschema
future==0.17.1 # via python-jose
futures==3.2.0 ; python_version < "3.0"
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via cryptography, docker, kubernetes
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -52,7 +59,9 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
mako==1.0.7
markupsafe==1.1.1
meld3==1.0.2 # via supervisor
mock==2.0.0 ; python_version < "3.6"
@ -66,12 +75,13 @@ paramiko==2.4.2 # via junos-eznc, ncclient, scp
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1
pylxd==2.2.9
pynacl==1.3.0 # via paramiko
@ -84,13 +94,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests-toolbelt==0.9.1 # via pylxd
requests-unixsocket==0.1.5 # via pylxd
@ -104,18 +115,24 @@ scandir==1.10.0 # via pathlib2
scp==0.13.2 # via junos-eznc
selectors2==2.0.1 # via ncclient
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
supervisor==3.3.5 ; python_version < "3"
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version < "3"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,42 +2,51 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py2.7/raet-windows.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py2.7/raet-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client
backports-abc==0.5
backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools
backports.ssl-match-hostname==3.7.0.1
backports.tempfile==1.0 # via moto
backports.weakref==1.0.post1 # via backports.tempfile
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 # via kubernetes, requests, tornado
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
cookies==2.2.1 # via responses
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6 # via cryptography, raet
enum34==1.1.6
funcsigs==1.0.2 # via mock, pytest
functools32==3.2.3.post2 # via jsonschema
future==0.17.1 # via python-jose
futures==3.2.0 ; python_version < "3.0"
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via cryptography, docker, kubernetes
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -46,6 +55,8 @@ jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
meld3==1.0.2 # via supervisor
mock==2.0.0 ; python_version < "3.6"
@ -57,13 +68,17 @@ patch==1.16
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -72,14 +87,16 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests==2.21.0
responses==0.10.6 # via moto
@ -90,16 +107,21 @@ salttesting==2017.6.1
scandir==1.10.0 # via pathlib2
sed==0.3.1
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
supervisor==3.3.5 ; python_version < "3"
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version < "3"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,15 +2,16 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py2.7/zeromq-osx.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py2.7/zeromq-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client
backports-abc==0.5
backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools
backports.ssl-match-hostname==3.7.0.1
backports.tempfile==1.0 # via moto
backports.weakref==1.0.post1 # via backports.tempfile
bcrypt==3.1.6 # via paramiko
@ -18,29 +19,35 @@ 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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
cookies==2.2.1 # via responses
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6 # via cryptography
enum34==1.1.6
funcsigs==1.0.2 # via mock, pytest
functools32==3.2.3.post2 # via jsonschema
future==0.17.1 # via python-jose
futures==3.2.0 ; python_version < "3.0"
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via cryptography, docker, kubernetes
idna==2.8
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -50,7 +57,9 @@ 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
meld3==1.0.2 # via supervisor
mock==2.0.0 ; python_version < "3.6"
@ -64,12 +73,13 @@ paramiko==2.4.2 # via junos-eznc, ncclient, scp
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^pycrypto==(.*)$'
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
@ -84,11 +94,11 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
@ -104,18 +114,24 @@ scandir==1.10.0 # via pathlib2
scp==0.13.2 # via junos-eznc
selectors2==2.0.1 # via ncclient
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
supervisor==3.3.5 ; python_version < "3"
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version < "3"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,41 +2,50 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py2.7/zeromq-windows.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py2.7/zeromq-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via docker, websocket-client
backports-abc==0.5
backports.functools-lru-cache==1.5 # via cheroot, jaraco.functools
backports.ssl-match-hostname==3.7.0.1
backports.tempfile==1.0 # via moto
backports.weakref==1.0.post1 # via backports.tempfile
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 # via kubernetes, requests, tornado
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
cookies==2.2.1 # via responses
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6 # via cryptography
enum34==1.1.6
funcsigs==1.0.2 # via mock, pytest
functools32==3.2.3.post2 # via jsonschema
future==0.17.1 # via python-jose
futures==3.2.0 ; python_version < "3.0"
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via cryptography, docker, kubernetes
idna==2.8
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -44,6 +53,9 @@ jsonpickle==1.1 # via aws-xray-sdk
jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
meld3==1.0.2 # via supervisor
mock==2.0.0 ; python_version < "3.6"
@ -55,14 +67,17 @@ patch==1.16
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1 ; sys_platform == "win32"
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -71,13 +86,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
requests==2.21.0
@ -89,16 +105,21 @@ salttesting==2017.6.1
scandir==1.10.0 # via pathlib2
sed==0.3.1
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
supervisor==3.3.5 ; python_version < "3"
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version < "3"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,41 +2,48 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.5/raet-osx.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py3.5/raet-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^enum34==(.*)$'
# enum34==1.1.6 # via raet
# enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via kubernetes
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -47,7 +54,9 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 ; python_version < "3.6"
more-itertools==5.0.0
@ -60,12 +69,13 @@ paramiko==2.4.2 # via junos-eznc, ncclient, scp
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1
pylxd==2.2.9
pynacl==1.3.0 # via paramiko
@ -78,13 +88,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests-toolbelt==0.9.1 # via pylxd
requests-unixsocket==0.1.5 # via pylxd
@ -96,17 +107,23 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,23 +2,28 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.5/raet-windows.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py3.5/raet-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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
cachetools==3.1.0 # via google-auth
certifi==2019.3.9 # via kubernetes, requests
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
@ -26,12 +31,17 @@ docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^enum34==(.*)$'
# enum34==1.1.6 # via raet
# enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via kubernetes
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -40,6 +50,8 @@ jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 ; python_version < "3.6"
more-itertools==5.0.0
@ -50,13 +62,17 @@ patch==1.16
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -65,14 +81,16 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests==2.21.0
responses==0.10.6 # via moto
@ -82,14 +100,20 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
sed==0.3.1
setproctitle==1.1.10
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,38 +2,46 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.5/zeromq-osx.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py3.5/zeromq-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via kubernetes
idna==2.8
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -43,7 +51,9 @@ 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==2.0.0 ; python_version < "3.6"
more-itertools==5.0.0
@ -56,12 +66,13 @@ paramiko==2.4.2 # via junos-eznc, ncclient, scp
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^pycrypto==(.*)$'
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
@ -76,11 +87,11 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
@ -94,17 +105,23 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pathlib2, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,33 +2,44 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.5/zeromq-windows.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py3.5/zeromq-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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
cachetools==3.1.0 # via google-auth
certifi==2019.3.9 # via kubernetes, requests
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via kubernetes
idna==2.8
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -36,6 +47,9 @@ jsonpickle==1.1 # via aws-xray-sdk
jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 ; python_version < "3.6"
more-itertools==5.0.0
@ -46,14 +60,17 @@ patch==1.16
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1 ; sys_platform == "win32"
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -62,13 +79,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
requests==2.21.0
@ -79,14 +97,20 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
sed==0.3.1
setproctitle==1.1.10
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pathlib2, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,41 +2,48 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.6/raet-osx.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py3.6/raet-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^enum34==(.*)$'
# enum34==1.1.6 # via raet
# enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via kubernetes
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -47,7 +54,9 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 # via moto
more-itertools==5.0.0
@ -59,12 +68,13 @@ netaddr==0.7.19 # via junos-eznc
paramiko==2.4.2 # via junos-eznc, ncclient, scp
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1
pylxd==2.2.9
pynacl==1.3.0 # via paramiko
@ -77,13 +87,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests-toolbelt==0.9.1 # via pylxd
requests-unixsocket==0.1.5 # via pylxd
@ -95,17 +106,23 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,23 +2,28 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.6/raet-windows.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py3.6/raet-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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
cachetools==3.1.0 # via google-auth
certifi==2019.3.9 # via kubernetes, requests
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
@ -26,12 +31,17 @@ docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^enum34==(.*)$'
# enum34==1.1.6 # via raet
# enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via kubernetes
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -40,6 +50,8 @@ jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 # via moto
more-itertools==5.0.0
@ -49,13 +61,17 @@ msgpack==0.6.1
patch==1.16
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -64,14 +80,16 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests==2.21.0
responses==0.10.6 # via moto
@ -81,14 +99,20 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
sed==0.3.1
setproctitle==1.1.10
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,38 +2,46 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.6/zeromq-osx.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py3.6/zeromq-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via kubernetes
idna==2.8
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -43,7 +51,9 @@ 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==2.0.0 # via moto
more-itertools==5.0.0
@ -55,12 +65,13 @@ netaddr==0.7.19 # via junos-eznc
paramiko==2.4.2 # via junos-eznc, ncclient, scp
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^pycrypto==(.*)$'
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
@ -75,11 +86,11 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
@ -93,17 +104,23 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,33 +2,44 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.6/zeromq-windows.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py3.6/zeromq-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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
cachetools==3.1.0 # via google-auth
certifi==2019.3.9 # via kubernetes, requests
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via kubernetes
idna==2.8
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -36,6 +47,9 @@ jsonpickle==1.1 # via aws-xray-sdk
jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 # via moto
more-itertools==5.0.0
@ -45,14 +59,17 @@ msgpack==0.6.1
patch==1.16
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1 ; sys_platform == "win32"
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -61,13 +78,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
requests==2.21.0
@ -78,14 +96,20 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
sed==0.3.1
setproctitle==1.1.10
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,41 +2,48 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.7/raet-osx.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py3.7/raet-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^enum34==(.*)$'
# enum34==1.1.6 # via raet
# enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via kubernetes
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -47,7 +54,9 @@ jxmlease==1.0.1
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
linode-python==1.1.1
lxml==4.3.3 # via junos-eznc, ncclient
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 # via moto
more-itertools==5.0.0
@ -59,12 +68,13 @@ netaddr==0.7.19 # via junos-eznc
paramiko==2.4.2 # via junos-eznc, ncclient, scp
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1
pylxd==2.2.9
pynacl==1.3.0 # via paramiko
@ -77,13 +87,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests-toolbelt==0.9.1 # via pylxd
requests-unixsocket==0.1.5 # via pylxd
@ -95,17 +106,23 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,24 +2,28 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.7/raet-windows.txt -v requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py3.7/raet-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/raet.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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
cachetools==3.1.0 # via google-auth
certifi==2019.3.9 # via kubernetes, requests, tornado
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
@ -27,12 +31,17 @@ docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^enum34==(.*)$'
# enum34==1.1.6 # via raet
# enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
idna==2.8
ioflo==1.7.5
ipaddress==1.0.22 # via kubernetes
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -41,6 +50,8 @@ jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 # via moto
more-itertools==5.0.0
@ -50,13 +61,17 @@ msgpack==0.6.1
patch==1.16
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -65,14 +80,16 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1
raet==0.6.8
requests==2.21.0
responses==0.10.6 # via moto
@ -82,15 +99,20 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
sed==0.3.1
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -2,38 +2,46 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.7/zeromq-osx.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
# pip-compile -o requirements/static/py3.7/zeromq-osx.txt -v pkg/osx/req.txt pkg/osx/req_ext.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/osx.in
#
apache-libcloud==2.0.0
apache-libcloud==2.4.0
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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 # via kubernetes, requests, tornado
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
click==7.0
clustershell==1.8.1
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
croniter==0.3.29
cryptography==2.6.1 # via moto, paramiko, pylxd, pyopenssl
cryptography==2.6.1
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==3.7.2
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.11
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via kubernetes
idna==2.8
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -43,7 +51,9 @@ 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==2.0.0 # via moto
more-itertools==5.0.0
@ -55,12 +65,13 @@ netaddr==0.7.19 # via junos-eznc
paramiko==2.4.2 # via junos-eznc, ncclient, scp
pbr==5.1.3 # via mock, pylxd
pluggy==0.9.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
pyasn1==0.4.5
pycparser==2.19
# Next line explicitly commented out by pip-tools-compile because of the following regex: '^pycrypto==(.*)$'
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
@ -75,11 +86,11 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, croniter, kubernetes, moto, pylxd
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
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
@ -93,17 +104,23 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
scp==0.13.2 # via junos-eznc
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via bcrypt, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pylxd, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests, requests-unixsocket
virtualenv==16.4.3
vultr==1.0.1
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wrapt==1.11.1 # via aws-xray-sdk
ws4py==0.5.1 # via pylxd
xmltodict==0.12.0 # via moto
yamlordereddictloader==0.4.0
zc.lockfile==1.4 # via cherrypy
# Passthrough dependencies from pkg/osx/req.txt
pyobjc==5.1.2

View File

@ -2,34 +2,44 @@
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile -o requirements/static/py3.7/zeromq-windows.txt -v requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
# pip-compile -o requirements/static/py3.7/zeromq-windows.txt -v pkg/windows/req.txt pkg/windows/req_win.txt requirements/base.txt requirements/zeromq.txt requirements/pytest.txt requirements/static/windows.in
#
asn1crypto==0.24.0 # via cryptography
atomicwrites==1.3.0 # via pytest
attrs==19.1.0 # via pytest
aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
backports-abc==0.5
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
cachetools==3.1.0 # via google-auth
certifi==2019.3.9 # via kubernetes, requests, tornado
cffi==1.12.2 # via cryptography
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4 # via requests
cheroot==6.5.5 # via cherrypy
cherrypy==17.4.1
colorama==0.4.1 # via pytest
contextlib2==0.5.5 # via cherrypy
coverage==4.5.3 # via pytest-cov
cryptography==2.6.1 # via moto, pyopenssl
cryptography==2.6.1
dmidecode==0.9.0
dnspython==1.16.0
docker-pycreds==0.4.0 # via docker
docker==2.7.0
docutils==0.14 # via botocore
ecdsa==0.13.2 # via python-jose
enum34==1.1.6
future==0.17.1 # via python-jose
gitdb2==2.0.5 # via gitpython
gitdb==0.6.4
gitpython==2.1.10
google-auth==1.6.3 # via kubernetes
idna==2.8 # via requests
ipaddress==1.0.22 # via kubernetes
idna==2.8
ioloop==0.1a0
ipaddress==1.0.22
jaraco.functools==2.0 # via tempora
jinja2==2.10.1
jmespath==0.9.4 # via boto3, botocore
jsondiff==1.1.1 # via moto
@ -37,6 +47,9 @@ jsonpickle==1.1 # via aws-xray-sdk
jsonschema==2.6.0
keyring==5.7.1
kubernetes==3.0.0
libnacl==1.6.1
lxml==4.3.0
mako==1.0.7
markupsafe==1.1.1
mock==2.0.0 # via moto
more-itertools==5.0.0
@ -46,14 +59,17 @@ msgpack==0.6.1
patch==1.16
pbr==5.1.3 # via mock
pluggy==0.9.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 pyasn1-modules, rsa
pycparser==2.19 # via cffi
pyasn1==0.4.5
pycparser==2.19
pycryptodome==3.8.1 # via python-jose
pycryptodomex==3.8.1 ; sys_platform == "win32"
pycurl==7.43.0.2
pymysql==0.9.3
pyopenssl==19.0.0
pytest-cov==2.6.1
pytest-helpers-namespace==2019.1.8
@ -62,13 +78,14 @@ pytest-salt==2018.12.8
pytest-tempdir==2018.8.11
pytest-timeout==1.3.3
pytest==4.4.1
python-dateutil==2.8.0 # via botocore, kubernetes, moto
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
pythonnet==2.3.0
pytz==2019.1 # via moto, tempora
pyvmomi==6.7.1.2018.12
pywin32==223
pywin32==224
pyyaml==3.13
pyzmq==18.0.1 ; python_version != "3.4"
requests==2.21.0
@ -79,15 +96,20 @@ s3transfer==0.2.0 # via boto3
salttesting==2017.6.1
sed==0.3.1
setproctitle==1.1.10
singledispatch==3.4.0.3 # via tornado
six==1.12.0 # via cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, websocket-client
singledispatch==3.4.0.3
six==1.12.0 # via cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, kubernetes, mock, more-itertools, moto, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
smmap==0.9.0
strict-rfc3339==0.7
tempora==1.14.1 # via portend
timelib==0.2.4
tornado==4.5.3 ; python_version >= "3.4"
urllib3==1.24.2 # via botocore, kubernetes, python-etcd, requests
virtualenv==16.4.3
websocket-client==0.40.0 # via docker, kubernetes
werkzeug==0.15.2 # via moto
wheel==0.33.4
wmi==1.4.9
wrapt==1.11.1 # via aws-xray-sdk
xmltodict==0.12.0 # via moto
zc.lockfile==1.4 # via cherrypy

View File

@ -13,21 +13,13 @@ kubernetes<4.0
mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto<=1.3.7
msgpack-python >= 0.4.2, != 0.5.5
patch
psutil
pyopenssl
python-etcd>0.4.2
python-gnupg
pyvmomi
pywin32==223
rfc3987
salttesting==2017.6.1
sed
setproctitle
strict_rfc3339
supervisor==3.3.5; python_version < '3'
timelib
tornado<5.0
virtualenv
wmi==1.4.9

View File

@ -22,6 +22,7 @@ from salt.ext.six.moves import map
# Get logging started
log = logging.getLogger(__name__)
default_event_wait = 30
__func_alias__ = {
'list_': 'list',
'reload_': 'reload'
@ -56,7 +57,7 @@ def list_(return_yaml=True,
beacons = None
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'list',
'include_pillar': include_pillar,
'include_opts': include_opts},
@ -64,7 +65,7 @@ def list_(return_yaml=True,
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacons_list_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
log.debug('event_ret %s', event_ret)
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
@ -103,12 +104,12 @@ def list_available(return_yaml=True, **kwargs):
beacons = None
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'list_available'}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacons_list_available_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
except KeyError:
@ -160,7 +161,7 @@ def add(name, beacon_data, **kwargs):
else:
try:
# Attempt to load the beacon module so we have access to the validate function
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'name': name,
'beacon_data': beacon_data,
'func': 'validate_beacon'},
@ -168,7 +169,7 @@ def add(name, beacon_data, **kwargs):
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_validation_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
valid = event_ret['valid']
vcomment = event_ret['vcomment']
@ -189,7 +190,7 @@ def add(name, beacon_data, **kwargs):
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_add_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
if name in beacons and beacons[name] == beacon_data:
@ -234,7 +235,7 @@ def modify(name, beacon_data, **kwargs):
else:
try:
# Attempt to load the beacon module so we have access to the validate function
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'name': name,
'beacon_data': beacon_data,
'func': 'validate_beacon'},
@ -242,7 +243,7 @@ def modify(name, beacon_data, **kwargs):
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_validation_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
valid = event_ret['valid']
vcomment = event_ret['vcomment']
@ -283,12 +284,12 @@ def modify(name, beacon_data, **kwargs):
ret['changes']['diff'] = ''.join(_diff)
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'name': name, 'beacon_data': beacon_data, 'func': 'modify'}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_modify_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
if name in beacons and beacons[name] == beacon_data:
@ -329,12 +330,12 @@ def delete(name, **kwargs):
ret['comment'] = 'Beacon: {0} would be deleted.'.format(name)
else:
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'name': name, 'func': 'delete'}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_delete_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
if name not in beacons:
@ -410,12 +411,12 @@ def enable(**kwargs):
ret['comment'] = 'Beacons would be enabled.'
else:
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'enable'}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacons_enabled_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
if 'enabled' in beacons and beacons['enabled']:
@ -451,12 +452,12 @@ def disable(**kwargs):
ret['comment'] = 'Beacons would be disabled.'
else:
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'disable'}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacons_disabled_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
log.debug('event_ret %s', event_ret)
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
@ -515,12 +516,12 @@ def enable_beacon(name, **kwargs):
return ret
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'enable_beacon', 'name': name}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_enabled_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
beacon_config_dict = _get_beacon_config_dict(beacons[name])
@ -573,12 +574,12 @@ def disable_beacon(name, **kwargs):
return ret
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'disable_beacon', 'name': name}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_disabled_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
beacons = event_ret['beacons']
beacon_config_dict = _get_beacon_config_dict(beacons[name])
@ -617,12 +618,12 @@ def reset(**kwargs):
ret['comment'] = 'Beacons would be reset.'
else:
try:
eventer = salt.utils.event.get_event('minion', opts=__opts__)
eventer = salt.utils.event.get_event('minion', opts=__opts__, listen=True)
res = __salt__['event.fire']({'func': 'reset'}, 'manage_beacons')
if res:
event_ret = eventer.get_event(
tag='/salt/minion/minion_beacon_reset_complete',
wait=kwargs.get('timeout', 30))
wait=kwargs.get('timeout', default_event_wait))
if event_ret and event_ret['complete']:
ret['result'] = True
ret['comment'] = 'Beacon configuration reset.'

View File

@ -30,7 +30,7 @@ import time
import glob
import hashlib
import mmap
from collections import Iterable, Mapping
from collections import Iterable, Mapping, namedtuple
from functools import reduce # pylint: disable=redefined-builtin
# pylint: disable=import-error,no-name-in-module,redefined-builtin
@ -73,6 +73,9 @@ __func_alias__ = {
}
AttrChanges = namedtuple('AttrChanges', 'added,removed')
def __virtual__():
'''
Only work on POSIX-like systems
@ -161,33 +164,49 @@ def _splitlines_preserving_trailing_newline(str):
return lines
def _get_chattr_man():
'''
Get the contents of the chattr man page
'''
return subprocess.check_output(['man', 'chattr'])
def _parse_chattr_man(man):
'''
Parse the contents of a chattr man page to find the E2fsprogs version
'''
match = re.search(
r'E2fsprogs version [0-9\.]+',
salt.utils.stringutils.to_str(man),
)
if match:
version = match.group().strip('E2fsprogs version ')
else:
version = None
return version
def _chattr_version():
'''
Return the version of chattr installed
'''
return _parse_chattr_man(_get_chattr_man())
# There's no really *good* way to get the version of chattr installed.
# It's part of the e2fsprogs package - we could try to parse the version
# from the package manager, but there's no guarantee that it was
# installed that way.
#
# The most reliable approach is to just check tune2fs, since that should
# be installed with chattr, at least if it was installed in a conventional
# manner.
#
# See https://unix.stackexchange.com/a/520399/5788 for discussion.
tune2fs = salt.utils.path.which('tune2fs')
if not tune2fs or salt.utils.platform.is_aix():
return None
cmd = [tune2fs]
result = __salt__['cmd.run'](cmd, ignore_retcode=True, python_shell=False)
match = re.search(
r'tune2fs (?P<version>[0-9\.]+)',
salt.utils.stringutils.to_str(result),
)
if match is None:
version = None
else:
version = match.group('version')
return version
def _chattr_has_extended_attrs():
'''
Return ``True`` if chattr supports extended attributes, that is,
the version is >1.41.22. Otherwise, ``False``
'''
ver = _chattr_version()
if ver is None:
return False
needed_version = salt.utils.versions.LooseVersion('1.41.12')
chattr_version = salt.utils.versions.LooseVersion(ver)
return chattr_version > needed_version
def gid_to_group(gid):
@ -551,8 +570,6 @@ def _cmp_attrs(path, attrs):
attrs
string of attributes to compare against a given file
'''
diff = [None, None]
# lsattr for AIX is not the same thing as lsattr for linux.
if salt.utils.platform.is_aix():
return None
@ -563,15 +580,13 @@ def _cmp_attrs(path, attrs):
# lsattr not installed
return None
old = [chr for chr in lattrs if chr not in attrs]
if len(old) > 0:
diff[1] = ''.join(old)
new = set(attrs)
old = set(lattrs)
new = [chr for chr in attrs if chr not in lattrs]
if len(new) > 0:
diff[0] = ''.join(new)
return diff
return AttrChanges(
added=''.join(new-old) or None,
removed=''.join(old-new) or None,
)
def lsattr(path):
@ -607,15 +622,12 @@ def lsattr(path):
results = {}
for line in result.splitlines():
if not line.startswith('lsattr: '):
vals = line.split(None, 1)
needed_version = salt.utils.versions.LooseVersion('1.41.12')
chattr_version = salt.utils.versions.LooseVersion(_chattr_version())
# The version of chattr on Centos 6 does not support extended
# attributes.
if chattr_version > needed_version:
results[vals[1]] = re.findall(r"[aAcCdDeijPsStTu]", vals[0])
attrs, file = line.split(None, 1)
if _chattr_has_extended_attrs():
pattern = r"[aAcCdDeijPsStTu]"
else:
results[vals[1]] = re.findall(r"[acdijstuADST]", vals[0])
pattern = r"[acdijstuADST]"
results[file] = re.findall(pattern, attrs)
return results
@ -680,8 +692,7 @@ def chattr(*files, **kwargs):
result = __salt__['cmd.run'](cmd, python_shell=False)
if bool(result):
raise CommandExecutionError(
"chattr failed to run, possibly due to bad parameters.")
return False
return True
@ -3670,7 +3681,7 @@ def stats(path, hash_type=None, follow_symlinks=True):
ret['mtime'] = pstat.st_mtime
ret['ctime'] = pstat.st_ctime
ret['size'] = pstat.st_size
ret['mode'] = six.text_type(oct(stat.S_IMODE(pstat.st_mode)))
ret['mode'] = salt.utils.files.normalize_mode(oct(stat.S_IMODE(pstat.st_mode)))
if hash_type:
ret['sum'] = get_hash(path, hash_type)
ret['type'] = 'file'
@ -4516,19 +4527,6 @@ def check_perms(name, ret, user, group, mode, attrs=None, follow_symlinks=False)
is_dir = os.path.isdir(name)
is_link = os.path.islink(name)
if attrs is not None \
and not salt.utils.platform.is_windows() \
and not is_dir and not is_link:
try:
lattrs = lsattr(name)
except SaltInvocationError:
lattrs = None
if lattrs is not None:
# List attributes on file
perms['lattrs'] = ''.join(lattrs.get(name, ''))
# Remove attributes on file so changes can be enforced.
if perms['lattrs']:
chattr(name, operator='remove', attributes=perms['lattrs'])
# user/group changes if needed, then check if it worked
if user:
@ -4610,11 +4608,6 @@ def check_perms(name, ret, user, group, mode, attrs=None, follow_symlinks=False)
elif 'cgroup' in perms and user != '':
ret['changes']['group'] = group
if not salt.utils.platform.is_windows() and not is_dir:
# Replace attributes on file if it had been removed
if perms.get('lattrs', ''):
chattr(name, operator='add', attributes=perms['lattrs'])
# Mode changes if needed
if mode is not None:
# File is a symlink, ignore the mode setting
@ -4644,23 +4637,37 @@ def check_perms(name, ret, user, group, mode, attrs=None, follow_symlinks=False)
pass
else:
diff_attrs = _cmp_attrs(name, attrs)
if diff_attrs is not None:
if diff_attrs[0] is not None or diff_attrs[1] is not None:
if __opts__['test'] is True:
ret['changes']['attrs'] = attrs
if diff_attrs and any(attr for attr in diff_attrs):
changes = {
'old': ''.join(lsattr(name)[name]),
'new': None,
}
if __opts__['test'] is True:
changes['new'] = attrs
else:
if diff_attrs.added:
chattr(
name,
operator="add",
attributes=diff_attrs.added,
)
if diff_attrs.removed:
chattr(
name,
operator="remove",
attributes=diff_attrs.removed,
)
cmp_attrs = _cmp_attrs(name, attrs)
if any(attr for attr in cmp_attrs):
ret['result'] = False
ret['comment'].append(
'Failed to change attributes to {0}'.format(attrs)
)
changes['new'] = ''.join(lsattr(name)[name])
else:
if diff_attrs[0] is not None:
chattr(name, operator="add", attributes=diff_attrs[0])
if diff_attrs[1] is not None:
chattr(name, operator="remove", attributes=diff_attrs[1])
cmp_attrs = _cmp_attrs(name, attrs)
if cmp_attrs[0] is not None or cmp_attrs[1] is not None:
ret['result'] = False
ret['comment'].append(
'Failed to change attributes to {0}'.format(attrs)
)
else:
ret['changes']['attrs'] = attrs
changes['new'] = attrs
if changes['old'] != changes['new']:
ret['changes']['attrs'] = changes
# Only combine the comment list into a string
# after all comments are added above

View File

@ -854,7 +854,7 @@ def stats(path, hash_type='sha256', follow_symlinks=True):
ret['mtime'] = pstat.st_mtime
ret['ctime'] = pstat.st_ctime
ret['size'] = pstat.st_size
ret['mode'] = six.text_type(oct(stat.S_IMODE(pstat.st_mode)))
ret['mode'] = salt.utils.files.normalize_mode(oct(stat.S_IMODE(pstat.st_mode)))
if hash_type:
ret['sum'] = get_sum(path, hash_type)
ret['type'] = 'file'
@ -1161,11 +1161,13 @@ def symlink(src, link):
win32file.CreateSymbolicLink(link, src, int(is_dir))
return True
except win32file.error as exc:
privs = __salt__['cmd.run_stdout']('whoami /priv')
raise CommandExecutionError(
'Could not create \'{0}\' - [{1}] {2}'.format(
'Could not create \'{0}\' - [{1}] {2}\n{3}'.format(
link,
exc.winerror,
exc.strerror
exc.strerror,
privs
)
)

View File

@ -465,7 +465,7 @@ def query(url,
not isinstance(result_text, six.text_type):
result_text = result_text.decode(res_params['charset'])
if six.PY3 and isinstance(result_text, bytes):
result_text = result.body.decode('utf-8')
result_text = result_text.decode('utf-8')
ret['body'] = result_text
else:
# Tornado

View File

@ -757,14 +757,6 @@ class TestDaemon(object):
}
master_opts['ext_pillar'].append({'file_tree': file_tree})
# This is the syndic for master
# Let's start with a copy of the syndic master configuration
syndic_opts = copy.deepcopy(master_opts)
# Let's update with the syndic configuration
syndic_opts.update(salt.config._read_conf_file(os.path.join(RUNTIME_VARS.CONF_DIR, 'syndic')))
syndic_opts['cachedir'] = os.path.join(TMP, 'rootdir', 'cache')
syndic_opts['config_dir'] = RUNTIME_VARS.TMP_SYNDIC_MINION_CONF_DIR
# Under windows we can't seem to properly create a virtualenv off of another
# virtualenv, we can on linux but we will still point to the virtualenv binary
# outside the virtualenv running the test suite, if that's the case.
@ -854,6 +846,14 @@ class TestDaemon(object):
syndic_master_opts['transport'] = 'tcp'
proxy_opts['transport'] = 'tcp'
# This is the syndic for master
# Let's start with a copy of the syndic master configuration
syndic_opts = copy.deepcopy(master_opts)
# Let's update with the syndic configuration
syndic_opts.update(salt.config._read_conf_file(os.path.join(RUNTIME_VARS.CONF_DIR, 'syndic')))
syndic_opts['cachedir'] = os.path.join(TMP, 'rootdir', 'cache')
syndic_opts['config_dir'] = RUNTIME_VARS.TMP_SYNDIC_MINION_CONF_DIR
# Set up config options that require internal data
master_opts['pillar_roots'] = syndic_master_opts['pillar_roots'] = {
'base': [

View File

@ -8,7 +8,7 @@ ec2-test:
ec2-win2012r2-test:
provider: ec2-config
size: c5.large
image: ami-02e27664434db6def
image: ami-004d6bbd25fdba500
smb_port: 445
win_installer: ''
win_username: Administrator
@ -22,7 +22,7 @@ ec2-win2012r2-test:
ec2-win2016-test:
provider: ec2-config
size: c5.large
image: ami-017bf00eb0d4c7182
image: ami-013c9f19b48ddfd08
smb_port: 445
win_installer: ''
win_username: Administrator

View File

@ -23,7 +23,6 @@ from multiprocessing import Queue
import msgpack
# Import Salt libs
from salt.ext import six
from salt.utils.platform import is_darwin
import salt.log.setup
@ -35,8 +34,6 @@ __virtualname__ = 'runtests_log_handler'
def __virtual__():
if 'runtests_log_port' not in __opts__:
return False, "'runtests_log_port' not in options"
if six.PY3:
return False, "runtests external logging handler is temporarily disabled for Python 3 tests"
return True

View File

@ -42,7 +42,16 @@ here
class DummyStat(object):
st_size = 123
st_mode = 33188
st_ino = 115331251
st_dev = 44
st_nlink = 1
st_uid = 99200001
st_gid = 99200001
st_size = 41743
st_atime = 1552661253
st_mtime = 1552661253
st_ctime = 1552661253
class FileReplaceTestCase(TestCase, LoaderModuleMockMixin):
@ -1109,6 +1118,14 @@ class FileModuleTestCase(TestCase, LoaderModuleMockMixin):
ret = filemod.get_diff('binary1', 'text1')
self.assertEqual(ret, 'Replace binary file with text file')
def test_stats(self):
with patch('os.path.expanduser', MagicMock(side_effect=lambda path: path)), \
patch('os.path.exists', MagicMock(return_value=True)), \
patch('os.stat', MagicMock(return_value=DummyStat())):
ret = filemod.stats('dummy', None, True)
self.assertEqual(ret['mode'], '0644')
self.assertEqual(ret['type'], 'file')
@skipIf(pytest is None, 'PyTest required for this set of tests')
class FilemodLineTests(TestCase, LoaderModuleMockMixin):
@ -2047,32 +2064,366 @@ class FileBasicsTestCase(TestCase, LoaderModuleMockMixin):
self.assertEqual(list(ret), ['file://' + self.myfile, 'filehash'])
class ChattrVersionTests(TestCase):
CHATTR_MAN = salt.utils.stringutils.to_bytes((
'AVAILABILITY\n'
'chattr is part of the e2fsprogs package and is available '
'from http://e2fsprogs.sourceforge.net.\n'
'SEE ALSO\n'
' lsattr(1), btrfs(5), ext4(5), xfs(5).\n\n'
'E2fsprogs version 1.43.4 '
' '
'January 2017 '
' '
' CHATTR(1)'
))
class LsattrTests(TestCase, LoaderModuleMockMixin):
def setup_loader_modules(self):
return {
filemod: {
'__salt__': {
'cmd.run': cmdmod.run,
},
},
}
def test__parse_chattr_version(self):
'''
Validate we can parse the E2fsprogs version from the chattr man page
'''
man_out = dedent(self.CHATTR_MAN)
parsed_version = filemod._parse_chattr_man(man_out)
assert parsed_version == '1.43.4', parsed_version
def run(self, result=None):
patch_aix = patch(
'salt.utils.platform.is_aix',
Mock(return_value=False),
)
patch_exists = patch(
'os.path.exists',
Mock(return_value=True),
)
patch_which = patch(
'salt.utils.path.which',
Mock(return_value='fnord'),
)
with patch_aix, patch_exists, patch_which:
super(LsattrTests, self).run(result)
def test__chattr_version(self):
'''
The _chattr_version method works
'''
with patch('subprocess.check_output', return_value=self.CHATTR_MAN):
parsed_version = filemod._chattr_version()
assert parsed_version == '1.43.4', parsed_version
def test_if_lsattr_is_missing_it_should_return_None(self):
patch_which = patch(
'salt.utils.path.which',
Mock(return_value=None),
)
with patch_which:
actual = filemod.lsattr('foo')
assert actual is None, actual
def test_on_aix_lsattr_should_be_None(self):
patch_aix = patch(
'salt.utils.platform.is_aix',
Mock(return_value=True),
)
with patch_aix:
# SaltInvocationError will be raised if filemod.lsattr
# doesn't early exit
actual = filemod.lsattr('foo')
self.assertIsNone(actual)
def test_SaltInvocationError_should_be_raised_when_file_is_missing(self):
patch_exists = patch(
'os.path.exists',
Mock(return_value=False),
)
with patch_exists, self.assertRaises(SaltInvocationError):
filemod.lsattr('foo')
def test_if_chattr_version_is_less_than_required_flags_should_ignore_extended(self):
fname = '/path/to/fnord'
with_extended = textwrap.dedent(
'''
aAcCdDeijPsStTu---- {}
'''
).strip().format(fname)
expected = set('acdijstuADST')
patch_has_ext = patch(
'salt.modules.file._chattr_has_extended_attrs',
Mock(return_value=False),
)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': Mock(return_value=with_extended)},
)
with patch_has_ext, patch_run:
actual = set(filemod.lsattr(fname)[fname])
msg = 'Actual: {!r} Expected: {!r}'.format(actual, expected) # pylint: disable=E1322
assert actual == expected, msg
def test_if_chattr_version_is_high_enough_then_extended_flags_should_be_returned(self):
fname = '/path/to/fnord'
with_extended = textwrap.dedent(
'''
aAcCdDeijPsStTu---- {}
'''
).strip().format(fname)
expected = set('aAcCdDeijPsStTu')
patch_has_ext = patch(
'salt.modules.file._chattr_has_extended_attrs',
Mock(return_value=True),
)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': Mock(return_value=with_extended)},
)
with patch_has_ext, patch_run:
actual = set(filemod.lsattr(fname)[fname])
msg = 'Actual: {!r} Expected: {!r}'.format(actual, expected) # pylint: disable=E1322
assert actual == expected, msg
def test_if_supports_extended_but_there_are_no_flags_then_none_should_be_returned(self):
fname = '/path/to/fnord'
with_extended = textwrap.dedent(
'''
------------------- {}
'''
).strip().format(fname)
expected = set('')
patch_has_ext = patch(
'salt.modules.file._chattr_has_extended_attrs',
Mock(return_value=True),
)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': Mock(return_value=with_extended)},
)
with patch_has_ext, patch_run:
actual = set(filemod.lsattr(fname)[fname])
msg = 'Actual: {!r} Expected: {!r}'.format(actual, expected) # pylint: disable=E1322
assert actual == expected, msg
# This should create a merge conflict with ChattrVersionTests when
# a merge forward to develop happens. Develop's changes are made
# obsolete by this ChattrTests class, and should be removed in favor
# of this change.
class ChattrTests(TestCase, LoaderModuleMockMixin):
def setup_loader_modules(self):
return {
filemod: {
'__salt__': {
'cmd.run': cmdmod.run,
},
'__opts__': {
'test': False,
},
},
}
def run(self, result=None):
patch_aix = patch(
'salt.utils.platform.is_aix',
Mock(return_value=False),
)
patch_exists = patch(
'os.path.exists',
Mock(return_value=True),
)
patch_which = patch(
'salt.utils.path.which',
Mock(return_value='some/tune2fs'),
)
with patch_aix, patch_exists, patch_which:
super(ChattrTests, self).run(result)
def test_chattr_version_returns_None_if_no_tune2fs_exists(self):
patch_which = patch(
'salt.utils.path.which',
Mock(return_value=''),
)
with patch_which:
actual = filemod._chattr_version()
self.assertIsNone(actual)
def test_on_aix_chattr_version_should_be_None_even_if_tune2fs_exists(self):
patch_which = patch(
'salt.utils.path.which',
Mock(return_value='fnord'),
)
patch_aix = patch(
'salt.utils.platform.is_aix',
Mock(return_value=True),
)
mock_run = MagicMock(return_value='fnord')
patch_run = patch.dict(filemod.__salt__, {'cmd.run': mock_run})
with patch_which, patch_aix, patch_run:
actual = filemod._chattr_version()
self.assertIsNone(actual)
mock_run.assert_not_called()
def test_chattr_version_should_return_version_from_tune2fs(self):
expected = '1.43.4'
sample_output = textwrap.dedent(
'''
tune2fs 1.43.4 (31-Jan-2017)
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]
[-i interval[d|m|w]] [-j] [-J journal_options] [-l]
[-m reserved_blocks_percent] [-o [^]mount_options[,...]]
[-p mmp_update_interval] [-r reserved_blocks_count] [-u user]
[-C mount_count] [-L volume_label] [-M last_mounted_dir]
[-O [^]feature[,...]] [-Q quota_options]
[-E extended-option[,...]] [-T last_check_time] [-U UUID]
[-I new_inode_size] [-z undo_file] device
'''
)
patch_which = patch(
'salt.utils.path.which',
Mock(return_value='fnord'),
)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': MagicMock(return_value=sample_output)},
)
with patch_which, patch_run:
actual = filemod._chattr_version()
self.assertEqual(actual, expected)
def test_if_tune2fs_has_no_version_version_should_be_None(self):
patch_which = patch(
'salt.utils.path.which',
Mock(return_value='fnord'),
)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': MagicMock(return_value='fnord')},
)
with patch_which, patch_run:
actual = filemod._chattr_version()
self.assertIsNone(actual)
def test_chattr_has_extended_attrs_should_return_False_if_chattr_version_is_None(self):
patch_chattr = patch(
'salt.modules.file._chattr_version',
Mock(return_value=None),
)
with patch_chattr:
actual = filemod._chattr_has_extended_attrs()
assert not actual, actual
def test_chattr_has_extended_attrs_should_return_False_if_version_is_too_low(self):
below_expected = '0.1.1'
patch_chattr = patch(
'salt.modules.file._chattr_version',
Mock(return_value=below_expected),
)
with patch_chattr:
actual = filemod._chattr_has_extended_attrs()
assert not actual, actual
def test_chattr_has_extended_attrs_should_return_False_if_version_is_equal_threshold(self):
threshold = '1.41.12'
patch_chattr = patch(
'salt.modules.file._chattr_version',
Mock(return_value=threshold),
)
with patch_chattr:
actual = filemod._chattr_has_extended_attrs()
assert not actual, actual
def test_chattr_has_extended_attrs_should_return_True_if_version_is_above_threshold(self):
higher_than = '1.41.13'
patch_chattr = patch(
'salt.modules.file._chattr_version',
Mock(return_value=higher_than),
)
with patch_chattr:
actual = filemod._chattr_has_extended_attrs()
assert actual, actual
def test_check_perms_should_report_no_attr_changes_if_there_are_none(self):
filename = '/path/to/fnord'
attrs = 'aAcCdDeijPsStTu'
higher_than = '1.41.13'
patch_chattr = patch(
'salt.modules.file._chattr_version',
Mock(return_value=higher_than),
)
patch_exists = patch(
'os.path.exists',
Mock(return_value=True),
)
patch_stats = patch(
'salt.modules.file.stats',
Mock(return_value={
'user': 'foo',
'group': 'bar',
'mode': '123',
}),
)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': MagicMock(return_value='--------- '+filename)},
)
with patch_chattr, patch_exists, patch_stats, patch_run:
actual_ret, actual_perms = filemod.check_perms(
name=filename,
ret=None,
user='foo',
group='bar',
mode='123',
attrs=attrs,
follow_symlinks=False,
)
assert actual_ret.get('changes', {}).get('attrs')is None, actual_ret
def test_check_perms_should_report_attrs_new_and_old_if_they_changed(self):
filename = '/path/to/fnord'
attrs = 'aAcCdDeijPsStTu'
existing_attrs = 'aeiu'
expected = {
'attrs': {
'old': existing_attrs,
'new': attrs,
},
}
higher_than = '1.41.13'
patch_chattr = patch(
'salt.modules.file._chattr_version',
Mock(return_value=higher_than),
)
patch_stats = patch(
'salt.modules.file.stats',
Mock(return_value={
'user': 'foo',
'group': 'bar',
'mode': '123',
}),
)
patch_cmp = patch(
'salt.modules.file._cmp_attrs',
MagicMock(side_effect=[
filemod.AttrChanges(
added='aAcCdDeijPsStTu',
removed='',
),
filemod.AttrChanges(
None,
None,
),
]),
)
patch_chattr = patch(
'salt.modules.file.chattr',
MagicMock(),
)
def fake_cmd(cmd, *args, **kwargs):
if cmd == ['lsattr', '/path/to/fnord']:
return textwrap.dedent(
'''
{}---- {}
'''.format(existing_attrs, filename)
).strip()
else:
assert False, "not sure how to handle {}".format(cmd)
patch_run = patch.dict(
filemod.__salt__,
{'cmd.run': MagicMock(side_effect=fake_cmd)},
)
patch_ver = patch(
'salt.modules.file._chattr_has_extended_attrs',
MagicMock(return_value=True),
)
with patch_chattr, patch_stats, patch_cmp, patch_run, patch_ver:
actual_ret, actual_perms = filemod.check_perms(
name=filename,
ret=None,
user='foo',
group='bar',
mode='123',
attrs=attrs,
follow_symlinks=False,
)
self.assertDictEqual(actual_ret['changes'], expected)

View File

@ -5,21 +5,40 @@
# Import Python Libs
from __future__ import absolute_import, unicode_literals, print_function
import os
import tempfile
import sys
# Import Salt Testing Libs
from tests.support.helpers import destructiveTest
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.mock import patch, NO_MOCK, NO_MOCK_REASON
from tests.support.mock import MagicMock, NO_MOCK, NO_MOCK_REASON, patch
from tests.support.paths import TMP
from tests.support.unit import TestCase, skipIf
# Import Salt Libs
import salt.modules.win_file as win_file
import salt.utils.win_dacl as win_dacl
import salt.modules.temp as temp
import salt.modules.win_file as win_file
import salt.utils.platform
import salt.utils.win_dacl as win_dacl
import salt.modules.cmdmod as cmdmod
from salt.exceptions import CommandExecutionError
try:
WIN_VER = sys.getwindowsversion().major
except AttributeError:
WIN_VER = 0
class DummyStat(object):
st_mode = 33188
st_ino = 115331251
st_dev = 44
st_nlink = 1
st_uid = 99200001
st_gid = 99200001
st_size = 41743
st_atime = 1552661253
st_mtime = 1552661253
st_ctime = 1552661253
@skipIf(NO_MOCK, NO_MOCK_REASON)
class WinFileTestCase(TestCase, LoaderModuleMockMixin):
@ -35,7 +54,8 @@ class WinFileTestCase(TestCase, LoaderModuleMockMixin):
def setup_loader_modules(self):
return {
win_file: {
'__utils__': {'dacl.set_perms': win_dacl.set_perms}
'__utils__': {'dacl.set_perms': win_dacl.set_perms},
'__salt__': {'cmd.run_stdout': cmdmod.run_stdout}
}
}
@ -58,13 +78,13 @@ class WinFileTestCase(TestCase, LoaderModuleMockMixin):
self.assertRaises(
CommandExecutionError, win_file.check_perms, self.FAKE_PATH)
@destructiveTest
@skipIf(not salt.utils.platform.is_windows(), 'Skip on Non-Windows systems')
@skipIf(WIN_VER < 6, 'Symlinks not supported on Vista an lower')
def test_issue_52002_check_file_remove_symlink(self):
'''
Make sure that directories including symlinks or symlinks can be removed
'''
base = temp.dir(prefix='base-')
base = temp.dir(prefix='base-', parent=TMP)
target = os.path.join(base, 'child 1', 'target\\')
symlink = os.path.join(base, 'child 2', 'link')
try:
@ -84,9 +104,8 @@ class WinFileTestCase(TestCase, LoaderModuleMockMixin):
win_file.remove(base)
@destructiveTest
@skipIf(NO_MOCK, NO_MOCK_REASON)
@skipIf(not salt.utils.platform.is_windows(), 'Requires Pywin32 libraries')
@skipIf(not salt.utils.platform.is_windows(), 'Skip on Non-Windows systems')
class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
Test cases for the check_perms function in salt.modules.win_file
@ -98,7 +117,8 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
self.current_user = salt.utils.win_functions.get_current_user(False)
return {
win_file: {
'__utils__': {'dacl.check_perms': win_dacl.check_perms}
'__utils__': {'dacl.check_perms': win_dacl.check_perms,
'dacl.set_perms': win_dacl.set_perms}
},
win_dacl: {
'__opts__': {'test': False},
@ -106,18 +126,17 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
}
def setUp(self):
self.temp_file = tempfile.NamedTemporaryFile(delete=False)
self.temp_file.close()
salt.utils.win_dacl.set_owner(obj_name=self.temp_file.name,
self.temp_file = temp.file(parent=TMP)
salt.utils.win_dacl.set_owner(obj_name=self.temp_file,
principal=self.current_user)
salt.utils.win_dacl.set_inheritance(obj_name=self.temp_file.name,
salt.utils.win_dacl.set_inheritance(obj_name=self.temp_file,
enabled=True)
self.assertEqual(
salt.utils.win_dacl.get_owner(obj_name=self.temp_file.name),
salt.utils.win_dacl.get_owner(obj_name=self.temp_file),
self.current_user)
def tearDown(self):
os.remove(self.temp_file.name)
os.remove(self.temp_file)
def test_check_perms_set_owner_test_true(self):
'''
@ -125,10 +144,10 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'owner': 'Administrators'},
'name': self.temp_file.name,
'name': self.temp_file,
'result': None}
with patch.dict(win_dacl.__opts__, {'test': True}):
ret = win_file.check_perms(path=self.temp_file.name,
ret = win_file.check_perms(path=self.temp_file,
owner='Administrators',
inheritance=None)
self.assertDictEqual(expected, ret)
@ -139,9 +158,9 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'owner': 'Administrators'},
'name': self.temp_file.name,
'name': self.temp_file,
'result': True}
ret = win_file.check_perms(path=self.temp_file.name,
ret = win_file.check_perms(path=self.temp_file,
owner='Administrators',
inheritance=None)
self.assertDictEqual(expected, ret)
@ -152,11 +171,11 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'perms': {'Users': {'deny': 'read_execute'}}},
'name': self.temp_file.name,
'name': self.temp_file,
'result': None}
with patch.dict(win_dacl.__opts__, {'test': True}):
ret = win_file.check_perms(
path=self.temp_file.name,
path=self.temp_file,
deny_perms={'Users': {'perms': 'read_execute'}},
inheritance=None)
self.assertDictEqual(expected, ret)
@ -167,10 +186,10 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'perms': {'Users': {'deny': 'read_execute'}}},
'name': self.temp_file.name,
'name': self.temp_file,
'result': True}
ret = win_file.check_perms(
path=self.temp_file.name,
path=self.temp_file,
deny_perms={'Users': {'perms': 'read_execute'}},
inheritance=None)
self.assertDictEqual(expected, ret)
@ -181,11 +200,11 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'perms': {'Users': {'grant': 'read_execute'}}},
'name': self.temp_file.name,
'name': self.temp_file,
'result': None}
with patch.dict(win_dacl.__opts__, {'test': True}):
ret = win_file.check_perms(
path=self.temp_file.name,
path=self.temp_file,
grant_perms={'Users': {'perms': 'read_execute'}},
inheritance=None)
self.assertDictEqual(expected, ret)
@ -196,10 +215,10 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'perms': {'Users': {'grant': 'read_execute'}}},
'name': self.temp_file.name,
'name': self.temp_file,
'result': True}
ret = win_file.check_perms(
path=self.temp_file.name,
path=self.temp_file,
grant_perms={'Users': {'perms': 'read_execute'}},
inheritance=None)
self.assertDictEqual(expected, ret)
@ -210,10 +229,10 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'inheritance': False},
'name': self.temp_file.name,
'name': self.temp_file,
'result': None}
with patch.dict(win_dacl.__opts__, {'test': True}):
ret = win_file.check_perms(path=self.temp_file.name,
ret = win_file.check_perms(path=self.temp_file,
inheritance=False)
self.assertDictEqual(expected, ret)
@ -223,9 +242,9 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {'inheritance': False},
'name': self.temp_file.name,
'name': self.temp_file,
'result': True}
ret = win_file.check_perms(path=self.temp_file.name,
ret = win_file.check_perms(path=self.temp_file,
inheritance=False)
self.assertDictEqual(expected, ret)
@ -235,9 +254,9 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'''
expected = {'comment': '',
'changes': {},
'name': self.temp_file.name,
'name': self.temp_file,
'result': True}
ret = win_file.check_perms(path=self.temp_file.name,
ret = win_file.check_perms(path=self.temp_file,
inheritance=True)
self.assertDictEqual(expected, ret)
@ -246,11 +265,11 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
Test resetting perms with test=True. This shows minimal changes
'''
# Turn off inheritance
salt.utils.win_dacl.set_inheritance(obj_name=self.temp_file.name,
salt.utils.win_dacl.set_inheritance(obj_name=self.temp_file,
enabled=False,
clear=True)
# Set some permissions
salt.utils.win_dacl.set_permissions(obj_name=self.temp_file.name,
salt.utils.win_dacl.set_permissions(obj_name=self.temp_file,
principal='Administrator',
permissions='full_control')
expected = {'comment': '',
@ -262,11 +281,11 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'Administrator': {
'grant': {'applies to': 'Not Inherited (file)',
'permissions': 'Full control'}}}},
'name': self.temp_file.name,
'name': self.temp_file,
'result': None}
with patch.dict(win_dacl.__opts__, {'test': True}):
ret = win_file.check_perms(
path=self.temp_file.name,
path=self.temp_file,
grant_perms={'Users': {'perms': 'read_execute'},
'Administrators': {'perms': 'full_control'}},
inheritance=False,
@ -278,11 +297,11 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
Test resetting perms on a File
'''
# Turn off inheritance
salt.utils.win_dacl.set_inheritance(obj_name=self.temp_file.name,
salt.utils.win_dacl.set_inheritance(obj_name=self.temp_file,
enabled=False,
clear=True)
# Set some permissions
salt.utils.win_dacl.set_permissions(obj_name=self.temp_file.name,
salt.utils.win_dacl.set_permissions(obj_name=self.temp_file,
principal='Administrator',
permissions='full_control')
expected = {'comment': '',
@ -294,12 +313,24 @@ class WinFileCheckPermsTestCase(TestCase, LoaderModuleMockMixin):
'Administrator': {
'grant': {'applies to': 'Not Inherited (file)',
'permissions': 'Full control'}}}},
'name': self.temp_file.name,
'name': self.temp_file,
'result': True}
ret = win_file.check_perms(
path=self.temp_file.name,
path=self.temp_file,
grant_perms={'Users': {'perms': 'read_execute'},
'Administrators': {'perms': 'full_control'}},
inheritance=False,
reset=True)
self.assertDictEqual(expected, ret)
def test_stat(self):
with patch('os.path.exists', MagicMock(return_value=True)), \
patch('salt.modules.win_file._resolve_symlink', MagicMock(side_effect=lambda path: path)), \
patch('salt.modules.win_file.get_uid', MagicMock(return_value=1)), \
patch('salt.modules.win_file.uid_to_user', MagicMock(return_value='dummy')), \
patch('salt.modules.win_file.get_pgid', MagicMock(return_value=1)), \
patch('salt.modules.win_file.gid_to_group', MagicMock(return_value='dummy')), \
patch('os.stat', MagicMock(return_value=DummyStat())):
ret = win_file.stats('dummy', None, True)
self.assertEqual(ret['mode'], '0644')
self.assertEqual(ret['type'], 'file')