https://blueprints.launchpad.net/openstack-manuals/+spec/labs-python-port
Training labs 最初是用 Bash 编写的。但它已经从一组简单的脚本发展成为一个完整的项目。迁移到现代解释型编程语言是下一步的逻辑选择。因此,用 Python 重写 training-labs 可以提高敏捷性、质量和支持的功能。
Python 是一个显而易选的方案。它是一种能够满足当前需求和功能的编程语言,同时也是 OpenStack 社区的语言。Python 在 Mac OS X 和 Linux 平台上默认提供。
Training labs 正在不断发展,功能和复杂性也在不断增加。用户要求添加对更多功能和插件的支持,例如公有云支持。迁移到现代编程语言可以解决 Bash 在给定用例中存在的许多固有局限性。以下简要列出了需要重写的不足之处和新功能需求:
用 Python 重写宿主机脚本。宿主机脚本执行任务来编排虚拟机管理程序(KVM/VirtualBox)和管理虚拟网络,提供日志记录,注入客户机脚本等。
最初,我们计划并行引入 Python 脚本和现有的 Bash 脚本,以消除此更改对最终用户的影响。一旦 Python 移植经过测试,我们将删除宿主机 Bash 脚本。此时,最终用户将通过 Python 调用 training-labs。对最终用户的影响最小或为零。
这是一个对项目进行重大重写,应该会影响整个项目本身。但迁移计划提供了一种安全的方式来实现此更改并使其影响最小。
最初阶段主要进行手动测试。在实施的后期阶段,CI 系统也应执行自动化测试。
无
除非另有说明,本文档根据 知识共享署名 3.0 许可协议 授权。请参阅所有 OpenStack 法律文件。