跳转到: 导航, 搜索

Network/neutron-renaming

这是我们处理 Quantum -> Neutron 过渡的白板。

概要:从 Havana 版本开始,OpenStack Networking 项目的代码名称是 Neutron。Quantum 已不再使用。

Launchpad 项目

重命名项目 "quantum" 和 "python-quantumclient"

代码仓库

 Note below that I use "the server repo" or "the client repo" to refer to
 the "quantum/neutron" or "python-quantumclient/python-neutronclient"
 repos respectively in steps that can be performed either before or after
 the rename.
 These steps can be begun immediately:
 1) In the server repo, merge a change that duplicates entry-points and
    binary names, and reads configuration files from both
    locations/names.
    1b) After this change has merged, at any point, devstack can start
    using the alternates.
 2) Make a quantumclient branch in the client repo based on current
    master.  We'll use this later to upload the transition package.
 3) Merge a change to the master branch of the client repo that renames
    everything to neturonclient.
    Since this will no longer satisfy the python-quantumclient
    requirement in other projects in devstack-gate (such as nova), those
    tests will start pip installing it from pypi.  So this code will
    effectively be un-tested in devstack-gate at this point, but that's
    fine since nothing is using it.  It should pass its own unit tests
    of course.
 4) Tag the master branch of the client repo and (manually if needed)
    upload to pypi as python-neutronclient.
 5) Add python-neutronclient to openstack/requirements.
 At this point, client-consuming projects (you listed Nova, Horizon,
 Ceilometer and Heat) can start consuming python-neutronclient because it
 will be available in our mirror.  If either quantumclient or
 neutronclient is needed by a devstack-gate project, it will be installed
 via pip, as mentioned above.
 The repo rename operation (scheduled for July 6) can happen at any point
 during the previous steps, and itself consists of the following steps:
   A) Stop gerrit and rename quantum and python-quantumclient repos.
   B) Force push a change to devstack that renames quantum and
      python-quantumclient repos (just the repos, no commands or config
      file changes (those are covered by step 1b)).
   C) Force push a similar change to devstack-gate.
 The following steps must happen after the repo rename and after all
 projects have moved to using neutronclient:
 6) Merge a change to the quantumclient branch of python-neutronclient
 that requires and imports neutronclient and provides shims and import
 warnings.
 7) Tag and manually upload to pypi as python-quantumclient.
 8) Remove python-quantumclient from requirements.

python-quantumclient > python-neutronclient

  • 7 月 2 日:冻结 python-quantumclient,为客户端库重命名做准备。
  • 7 月 6 日:仓库重命名
  • 7 月 6 日之后:仓库再次开放更改。

quantum > neutron

  • 仓库已移动到 http://github.com/openstack/neutron.git
  • 顶级模块已移动到 neutron.* 模块。其他内部变量/类名更改为 s/quantum/neutron/。
  • 保持与 Grizzly 配置文件兼容。
  • 为了获得最佳结果,应更改引用类的值(例如 quantum.plugins.*)。

使用客户端的集成项目

  • 待定

如何重命名现有的补丁

(1) 获取 neutron 代码库。(您也可以使用 git remove add 命令)

   git clone https://github.com/openstack/neutron

(2) 获取补丁

   git review -d patch_id

(3) Rebase

   git rebase -i master
   # (Fix the conflicts)

(4) 将 quantum 重命名为 neutron

Note: make sure you use "git mv" when you rename files/directories
Note: there a few plugins were quantum_* is actually exchanged with the backend
TIPS: Flake8 is really helpful for this

(5) 确保 UT 运行 (6) 确保集成测试通过