网络单元测试系统

nuts的Python项目详细描述


一个螺母-网络单元测试系统。图片::https://travis-ci.org/hsrnetwork/nuts.svg?branch=master
:alt:build status
:target:https://travis ci.org/hsrnetwork/nuts

。图片::https://img.shields.io/pypi/v/nuts.svg
:alt:pypi version
:target:https://pypi.python.org/pypi/nuts

图片::https://img.shields.io/pypi/pyversions/nuts.svg
:alt:pypi python versions
:target:https://pypi.python.org/pypi/nuts

……图片::https://img.shields.io/pypi/wheel/nuts.svg
:alt:pypi wheel
:target:https://pypi.python.org/pypi/nuts

图片::https://img.shields.io/pypi/l/nuts.svg
:alt:pypi license
:target:https://pypi.python.org/pypi/nuts

nuts是一个网络单元测试系统,它自动执行网络中的测试,类似于您可能从编程中了解到的单元测试。
该项目使用saltstack和n用于与网络设备通信的apalm。Linux设备使用的是普通的salt-minions。
这个项目目前正在进行大量的构建,我们不能保证这个代码能正常工作。但我们会尽最大努力。
如果您有任何问题、功能请求或用例,请访问https://github.com/hsrnetwork/nuts或https://networktocode.slack.com/

**文档:**http://nuts.readthedocs.io/

**流浪者项目:**https://github.com/hsrnetwork/vagranT形螺母

----
安装螺母
----



支持以下python版本:

-python 2.7
-python 3.6




pre requirements
----
-salt master
因为螺母完全基于saltstack必须先安装并配置salt master。
对于完整的安装指南,请转到"安装指南"https://docs.saltstack.com/en/latest/topics/installation/>;` `.
-salt api
要使用螺母,还需要salt api,它使螺母能够连接到salt master通过HTTP。有关安装指南,请访问"cherrypy documentation"<;https://docs.saltstack.com/en/latest/ref/netapi/all/salt.netapi.rest\cherrypy.html>;`.
-napalm salt
要创建从salt master到所选网络设备的连接,有一个很棒的库napalm整合到Saltstack。对于"凝固汽油盐储存库"的安装指南,请参阅https://github.com/napalm automation/napalm salt/>;` ` `.

$sudo pip install-u nuts

这将自动安装来自"python package
index<;https://pypi.python.org/pypi/nuts/>;`\uuu.


manual installation
----


获取代码::

$git clone https://github.com/hsrnetwork/nuts.git
$cd nuts

install::

$sudo python setup.py install

----
用法
----



用法:nuts.py[-h][-v][-m迭代次数][-r重试次数][-c配置]测试文件

位置参数:
testfile start wi测试文件

可选参数:
-h,--help显示此帮助消息并退出
-v,--validate验证测试文件
-m迭代,--iterations迭代更改nuts等待结果的迭代次数
-r retries,--retries retries设置失败测试的最大重试次数
-c config,--config配置文件格式为yaml。设置将与envvars合并

----
testfiles
----
testfile的结构必须与下面的testschema兼容nuts/src/service/testschema.yaml.
一个例子可以是:

。代码::yaml

-名称:示例arp
命令:arp
设备:cisco.csr.1000v
参数:[192.168.16.128]
运算符:'='
预期值:'00:0c:29:ea:d1:68'

请注意,设备属性直接传递给确定tar的salt master用所谓的地球仪抓到了爪牙。要了解更多信息,请访问"saltstack globbing"http://docs.saltstack.com/en/latest/topics/targeting/globbing.html"globbing"gt;` `.
如果目标是多个小兵,则每个小兵都必须满足测试通过的预期值。

以下命令是cur如果此命令在您的设备上可用,则napalm salt可租用,这还取决于napalm底层功能的可用性:
-连接性-使用简单ping检查到特定IP地址的连接性。将目标IP地址作为参数
-traceroute-使用traceroute检查到特定IP地址的连接。将目标IP地址作为参数
-interfacestatus-检查特定接口是否可用。将接口名称作为参数
-interface speed-检查特定接口的速度。将接口名称作为参数
-arp-检查特定IP地址的MAC地址。将IP地址作为参数
-checkversion-检查设备的版本。不接受参数
-checkuser-检查设备上有哪些用户可用。不接受任何参数

有关可用性的详细信息,请访问"凝固汽油弹文档"http://napalm.readthedocs.io/en/latest/support/index.html>;` `.


hcpcheck
-webresponse
-portresponse

配置
----
您可以使用yaml格式的配置文件和/或设置环境变量
配置选项:
-nuts-salt-rest-api-url
-nuts-salt-rest-api-username
-nuts-salt-rest-api-password
-nuts-salt-rest-api-eautn
-nuts-max-retries
-nuts_wait_iterations
-nuts_log_file_level
-nuts_log_console_level
-nuts_log_folder



config.yml示例:

……代码::yaml

nuts_salt_rest_api_url:'http://salt master.lab:8000'
nuts_salt_rest_api_username:'myuser'
nuts_salt_rest_api_password:'mypassword'
nuts_salt_rest_api_eauth:'pam'



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Java将JSON转换为哈希映射   java如何通过使用MapStruct从源对象复制值来填充目标对象内部的映射?   注入泛型类型为@InjectGuice的类时发生java错误   字符串如何在JavaIDE中导入基本符号   在Java中将JSON转换为List<List<String>>   java Java9 HttpClient SSLHandshakeException   java jOOQ代码生成器   java如何调整图标(图像按钮),使其不会放大?   java我可以在使用Eclipse时安装2个或更多Android SDK吗   sqlite Java实现DAO   如何解决此错误?“java.lang.NoSuchFieldError:org.apache.http.conn.ssl.SSLConnectionSocketFactory上的实例。<clinit>。”   java Maven:将基于OSP的zip文件解压缩到WEBINF/lib   java如何在每次调用函数时获取当前gps位置?