没有项目描述
etherweaver的Python项目详细描述
#以太织布机[构建状态](https://travis-ci.com/graysonhead/etherweaver.svg?branch=master)(https://travis ci.com/graysonhead/etherweaver)
[![文档状态](https://readthedocs.org/projects/netweaver/badge/?version=latest)(https://netweaver.readthedocs.io/en/latest/)
etherweaver是一个无代理的配置管理系统。
etherweaver的目标是抽象出管理大型交换结构的任务。
如果他们遵循标准,他们将以同样的方式完成这项工作。虽然不同供应商的两个平台之间的特性集可能不相似,但它们实现协议的方式是相似的,最终结果也是如此。
etherweaver的目标是允许用户创建其所需状态(配置)的“通用”定义,并将此配置的格式与应用于的特定于供应商的操作系统断开连接。
*等幂和自恢复
停机时,应始终将当前状态与所需状态进行比较,如果两者相等,则应避免进行更改。
etherweaver应该在网络设备上使用聪明的配置文件管理和回滚功能,以减少错误语句导致永久性管理断开连接的风险。
*无代理
不应将闭源交换和路由平台排除在配置管理之外。因此,默认情况下,etherweaver是无代理的。每个插件将支持许多方法(ssh、telnet、rs232,确保所有网络都能以自动化的方式维护。
>配置结构
>顶层对象
``yaml
角色:所有角色的列表
结构:所有结构的列表
设备:所有硬件的列表35roles
角色描述可以描述特定设备或设备组。
或者您可能有一个描述数百个交换机配置的模板。)
这里是在yaml中定义的角色对象的示例:
``yaml
roles:
spine1:
fabric:network1
hostname:spine1.net.testco.org
协议:
dns:
nameservers:
-10.5.5.115
ntp:
客户端:
时区:美国/芝加哥
服务器:
-pool.ntp.org
-0.cumulusnetworks.pool.ntp.org
-1.cumulusnetworks.pool.ntp.org
-2.cumulusnetworks.pool.ntp.org
接口:
1g:
1-5:
标记的虚拟局域网:[2-4]
未标记的虚拟局域网:7
6:
未标记的虚拟局域网:5
`````
然而,它可以代表你想要的任何东西。它只是一个逻辑结构。
这里有一个fabric对象的示例:
`` yaml
fabrics:
network1:
凭据:
用户名:cumulus
密码:cumuluslinux!
VLAN:
1-5:
6:
描述:数据
30:
描述:公共
11-29:
``````
设备由连字符分隔的mac地址定义。在具有多个mac地址的交换机上,应使用带外管理端口的mac。或者,如果没有管理端口存在,则最低数量的交换机端口。
BR/>此文件包含所有硬盘。具体软件信息。
``山药
家电:
sw1:
sw1:
hostname:10.5.5.33
role:spine1
plugin软件包:cumulus
sw2:
hostname:10.5.5.34
role:spine2
plugin软件包:cumulus
````
>
etweaver使用类似盐的语法:
``bash
etherweaver公司“sw1”role.apply--yaml=exampleConf.yaml
```
此命令将把角色spine1应用于任何分配的硬件设备。
[![文档状态](https://readthedocs.org/projects/netweaver/badge/?version=latest)(https://netweaver.readthedocs.io/en/latest/)
etherweaver是一个无代理的配置管理系统。
etherweaver的目标是抽象出管理大型交换结构的任务。
如果他们遵循标准,他们将以同样的方式完成这项工作。虽然不同供应商的两个平台之间的特性集可能不相似,但它们实现协议的方式是相似的,最终结果也是如此。
etherweaver的目标是允许用户创建其所需状态(配置)的“通用”定义,并将此配置的格式与应用于的特定于供应商的操作系统断开连接。
*等幂和自恢复
停机时,应始终将当前状态与所需状态进行比较,如果两者相等,则应避免进行更改。
etherweaver应该在网络设备上使用聪明的配置文件管理和回滚功能,以减少错误语句导致永久性管理断开连接的风险。
*无代理
不应将闭源交换和路由平台排除在配置管理之外。因此,默认情况下,etherweaver是无代理的。每个插件将支持许多方法(ssh、telnet、rs232,确保所有网络都能以自动化的方式维护。
>配置结构
>顶层对象
``yaml
角色:所有角色的列表
结构:所有结构的列表
设备:所有硬件的列表35roles
角色描述可以描述特定设备或设备组。
或者您可能有一个描述数百个交换机配置的模板。)
这里是在yaml中定义的角色对象的示例:
``yaml
roles:
spine1:
fabric:network1
hostname:spine1.net.testco.org
协议:
dns:
nameservers:
-10.5.5.115
ntp:
客户端:
时区:美国/芝加哥
服务器:
-pool.ntp.org
-0.cumulusnetworks.pool.ntp.org
-1.cumulusnetworks.pool.ntp.org
-2.cumulusnetworks.pool.ntp.org
接口:
1g:
1-5:
标记的虚拟局域网:[2-4]
未标记的虚拟局域网:7
6:
未标记的虚拟局域网:5
`````
然而,它可以代表你想要的任何东西。它只是一个逻辑结构。
这里有一个fabric对象的示例:
`` yaml
fabrics:
network1:
凭据:
用户名:cumulus
密码:cumuluslinux!
VLAN:
1-5:
6:
描述:数据
30:
描述:公共
11-29:
``````
设备由连字符分隔的mac地址定义。在具有多个mac地址的交换机上,应使用带外管理端口的mac。或者,如果没有管理端口存在,则最低数量的交换机端口。
BR/>此文件包含所有硬盘。具体软件信息。
``山药
家电:
sw1:
sw1:
hostname:10.5.5.33
role:spine1
plugin软件包:cumulus
sw2:
hostname:10.5.5.34
role:spine2
plugin软件包:cumulus
````
>
etweaver使用类似盐的语法:
``bash
etherweaver公司“sw1”role.apply--yaml=exampleConf.yaml
```
此命令将把角色spine1应用于任何分配的硬件设备。