mirror of
https://github.com/valitydev/salt.git
synced 2024-11-06 16:45:27 +00:00
Merge branch '2019.2.1' into cp-52787
This commit is contained in:
commit
458fe9f346
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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') {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,2 +1,2 @@
|
||||
cryptography==2.4.2
|
||||
pyOpenSSL==18.0.0
|
||||
cryptography==2.6.1
|
||||
pyopenssl==19.0.0
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.'
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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': [
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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')
|
||||
|
Loading…
Reference in New Issue
Block a user