用于CloudGenix云控制器的配置导出和支持持续集成(CI)的配置导入。

cloudgenix-config的Python项目详细描述


CloudGenix配置(预览)

用于CloudGenix云控制器的配置导出和支持持续集成(CI)的配置导入。

概要

允许从CloudGenix云控制器导出和导入配置和模板。还有,进口 配置设计为在文件更改时运行,以维护云控制器上的配置状态。

功能
  • 通过提取配置替换站点上的离子,用新离子替换“序列号”(必须在线且至少分配给帐户)。
  • 将配置签入存储库(私有git),并让ci进程系统自动配置站点
  • 更改后使用configs作为回滚工具。
  • 只需将大多数配置从文件中删除和/或设置为空即可删除它们。
  • 使用configs作为模板部署10s-100s-1000s站点。

要求

许可证

麻省理工学院

安装:

  • pip:pip install cloudgenix_config。安装后,pull_site/do_site脚本应该放在python中 脚本目录。
  • github:将文件下载到本地目录,手动运行pull_site.pydo_site.py脚本。

用法示例:

  1. 使用ui配置站点、元素和相关对象。记录站点名称(例如,mysite)
  2. 使用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$ 
    
  3. 根据需要查看、编辑、更改配置文件。示例文件位于https://github.com/CloudGenix/cloudgenix_config/blob/master/example/MySite.yml
  4. 使用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的元素扩展当前无法使用此脚本跨多个站点进行模板化。

版本

VersionBuildChanges
1.1.0b1CloudGenix SDK 5.1.1b1 support
1.0.0b6PIP setup will now limit CloudGenix SDK to 5.0.3b2 for v1.0.0
1.0.0b5Hotfix for #16
1.0.0b4Fix issues #8 #11 #12 and #13
1.0.0b3More Bug fixes.
1.0.0b2Bug fixes.
1.0.0b1Initial Release.

了解更多信息

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

推荐PyPI第三方库


热门话题
java实现双锁并发队列   java如何更改SpringWS 2.4.4版或更高版本中maxOccurs的默认限制?   java Selenium RC如何处理动态行?   java何时引入Javac StringBuilder/StringBuffer优化?   java mediaplayer在R.raw Android上失败   java JPA2:不区分大小写,就像在任何地方匹配一样   如何从JDK15中提取java预览类文件?   java与mySQL删除查询不一致   从Shutdownow()返回的java列表<Runnable>无法转换为提交的Runnable   java如何从回调接口获取对象值?   java如何获得视图的高度,在xml中可见性和高度定义为wrap_内容?   postgresql Mybatis在启动时遇到“由以下原因引起:java.net.UnknownHostException:localhost”,为什么?   带有实例调用的方法调用的java intellij格式化程序换行   由于特定的第三方库,java Proguard产生运行时错误   动画JAVA JPanel同时滑出和滑入