Python 将修改从Devstack复制到Openstack(生产)

Python 将修改从Devstack复制到Openstack(生产),python,openstack,Python,Openstack,我通过DevStack安装了openstack,因为我必须修改一些文件。 安装DevStack时,所有文件都在/opt/stack下。在那里我有服务文件夹(glance、keystone…)和库文件夹(PythonGleaseClient、PythonKeystoneClient)。 如果我修改这些文件,我如何在已经部署的Openstack上复制修改?在没有devstack的情况下安装openstack会构建不同的文件夹结构 我的意思是,python-“服务”客户端文件夹在新的openstack

我通过DevStack安装了openstack,因为我必须修改一些文件。 安装DevStack时,所有文件都在/opt/stack下。在那里我有服务文件夹(glance、keystone…)和库文件夹(PythonGleaseClient、PythonKeystoneClient)。 如果我修改这些文件,我如何在已经部署的Openstack上复制修改?在没有devstack的情况下安装openstack会构建不同的文件夹结构

我的意思是,python-“服务”客户端文件夹在新的openstack安装中的什么位置


谢谢

devstack从github获取了openstack软件堆栈。它安装的git repot位于/opt/stack中

您可能想要做的是fork openstack以及您希望修改的openstack项目的repot,然后使您的devstack部署不是从openstack repot部署,而是从您自己的fork repot部署

您可以通过修改stack.sh脚本来实现这一点(我相信)。devstack.org在其网站上对整个脚本进行了逐行解释,可以为您指明正确的方向

读这个

一旦您使用自己的git存储库进行了部署,您当然可以编辑并提交回它。甚至推动它

然后,还可以将您拥有的任何其他devstack部署设置为从您的存储库中提取,而不是从公共openstack repos中提取

当然,随着openstack开发以相当快的速度进行,以后对openstack进行重新调整将变得越来越困难

如果您正在进行的修改是要提交回开源项目的,请查看此网站:

基本上,openstack有一个基于gerrit和jenkins的提交审查和持续集成环境。这是一种方法,通过这种方法,在合并之前,其他开发人员将对提交回开源存储库的内容进行门测试和手动审查


如果您打算将其部署用于生产,我建议不要从devstack部署。这不是正确的方法

问题是我应该在已经在使用的openstack安装中复制我的修改。我不想将它们提交给社区,因为它是针对我的特定需求的自定义版本。正如我前面讨论的,您可能希望从devstack提交回您自己的分叉存储库。然后使用打包系统部署到您的系统。您可以查看ubuntu或redhat的源代码包,了解您需要做些什么。但这是一个完全不同的讨论。你认为这也可以解决已经安装的系统吗?我希望我能做些简单的事。实际上,从源头上包装是件痛苦的事。例如,客户端需要访问其git存储库,以确定并设置其内部版本。如果没有它,它们将设置为0.0.0,并发生灾难性的爆炸。您可以通过放置自己的versioninfo文件来解决这个问题(大部分)。但也有其他的痛苦。目前你想做的事情很难。可能通过chef/puppet/config管理进行安装后补丁。或者通过后续软件包的补丁。嗯。。。也许我找到了办法。我看到,如果我将文件夹从DevStack复制到OpenStack并运行安装程序,修改后的文件会影响安装。我是说。。例如,我在“nova”中修改文件。我使用openstack将文件夹“nova”复制到机器中的某个地方,运行“python setup.py install”,并自动安装修改。我没有测试好它,但似乎工作