从网络设备中提取信息的抽象层。
netengine的Python项目详细描述
从网络设备中提取信息的抽象层。
安装
通过PIP安装:
pip install -e git+git://github.com/ninuxorg/netengine#egg=netengine
用法
ssh示例:
from netengine.backends.ssh import AirOS device = AirOS('10.40.0.1', 'root', 'password') device.name 'RM5PomeziaSNode' device.model 'Rocket M5' device.os ('AirOS', 'XMar7240.v5.3.3.sdk.9634.1111221.2238') device.to_json()
特定后端(协议)命令,ssh示例:
print device.run('ls -l') -rw------- 1 root admin 459 Jan 26 2011 dropbear_dss_host_key -rw------- 1 root admin 427 Jan 26 2011 dropbear_rsa_host_key drwxr-xr-x 3 root admin 0 Oct 21 2011 mcuser -rwxr-xr-x 1 root admin 662 Nov 11 18:12 ninux -rw------- 1 root admin 1133 Nov 12 00:27 olsrd.conf -rw-r--r-- 1 root admin 786 Dec 21 2011 olsrd6.conf -rw-r--r-- 1 root admin 234 Jan 4 2012 radvd.conf
SNMP示例:
from netengine.backends.snmp import AirOS device = AirOS('10.40.0.1', community='public') device.name 'RM5PomeziaSNode' device.model 'Rocket M5' device.os ('AirOS', 'XMar7240.v5.3.3.sdk.9634.1111221.2238')
特定的SNMP命令示例:
from netengine.backends.snmp import OpenWRT device = OpenWRT('10.40.0.1', community='public') # get a certain OID device.get('1.2.840.10036.3.1.2.1.4.8')
http示例:
# TODO
munin示例:
# TODO
运行测试
安装机头:
pip install nose
克隆回购:
git clone git://github.com/ninuxorg/netengine cd netengine/
根据您的网络编辑设置json文件:
cp test-settings.example.json test-settings.json vim test-settings.json
使用以下命令运行测试:
nosetests
请参见测试覆盖率:
nosetests --with-coverage --cover-package=netengine
通过指定相对路径来运行特定测试:
# base tests nosetests tests.base # snmp tests nosetests tests.snmp # snmp openwrt specific tests nosetests tests.snmp.openwrt # ssh tests nosetests tests.ssh # ssh airos specific tests nosetests tests.ssh.airos
贡献
- 加入ninux-dev mailing list
- 转移此回购
- 跟随PEP8, Style Guide for Python Code
- 编写代码
- 为代码编写测试
- 确保所有测试通过
- 确保测试覆盖率不低于90%
- 记录您的更改
- 发送拉取请求
许可证
版权所有(c)2013 Federico Capoano
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的所有副本或大部分。
除本公告所载外,上述版权持有人的姓名或名称 不得用于广告宣传或以其他方式促进销售, 未经事先书面授权使用或进行其他交易。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与软件、使用或其他交易有关 软件。