【问题标题】:replicate modification from Devstack to Openstack (production)将修改从 Devstack 复制到 Openstack(生产)
【发布时间】:2012-11-29 10:28:24
【问题描述】:

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

我的意思是,python-'service'client 文件夹在全新 openstack 安装中的位置?

谢谢

【问题讨论】:

    标签: python openstack


    【解决方案1】:

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

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

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

    http://devstack.org/stack.sh.html 阅读此内容。

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

    那么您拥有的任何其他 devstack 部署也可以设置为从您的存储库而不是公共 openstack 存储库中提取。

    当然,随着 openstack 开发以相当快的速度发展,以后针对 openstack 进行 rebase 将变得越来越困难。

    如果您所做的修改是您想要提交回开源项目的修改,请查看此站点:

    http://wiki.openstack.org/HowToContribute

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

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

    【讨论】:

    • 问题是我应该在一个已经在使用的 openstack 安装中复制我的修改。我不想将它们提交给社区,因为它是满足我特定需求的自定义版本。
    • 您可能希望从您的 devstack 提交回您自己的分叉存储库,正如我之前讨论的那样。然后使用打包系统部署到您的系统。您可以查看 ubuntu 或 redhat 的源代码包,以了解您需要做什么。但这是一个完全不同的讨论。
    • 您认为这也适用于已安装的系统吗?我希望我可以变得更简单..
    • 实际上从源头打包是一件很痛苦的事情。例如,客户端需要访问他们的 git 存储库来确定和设置他们的内部版本。没有它,它们设置为 0.0.0 并发生灾难性爆炸。您可以通过放置您自己的 versioninfo 文件来解决这个问题(主要是)。但也有其他的痛苦。目前你想做的事情非常困难。也许通过 chef/puppet/config 管理做一个安装后补丁。或者通过后续包提供补丁。
    • mm...也许我找到了办法。我看到如果我将一个文件夹从 DevStack 复制到 OpenStack 并运行安装程序,修改后的文件会影响安装。我的意思是..例如我修改“nova”中的文件。我使用 openstack 将文件夹“nova”复制到机器中的某个位置,运行“python setup.py install”,然后自动安装修改。我还没有很好地测试它,但似乎有效
    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多