Merge branch '2019.2.1' into hotfix/full-test-run-2019.2.1

This commit is contained in:
Gareth J. Greenaway 2019-06-10 08:46:05 -07:00 committed by GitHub
commit 237273339f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
74 changed files with 230 additions and 181 deletions

View File

@ -3,40 +3,6 @@ repos:
- repo: https://github.com/saltstack/pip-tools-compile-impersonate
rev: master
hooks:
- id: pip-tools-compile
alias: compile-linux-py2.7-tcp-requirements
name: Linux Py2.7 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(lint|cloud|docs|osx|windows|)\.in$
args:
- -v
- --py-version=2.7
- --platform=linux
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-osx-py2.7-tcp-requirements
name: OSX Py2.7 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/osx\.in)$
args:
- -v
- --py-version=2.7
- --platform=darwin
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-windows-py2.7-tcp-requirements
name: Windows Py2.7 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/windows\.in)$
args:
- -v
- --py-version=2.7
- --platform=windows
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-linux-py2.7-zmq-requirements
name: Linux Py2.7 ZeroMQ Requirements
@ -136,23 +102,11 @@ repos:
- --py-version=2.7
- id: pip-tools-compile
alias: compile-linux-py3.4-tcp-requirements
name: Linux Py3.4 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.4
- --platform=linux
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-linux-py3.4-zmq-requirements
name: Linux Py3.4 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.4
@ -166,7 +120,7 @@ repos:
alias: compile-linux-py3.4-raet-requirements
name: Linux Py3.4 RAET Requirements
files: ^requirements/((base|raet|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.4
@ -186,45 +140,11 @@ repos:
- -v
- --py-version=3.4
- id: pip-tools-compile
alias: compile-linux-py3.5-tcp-requirements
name: Linux Py3.5 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.5
- --platform=linux
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-osx-py3.5-tcp-requirements
name: OSX Py3.5 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/osx\.in)$
args:
- -v
- --py-version=3.5
- --platform=darwin
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-windows-py3.5-tcp-requirements
name: Windows Py3.5 TCP Requirements
files: ^requirements/((base|pytest)\.txt|static/windows\.in)$
args:
- -v
- --py-version=3.5
- --platform=windows
- --out-prefix=tcp
- --include=requirements/base.txt
- --include=requirements/pytest.txt
- id: pip-tools-compile
alias: compile-linux-py3.5-zmq-requirements
name: Linux Py3.5 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.5
@ -264,7 +184,7 @@ repos:
alias: compile-linux-py3.5-raet-requirements
name: Linux Py3.5 RAET Requirements
files: ^requirements/((base|raet|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.5
@ -348,7 +268,7 @@ repos:
alias: compile-linux-py3.6-zmq-requirements
name: Linux Py3.6 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.6
@ -388,7 +308,7 @@ repos:
alias: compile-linux-py3.6-raet-requirements
name: Linux Py3.6 RAET Requirements
files: ^requirements/((base|raet|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.6
@ -472,7 +392,7 @@ repos:
alias: compile-linux-py3.7-zmq-requirements
name: Linux Py3.7 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.7
@ -512,7 +432,7 @@ repos:
alias: compile-linux-py3.7-raet-requirements
name: Linux Py3.7 RAET Requirements
files: ^requirements/((base|raet|pytest)\.txt|static/(.*)\.in)$
exclude: ^requirements/static/(centos-6|amzn-1|lint|cloud|docs|osx|windows)\.in$
exclude: ^requirements/static/(centos-6|amzn-2018\.03|lint|cloud|docs|osx|windows)\.in$
args:
- -v
- --py-version=3.7

View File

@ -25,6 +25,8 @@ if __name__ == '__main__':
import nox
from nox.command import CommandFailed
IS_PY3 = sys.version_info > (2,)
# Be verbose when runing under a CI context
PIP_INSTALL_SILENT = (os.environ.get('JENKINS_URL') or os.environ.get('CI') or os.environ.get('DRONE')) is None
@ -841,8 +843,12 @@ def _lint(session, rcfile, flags, paths):
raise
finally:
stdout.seek(0)
contents = stdout.read().encode('utf-8')
contents = stdout.read()
if contents:
if IS_PY3:
contents = contents.decode('utf-8')
else:
contents = contents.encode('utf-8')
sys.stdout.write(contents)
sys.stdout.flush()
if pylint_report_path:

View File

@ -19,7 +19,8 @@ mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
paramiko==2.1.2
paramiko==2.1.2; python_version < '3.7'
paramiko>=2.2.3; python_version >= '3.7'
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

View File

@ -19,7 +19,8 @@ mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
paramiko==2.1.2
paramiko==2.1.2; python_version < '3.7'
paramiko>=2.2.3; python_version >= '3.7'
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

View File

@ -18,7 +18,8 @@ mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
paramiko==2.1.2
paramiko==2.1.2; python_version < '3.7'
paramiko>=2.2.3; python_version >= '3.7'
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

View File

@ -18,9 +18,9 @@ mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
paramiko==2.1.2
paramiko==2.1.2; python_version < '3.7'
paramiko>=2.2.3; python_version >= '3.7'
psutil
paramiko==2.1.2
# 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

View File

@ -66,7 +66,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -66,7 +66,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -65,7 +65,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -65,7 +65,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -65,7 +65,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -65,7 +65,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -64,7 +64,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -64,7 +64,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -63,7 +63,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -63,7 +63,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -63,7 +63,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -63,7 +63,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -60,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -60,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -56,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -56,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -60,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -60,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -56,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -56,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pathlib2==2.3.3 # via pytest
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest

View File

@ -60,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -60,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -59,7 +59,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -56,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -56,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -55,7 +55,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.1.2 ; python_version < "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -60,7 +61,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -72,6 +73,7 @@ pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -98,7 +100,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -60,7 +61,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -72,6 +73,7 @@ pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -98,7 +100,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -59,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -71,6 +72,7 @@ pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -97,7 +99,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -59,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -71,6 +72,7 @@ pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -97,7 +99,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -59,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -71,6 +72,7 @@ pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -97,7 +99,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -59,7 +60,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -71,6 +72,7 @@ pyasn1==0.4.5 # via paramiko, pyasn1-modules, rsa
pycparser==2.19 # via cffi
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -97,7 +99,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, raet, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -56,7 +57,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -70,6 +71,7 @@ pycparser==2.19 # via cffi
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -96,7 +98,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -56,7 +57,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -70,6 +71,7 @@ pycparser==2.19 # via cffi
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -96,7 +98,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kazoo, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -55,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -69,6 +70,7 @@ pycparser==2.19 # via cffi
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -95,7 +97,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -55,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -69,6 +70,7 @@ pycparser==2.19 # via cffi
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -95,7 +97,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -55,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -69,6 +70,7 @@ pycparser==2.19 # via cffi
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -95,7 +97,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -12,6 +12,7 @@ aws-xray-sdk==0.95 # via moto
backports-abc==0.5 # via tornado
backports.functools-lru-cache==1.5 # via cheroot
backports.ssl-match-hostname==3.7.0.1 # via websocket-client
bcrypt==3.1.6 # via paramiko
boto3==1.9.132
boto==2.49.0
botocore==1.12.132 # via boto3, moto, s3transfer
@ -55,7 +56,7 @@ msgpack-python==0.5.6
msgpack==0.6.1
ncclient==0.6.4 # via junos-eznc
netaddr==0.7.19 # via junos-eznc
paramiko==2.1.2
paramiko==2.2.3 ; python_version >= "3.7"
pbr==5.1.3 # via mock
pluggy==0.9.0 # via pytest
portend==2.4 # via cherrypy
@ -69,6 +70,7 @@ pycparser==2.19 # via cffi
# pycrypto==2.6.1 ; sys_platform != "win32"
pycryptodome==3.8.1
pyinotify==0.9.6
pynacl==1.3.0 # via paramiko
pyopenssl==19.0.0
pyserial==3.4 # via junos-eznc
pytest-cov==2.6.1
@ -95,7 +97,7 @@ 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 cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
six==1.12.0 # via bcrypt, cheroot, cherrypy, cryptography, docker, docker-pycreds, google-auth, junos-eznc, kubernetes, mock, more-itertools, moto, ncclient, pynacl, pyopenssl, pytest, python-dateutil, python-jose, pyvmomi, responses, salttesting, singledispatch, tempora, websocket-client
smmap2==2.0.5 # via gitdb2
strict-rfc3339==0.7
tempora==1.14.1 # via portend

View File

@ -18,7 +18,8 @@ mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
paramiko==2.1.2
paramiko==2.1.2; python_version < '3.7'
paramiko>=2.2.3; python_version >= '3.7'
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

View File

@ -18,7 +18,8 @@ mock>=2.0.0; python_version < '3.6'
more-itertools==5.0.0
moto
msgpack-python >= 0.4.2, != 0.5.5
paramiko==2.1.2
paramiko==2.1.2; python_version < '3.7'
paramiko>=2.2.3; python_version >= '3.7'
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

View File

@ -649,7 +649,7 @@ def _get_properties(path="", method="GET", forced_params=None):
for elem in path_levels[:-1]:
search_path += '/' + elem
# Lookup for a dictionary with path = "requested path" in list" and return its children
sub = (item for item in sub if item["path"] == search_path).next()['children']
sub = next((item for item in sub if item["path"] == search_path))['children']
# Get leaf element in path
search_path += '/' + path_levels[-1]
sub = next((item for item in sub if item["path"] == search_path))

View File

@ -503,6 +503,11 @@ def get_system_info():
'''
Get system information.
.. note::
Not all system info is available across all versions of Windows. If it
is not available on an older version, it will be skipped
Returns:
dict: Dictionary containing information about the system to include
name, description, version, etc...
@ -573,6 +578,10 @@ def get_system_info():
6: 'Appliance PC',
7: 'Performance Server',
8: 'Maximum'}
# Must get chassis_sku_number this way for backwards compatibility
# system.ChassisSKUNumber is only available on Windows 10/2016 and newer
product = conn.Win32_ComputerSystemProduct()[0]
ret.update({'chassis_sku_number': product.SKUNumber})
system = conn.Win32_ComputerSystem()[0]
# Get pc_system_type depending on Windows version
if platform.release() in ['Vista', '7', '8']:
@ -586,7 +595,6 @@ def get_system_info():
'bootup_state': system.BootupState,
'caption': system.Caption,
'chassis_bootup_state': warning_states[system.ChassisBootupState],
'chassis_sku_number': system.ChassisSKUNumber,
'dns_hostname': system.DNSHostname,
'domain': system.Domain,
'domain_role': domain_role[system.DomainRole],
@ -615,7 +623,12 @@ def get_system_info():
ret['processors'] += 1
ret['processors_logical'] += system.NumberOfLogicalProcessors
ret['processor_cores'] += system.NumberOfCores
ret['processor_cores_enabled'] += system.NumberOfEnabledCore
try:
ret['processor_cores_enabled'] += system.NumberOfEnabledCore
except (AttributeError, TypeError):
pass
if ret['processor_cores_enabled'] == 0:
ret.pop('processor_cores_enabled', False)
system = conn.Win32_BIOS()[0]
ret.update({'hardware_serial': system.SerialNumber,

View File

@ -700,7 +700,7 @@ def _check_directory(name,
user=None,
group=None,
recurse=False,
mode=None,
dir_mode=None,
file_mode=None,
clean=False,
require=False,
@ -730,14 +730,15 @@ def _check_directory(name,
if 'group' not in recurse_set:
group = None
if 'mode' not in recurse_set:
mode = None
dir_mode = None
file_mode = None
check_files = 'ignore_files' not in recurse_set
check_dirs = 'ignore_dirs' not in recurse_set
for root, dirs, files in walk_l:
if check_files:
for fname in files:
fchange = {}
mode = file_mode
path = os.path.join(root, fname)
stats = __salt__['file.stats'](
path, None, follow_symlinks
@ -746,18 +747,18 @@ def _check_directory(name,
fchange['user'] = user
if group is not None and group != stats.get('group'):
fchange['group'] = group
if mode is not None and mode != stats.get('mode'):
fchange['mode'] = mode
if file_mode is not None and salt.utils.files.normalize_mode(file_mode) != salt.utils.files.normalize_mode(stats.get('mode')):
fchange['mode'] = file_mode
if fchange:
changes[path] = fchange
if check_dirs:
for name_ in dirs:
path = os.path.join(root, name_)
fchange = _check_dir_meta(path, user, group, mode, follow_symlinks)
fchange = _check_dir_meta(path, user, group, dir_mode, follow_symlinks)
if fchange:
changes[path] = fchange
# Recurse skips root (we always do dirs, not root), so always check root:
fchange = _check_dir_meta(name, user, group, mode, follow_symlinks)
fchange = _check_dir_meta(name, user, group, dir_mode, follow_symlinks)
if fchange:
changes[name] = fchange
if clean:

View File

@ -44,6 +44,7 @@ import tornado.gen
import tornado.concurrent
import tornado.tcpclient
import tornado.netutil
import tornado.iostream
# pylint: disable=import-error,no-name-in-module
if six.PY2:

View File

@ -477,7 +477,8 @@ class PkgTest(ModuleCase, SaltReturnAssertsMixin):
self.assertSaltTrueReturn(ret)
@skipIf(salt.utils.platform.is_windows(), 'minion is windows')
def test_pkg_009_latest_with_epoch(self):
@requires_system_grains
def test_pkg_009_latest_with_epoch(self, grains=None):
'''
This tests for the following issue:
https://github.com/saltstack/salt/issues/31014
@ -488,13 +489,18 @@ class PkgTest(ModuleCase, SaltReturnAssertsMixin):
if not pkgmgr_avail(self.run_function, self.run_function('grains.items')):
self.skipTest('Package manager is not available')
test_name = 'bash-completion'
if grains.get('os') == 'Amazon' and grains.get('osmajorrelease') != 2:
test_name = 'bash-doc'
ret = self.run_state('pkg.installed',
name='bash-completion',
name=test_name,
refresh=False)
self.assertSaltTrueReturn(ret)
@requires_salt_modules('pkg.info_installed')
def test_pkg_010_latest_with_epoch_and_info_installed(self):
@requires_system_grains
def test_pkg_010_latest_with_epoch_and_info_installed(self, grains=None):
'''
Need to check to ensure the package has been
installed after the pkg_latest_epoch sls
@ -507,6 +513,9 @@ class PkgTest(ModuleCase, SaltReturnAssertsMixin):
self.skipTest('Package manager is not available')
package = 'bash-completion'
if grains.get('os') == 'Amazon' and grains.get('osmajorrelease') != 2:
package = 'bash-doc'
pkgquery = 'version'
ret = self.run_function('pkg.info_installed', [package])

View File

@ -18,6 +18,7 @@ NO_DATEUTIL_REASON = 'python-dateutil is not installed'
# Import Salt Testing libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import skipIf, TestCase
from tests.support.helpers import destructiveTest
from tests.support.mock import (
NO_MOCK,
NO_MOCK_REASON,
@ -26,17 +27,20 @@ from tests.support.mock import (
call,
mock_open,
patch)
from tests.support.paths import TMP
# Import salt libs
import salt.utils.files
import salt.utils.json
import salt.utils.platform
import salt.utils.yaml
import salt.modules.file as filemod
import salt.states.file as filestate
import salt.serializers.yaml as yamlserializer
import salt.serializers.json as jsonserializer
import salt.serializers.python as pythonserializer
from salt.exceptions import CommandExecutionError
from salt.ext.six.moves import range
import salt.utils.win_functions
@ -2029,3 +2033,69 @@ class TestFileTidied(TestCase):
'comment': '/bad-directory-name/ does not exist or is not a directory.',
}
assert filestate.tidied(name='/bad-directory-name/') == exp
class TestFilePrivateFunctions(TestCase, LoaderModuleMockMixin):
def setup_loader_modules(self):
return {
filestate: {
'__salt__': {'file.stats': filemod.stats},
}
}
@destructiveTest
@skipIf(salt.utils.platform.is_windows(), 'File modes do not exist on windows')
def test__check_directory(self):
'''
Test the _check_directory function
Make sure that recursive file permission checks return correctly
'''
# set file permissions
# Run _check_directory function
# Verify that it returns correctly
# Delete tmp directory structure
root_tmp_dir = os.path.join(TMP, 'test__check_dir')
expected_dir_mode = 0o777
depth = 3
try:
def create_files(tmp_dir):
for f in range(depth):
path = os.path.join(tmp_dir, 'file_{:03}.txt'.format(f))
with salt.utils.files.fopen(path, 'w+'):
os.chmod(path, expected_dir_mode)
# Create tmp directory structure
os.mkdir(root_tmp_dir)
os.chmod(root_tmp_dir, expected_dir_mode)
create_files(root_tmp_dir)
for d in range(depth):
dir_name = os.path.join(root_tmp_dir, 'dir{:03}'.format(d))
os.mkdir(dir_name)
os.chmod(dir_name, expected_dir_mode)
create_files(dir_name)
for s in range(depth):
sub_dir_name = os.path.join(dir_name, 'dir{:03}'.format(s))
os.mkdir(sub_dir_name)
os.chmod(sub_dir_name, expected_dir_mode)
create_files(sub_dir_name)
# Set some bad permissions
changed_files = {
os.path.join(root_tmp_dir, 'file_000.txt'),
os.path.join(root_tmp_dir, 'dir002', 'file_000.txt'),
os.path.join(root_tmp_dir, 'dir000', 'dir001', 'file_002.txt'),
os.path.join(root_tmp_dir, 'dir001', 'dir002'),
os.path.join(root_tmp_dir, 'dir002', 'dir000'),
os.path.join(root_tmp_dir, 'dir001'),
}
for c in changed_files:
os.chmod(c, 0o770)
ret = filestate._check_directory(root_tmp_dir, dir_mode=oct(expected_dir_mode),
file_mode=oct(expected_dir_mode), recurse=['mode'])
self.assertSetEqual(changed_files, set(ret[-1].keys()))
finally:
# Cleanup
shutil.rmtree(root_tmp_dir)