用于CloudGenix云控制器的配置导出和支持持续集成(CI)的配置导入。
cloudgenix-config的Python项目详细描述
CloudGenix配置(预览)
用于CloudGenix云控制器的配置导出和支持持续集成(CI)的配置导入。
概要
允许从CloudGenix云控制器导出和导入配置和模板。还有,进口 配置设计为在文件更改时运行,以维护云控制器上的配置状态。
功能
- 通过提取配置替换站点上的离子,用新离子替换“序列号”(必须在线且至少分配给帐户)。
- 将配置签入存储库(私有git),并让ci进程系统自动配置站点
- 更改后使用configs作为回滚工具。
- 只需将大多数配置从文件中删除和/或设置为空即可删除它们。
- 使用configs作为模板部署10s-100s-1000s站点。
要求
- 活动CloudGenix帐户
- python>;=2.7或>;=3.6
- Python模块:
- cloudgenix python sdk=5.1.1b1-https://github.com/CloudGenix/sdk-python
许可证
- 活动CloudGenix帐户
- python>;=2.7或>;=3.6
- Python模块:
- cloudgenix python sdk=5.1.1b1-https://github.com/CloudGenix/sdk-python
许可证
麻省理工学院
安装:
- pip:
pip install cloudgenix_config
。安装后,pull_site
/do_site
脚本应该放在python中 脚本目录。 - github:将文件下载到本地目录,手动运行
pull_site.py
和do_site.py
脚本。
用法示例:
- 使用ui配置站点、元素和相关对象。记录站点名称(例如,mysite)
- 使用
pull_site
脚本提取配置:pull_site -S "MySite" --output MySite.yaml
edwards-mbp-pro:cloudgenix_config aaron$ ./pull_site.py -S "MySite" --output MySite.yml edwards-mbp-pro:cloudgenix_config aaron$
- 根据需要查看、编辑、更改配置文件。示例文件位于https://github.com/CloudGenix/cloudgenix_config/blob/master/example/MySite.yml
- 使用
do_site.py
应用配置时,脚本将站点设置为该状态。edwards-mbp-pro:cloudgenix_config aaron$ ./do_site.py ./MySite.yml No Change for Site MySite. No Change for Waninterface Circuit to Comcast. No Change for Waninterface Circuit to AT&T. No Change for Waninterface Circuit to Megapath. No Change for Lannetwork NATIVE_VLAN. Element: Code is at correct version 5.0.1-b9. No Change for Element MySite Element. No Change for Interface 23. No Change for Interface 1. No Change for Interface controller 1. No Change for Interface 4. No Change for AS-PATH Access List test3. No Change for IP Community List 20. No Change for Routing Prefixlist test-script-list2. No Change for Route Map toady. No Change for Route Map test8. No Change for Route Map toady2. No Change for BGP Global Config 15311892501660245. No Change for BGP Peer teaerz. No Change for Staticroute 15312386843200245. No Change for Ntp default. No Change for Toolkit 15311890594020131. No Change for Site MySite state (active). DONE
注意事项和已知问题:
- 这是一个预览版,打嗝是意料之中的。请在github上提交任何问题。
- 需要5.1.1b1 sdk
- 虽然此脚本可以提取包含所有站点的单个文件,但不建议对该文件运行do_sites.py。
- 每个配置文件一个站点的最佳实践。
- 这些可以通过
pull_site.py
和--multi-output <directory>
开关自动拉取,将为每个站点创建一个配置。
- 这些可以通过
- 站点安全系数默认设置为1(防止意外的多站点配置)
- 每个配置文件一个站点的最佳实践。
- 当前不支持重新命名站点(在配置中更改站点名称会导致创建新站点)
- 使用
do_site.py
删除站点会销毁站点下的所有对象。此操作通过使用--destroy
选项运行do_site.py
来完成。- delete将自动销毁引用的yaml配置文件中的每个站点(甚至是完全配置的站点)。小心使用。
- 现场安全系数也适用于
--destroy
操作。
- 具有特定路径ID的元素扩展当前无法使用此脚本跨多个站点进行模板化。
版本
Version | Build | Changes |
---|---|---|
1.1.0 | b1 | CloudGenix SDK 5.1.1b1 support |
1.0.0 | b6 | PIP setup will now limit CloudGenix SDK to 5.0.3b2 for v1.0.0 |
1.0.0 | b5 | Hotfix for #16 |
1.0.0 | b4 | Fix issues #8 #11 #12 and #13 |
1.0.0 | b3 | More Bug fixes. |
1.0.0 | b2 | Bug fixes. |
1.0.0 | b1 | Initial Release. |